问财量化选股策略逻辑
选股逻辑:振幅大于1,底部抬高,(昨日换手率*(今日竞价成交量/昨日成交量))>0.5<2。
选股逻辑分析
该选股逻辑在前一个选股逻辑的基础上加入了涨跌幅指标,通过昨日的换手率和今日的竞价成交量对比计算出涨跌幅指标,筛选出涨跌幅比较合理的股票。此外,该选股逻辑依旧考虑了价格波动和历史价格走势,较为科学。
有何风险?
该选股策略仍然局限于技术面指标,且引入了涨跌幅指标,未考虑基本面数据和政策环境等因素,可能会导致在长期投资中获得较为有限的回报。
如何优化?
该选股策略可以进一步加入基本面数据和政策环境因素,如PE、PB、EPS、市场前景、行业动态等,在股票池的基础上排除由于基本面数据或政策因素等带来的风险,以获得更好的投资效果。
最终的选股逻辑
基于以上分析,我们可以综合考虑价格走势、涨跌幅和基本面因素的选股策略如下:
1、振幅大于1;
2、底部抬高;
3、(昨日换手率*(今日竞价成交量/昨日成交量))>0.5<2;
4、相应基本面数据符合要求。
同花顺指标公式代码参考
以下是在同花顺上实现该选股策略的指标公式代码:
C1: AMP()>1;
C2: BOTTOM(HIGH,C1)>BOTTOM(HIGH,C1+1);
C3: ((REF(VOL,C1)/VOL/C1)*VOL/REF(VOL,C1+1)) > 0.5 AND ((REF(VOL, C1)/VOL/C1)*VOL/REF(VOL, C1+1)) < 2;
SELECTOR:=C1 AND C2 AND C3;
RESULT:=SELECTOR;
Python代码参考
以下是Python实现该选股逻辑的部分代码:
# 计算涨跌幅
increase_ratio = sdf['open'].pct_change().rolling(window=C1).apply(lambda x: np.prod(1+x)-1, raw=False)
# 筛选振幅大于1,底部抬高,昨日换手率*(今日竞价成交量/昨日成交量)>0.5<2的个股
selected_stocks = (sdf['amp'] > 1) & \
(sdf['low'].rolling(window=C2).apply(lambda x: (np.argmax(x[-C2:]) == C2 - 1) and (np.argmax(x[:-C2]) < np.argmax(x[-C2:])), raw=False)) & \
(0.5 < (sdf['volume'].shift(1)/sdf['volume'].rolling(window=C2).mean()).rolling(window=C1).apply(lambda x:x[-1], raw=False)*(sdf['b1_v'] / sdf['volume'].shift(1))) & \
(基本面数据符合要求)
# 返回选中个股的代码
return selected_stocks['symbol'].tolist()
综合考虑价格走势、涨跌幅和基本面数据,我们可以使用Python编写较为完整且可行的选股策略,通过动态调整选股参数和指标,可以获得更好的选股效果。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
