问财量化选股策略逻辑
选股逻辑:振幅大于1,近25个交易日有单日涨幅大于等于百分之10,涨跌幅×超大单净量。
选股逻辑分析
该选股策略综合考虑了股票的波动性、趋势、成交量等多个因素。其中,振幅大于1可以筛选出有较强波动性的股票;近25个交易日有单日涨幅大于等于百分之10可以筛选出有一定上涨趋势的股票;涨跌幅×超大单净量可以筛选出成交量较大、市场多方占优势的股票。以上综合考虑可以筛选出具有较好上涨空间和趋势性的股票。
有何风险?
该选股逻辑存在以下风险:
- 其中选股逻辑过于注重量化指标的筛选,过度忽略其他重要信息,容易导致错误的投资决策。
- 涨跌幅×超大单净量指标的波动较大,容易受到异常大单的影响,存在短期突发情况下投资决策失误的风险。
如何优化?
为了提高该选股逻辑的效率和筛选能力,我们建议以下考虑:
- 增加基本面、估值等因素进行选股,避免过度依赖技术指标,更有效地筛选出具备潜在价值的个股。
- 通过设置过滤条件来降低指标的波动性对选股策略的影响。
- 增加其他市场因素(如行业、政策等)进行考虑,避免单一因素导致的投资风险。
- 结合其他技术分析指标,如MACD、RSI等进行选股,从多个角度进行筛选。
最终的选股逻辑
综合以上考虑,我们建议选股逻辑如下:
- 振幅大于1。
- 近25个交易日内有单日涨幅大于等于百分之10。
- 成交量大于5日均量,并且当日总成交量大于30日均量。
- 涨跌幅×超大单净量处于历史较高位(例如前5%)的个股。
- 考虑基本面、估值等因素。
- 结合其他技术指标进行选股,例如MACD、RSI等。
同花顺指标公式代码参考
C1 = IF(HIGH-LOW > ATR(CLOSE,20), 1, 0);
C2 = IF(ABS((CLOSE-REF(CLOSE, 1))/REF(CLOSE,1)) > 0.1, 1, 0);
C3 = IF(VOL>5*MA(VOL,5) AND VOL>MA(VOL,30), 1, 0);
C4 = IF((CLOSE-REF(CLOSE,1))/REF(CLOSE,1) * VOL/MA(VOL,30) >= PERCENTILE((CLOSE-REF(CLOSE,1))/REF(CLOSE,1) * VOL/MA(VOL,30), 95), 1, 0);
C5 = // 考虑基本面、估值等因素的指标公式
C6 = // 结合其他技术指标的指标公式
SELECTOR=C1*C2*C3*C4*C5*C6;
RESULT= SORT_RANK(SELECTOR, ASCEND(SEARCH_RANK()));
python代码参考
df = pd.read_csv('your_data.csv', index_col='date')
C1 = np.where(df['high'] - df['low'] > ta.atr(), 1, 0)
C2 = np.where(abs((df['close'] - df['close'].shift(1)) / df['close'].shift(1)) > 0.1, 1, 0)
C3 = np.where((df['volume'] > 5 * ta.sma(df['volume'], 5)) & (df['volume'] > ta.sma(df['volume'], 30)), 1, 0)
C4 = np.where((df['close'] - df['close'].shift(1)) / df['close'].shift(1) * df['volume'] / ta.sma(df['volume'], 30) >= np.percentile((df['close'] - df['close'].shift(1)) / df['close'].shift(1) * df['volume'] / ta.sma(df['volume'], 30), 95), 1, 0)
C5 = // 考虑基本面、估值等因素的Python代码
C6 = // 结合其他技术指标的Python代码
selector = C1 * C2 * C3 * C4 * C5 * C6
result = np.argsort(np.argsort(selector))
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
