问财量化选股策略逻辑
选股逻辑:振幅大于1,今日控盘>21,连续3天以上大单净量大于0.05。
选股逻辑分析
该选股策略综合考虑了技术面、基本面和市场情绪的指标。振幅大于1考虑了股票的波动性,今日控盘大于21反映了市场资金流入,大单净量则预示着股票资金流入的规模较大。连续3天以上大单净量大于0.05则表明该股资金短期内持续流入。该策略选取了多种指标,能综合考虑股票的各方面情况,对选出的股票具有一定的分析意义。
有何风险?
该选股策略可能面临以下风险:
- 过度依赖量比因素:选股策略中过于依赖大单净量指标,这可能会带来市场流动性受到影响的风险;
- 未考虑股票基本面:选股策略忽略了公司基本面的影响,也没有考虑到个股之间的相关性,缺少一定的系统性和理论性支撑,因此具有一定风险;
- 检验周期偏短:策略的检验周期需要考虑、验证的范围偏短,可能会带来过度拟合的风险。
如何优化?
为降低风险并提高策略精度,我们可以考虑以下优化措施:
- 考虑公司基本面的影响,嵌入更多基本面的数据以及事件数据,增加选股策略的全面性和鲁棒性;
- 不只是依赖单一指标选出股票,可以使用更多的指标或多组合的指标,形成更为完整和可信的选股模型;
- 增加策略检验周期,以便更准确的验证其有效性,防止过度拟合以及未考虑因素造成的估计误差或者不可靠性估计问题;
- 深入分析选股策略的不同条件和限制条件对策略表现的影响,使其更加全面和真实反映股市动态特点。
最终的选股逻辑
根据优化需求和风险控制的考虑,我们可以最终选择以下选股逻辑:
- 振幅大于1;
- 今日控盘大于21;
- 连续3天以上大单净量大于0.05;
- 选择符合条件的股票。
同花顺指标公式代码参考
以下是同花顺实现此策略的部分指标公式代码:
C1 = AMP() > 1;
C2 = ABS(CONTROLLING_SHARES_DAY_CHG()) > 21;
C3 = LAG(DDIV-MDIF, 2)> 0.05 AND LAG(MDIV, 1)<=LAG(MDIF, 1);
SELECTOR = C1 AND C2 AND C3;
RESULT = REF(SORT(RANK(SELECTOR), 1), 0) == 0;
python代码参考
以下是Python实现此策略的部分代码:
def select_stocks():
selected_stocks = []
for stock in get_all_stocks():
c1 = get_price(stock, end_date=datetime.now(), frequency='1d', fields='amplitude')[-1] > 0.01
c2 = abs(get_controlling_shareholders(stock, end_date=datetime.now(), frequency='1d')['controlling_shareholders_day_pct_change'][-1]) > 0.21
c3 = (get_money_flow(stock, start_date=datetime.now()-timedelta(days=4), end_date=datetime.now(), frequency='1d')['ddi_mdif'].iloc[-1] > 0.05 and
get_money_flow(stock, start_date=datetime.now()-timedelta(days=5), end_date=datetime.now()-timedelta(days=1), frequency='1d')['ddi_mdif'].iloc[-2] <=
get_money_flow(stock, start_date=datetime.now()-timedelta(days=5), end_date=datetime.now()-timedelta(days=1), frequency='1d')['mdi_mdif'].iloc[-2])
if c1 and c2 and c3:
selected_stocks.append(stock)
selected_stocks = sorted(selected_stocks, key=lambda x: get_price_change(x, 1, datetime.now(), frequency='1d'), reverse=True)
return selected_stocks[:5]
result = select_stocks()
print(result)
以上Python代码仅供参考,具体实现还需要根据自己的需求调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
