问财量化选股策略逻辑
选股逻辑:振幅大于1,北京A股除外,连续3天以上大单净量大于0.05。
选股逻辑分析
该选股策略结合了技术分析和资金流动分析,具体逻辑为:
- 排除北京A股,缩小股票范围;
- 振幅大于1的股票可能存在波动性较大的机会,被纳入选股池中;
- 大单流入是投资者关注的重点,连续3天以上大单净量大于0.05的股票被纳入选股池中。
有何风险?
该选股逻辑可能存在以下风险:
- 过度依赖技术分析,忽视了基本面的影响;
- 股票的大单净量变化会受到种种因素的影响,在选股前需要仔细筛选;
- 过分追求短期收益,忽视了长期投资的价值。
如何优化?
为了改善以上风险,可以从以下方面对选股逻辑进行优化:
- 在筛选股票时,加入基本面信息,综合考虑投资价值;
- 股票的大单净量变化需要考虑多种因素,如经济形势、行业趋势等,不要过于依赖单一指标;
- 着重考虑长期投资的价值,找到具有良好基本面和长期发展潜力的企业。
最终的选股逻辑
经过改进后的选股逻辑如下:
- 排除北京A股,非中国大陆等区域的股票;
- 振幅大于1的股票;
- 大单净量连续3天以上大于0.05;
- 找出具有长期投资价值的股票代码。
同花顺指标公式代码参考
由于该选股逻辑既包括技术分析又包括资金流向分析,因此同花顺指标公式代码如下:
// 连续3天大单净量大于0.05
IF
(
((MA(VOL, 5) / CAPITALA) - (MA(VOL, 20) / CAPITALA)) > 0.05
AND
((REF(MA(VOL, 5) / CAPITALA - MA(VOL, 20) / CAPITALA, 1) /
(MA(VOL, 5) / CAPITALA - MA(VOL, 20) / CAPITALA)) < 0)
AND
((REF(MA(VOL, 5) / CAPITALA - MA(VOL, 20) / CAPITALA, 2) /
(MA(VOL, 5) / CAPITALA - MA(VOL, 20) / CAPITALA)) < 0)
AND
((REF(MA(VOL, 5) / CAPITALA - MA(VOL, 20) / CAPITALA, 3) /
(MA(VOL, 5) / CAPITALA - MA(VOL, 20) / CAPITALA)) < 0)
AND
((REF(MA(VOL, 5) / CAPITALA - MA(VOL, 20) / CAPITALA, 4) /
(MA(VOL, 5) / CAPITALA - MA(VOL, 20) / CAPITALA)) < 0)
AND
((REF(MA(VOL, 5) / CAPITALA - MA(VOL, 20) / CAPITALA, 5) /
(MA(VOL, 5) / CAPITALA - MA(VOL, 20) / CAPITALA)) < 0)
, 1, 0)
python代码参考
选股逻辑的python代码如下:
def fund_flow_picker(context):
# 非北京A股和非中国大陆
exc_stocks = context.exc_stocks[(context.exc_stocks.board_main != '中国大陆')
& (context.exc_stocks.area != '北京')]
# 振幅大于1%
narrow_stocks = exc_stocks[(((exc_stocks.high / exc_stocks.low) - 1) > 0.01)]
# 连续3天以上大单净量大于0.05
ma_vol_5 = narrow_stocks.volume.rolling(window=5).mean()
ma_vol_20 = narrow_stocks.volume.rolling(window=20).mean()
capital = narrow_stocks.turnover / 100000000
condition1 = (((ma_vol_5 / capital) - (ma_vol_20 / capital)) > 0.05)
condition2 = ((ma_vol_5 / capital).diff().rolling(window=1).shift(-1) < 0)
condition3 = ((ma_vol_5 / capital).diff().rolling(window=2).shift(-2) < 0)
condition4 = ((ma_vol_5 / capital).diff().rolling(window=3).shift(-3) < 0)
condition5 = ((ma_vol_5 / capital).diff().rolling(window=4).shift(-4) < 0)
condition6 = ((ma_vol_5 / capital).diff().rolling(window=5).shift(-5) < 0)
condition = condition1 & condition2 & condition3 & condition4 & condition5 & condition6
# 找出具有长期投资价值的股票
#...
# 返回选中的股票代码
#...
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


