问财量化选股策略逻辑
选股逻辑:振幅大于1,反包,近25个交易日有单日涨幅大于等于百分之10。
选股逻辑分析
该选股逻辑综合运用了波动性和趋势性指标进行筛选。通过考虑振幅、反包和单日涨幅等因素,筛选出具有较大波动性、良好趋势性并且涨幅较大的股票,具有一定的逻辑合理性。
有何风险?
该选股策略虽然综合考虑了股票的波动性和趋势性等因素,但是选股策略可能会过度依赖历史走势,不能完全体现市场的变化,因此,在实际操作中需要注意风险控制。此外,该选股策略没有区分股票的交易品种、公司行业、市值等因素,在不同市场、行业或市值的股票上效果可能有所不同,需要根据具体情况进行优化。
如何优化?
可以考虑在选股策略上加入其他技术指标、基本面因素以及市场事件等,以筛选更加合适的股票。例如可以考虑加入均线、KD、市净率等其他代表性的指标,同时也可以关注金融、宏观事件或公司财务变化等资讯,以便进行更加全面的分析和判断。同时可以采用多重判断模型,从多个角度进行判断,以避免单指标所带来的不确定性。
最终的选股逻辑
在以上分析基础上,提出完善后的选股逻辑:
- 振幅大于1;
- 近25个交易日内至少有一天单日涨幅大于等于百分之10;
- 近3个交易日内出现反包形态。
同花顺指标公式代码参考
以下是该选股策略在通达信中的指标公式代码:
F01: (HIGH/LOW - 1) > 0.01; // 振幅大于1
F02: SUM(MAX((CLOSE / REF(CLOSE, 1) - 1), 0), 25) > 0.1; // 近25个交易日内至少有一天单日涨幅大于等于百分之10
F03: NOT(SIGN(CLOSE - REF(CLOSE, 1)) == SIGN(REF(CLOSE, 1) - REF(CLOSE, 2))); // 近3个交易日内出现反包形态。
FILTER: F01 AND F02 AND F03;
SELECT(IF(1, 1, 0), "选股"); // 输出选中的股票
python代码参考
以下是 Python 实现该策略的选股逻辑:
# 数据预处理部分
close = dv.get_ts('close', symbol=symbols)
high = dv.get_ts('high', symbol=symbols)
low = dv.get_ts('low', symbol=symbols)
df_pct_chg = close.pct_change()
df_pct_chg_abs = df_pct_chg.abs()
df_pct_chg_abs[df_pct_chg_abs.isna()] = 0
sum_pct_chg = df_pct_chg_abs.rolling(25).apply(lambda x: (x >= 0.1).sum() >= 1, raw=True)
ta_func_renko = Ta('CDLTRISTAR', 0, dv.get_ts('open', symbol=symbols), high, low, close)
rt_filter = (ta_func_renko == 100)
rt_filter = rt_filter.iloc[:, :-1].sum(axis=1) > 0
selected_stocks = ((amp & rt_filter) & sum_pct_chg & ta_filter).sort_values(ascending=False)
return selected_stocks.index.tolist()
通过振幅、反包和单日涨幅等因素来进行筛选,以筛选出高质量股票。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
