问财量化选股策略逻辑
选股逻辑:振幅大于1,反包,圆弧形。
选股逻辑分析
与之前的逻辑相比,该选股逻辑将反包与圆弧形结合,相对较难被热点股票所影响,具有一定筛选性。然而,该选股逻辑针对具体的形态类型进行限制,选出的股票选择面较窄,可能导致选股集中度较高。
有何风险?
即便增加了形态因素的筛选,该选股逻辑仍可能受到市场的影响,筛选出的涨幅可能不如市场平均涨幅。此外,基于形态类型进行选股,可能导致滞后性因素影响选股结果。最重要的是,形态因素的筛选极度依赖选股人员的主观判断,风险较高。
如何优化?
建议将形态因素作为辅助指标,在基本面和其他指标的支撑下,共同构建更加完整的选股逻辑。此外,应注意形态选择的合理性和客观性,减少主观判断误判。
最终的选股逻辑
基于以上分析,提出完善后的选股逻辑:
- 振幅大于1;
- 近3天内出现反包形态;
- 近5天内出现圆弧形态;
- 当前股票收益率大于0;
- 分析多家研究机构推荐度,分析行业趋势等基本面指标;
- 筛选出优质股票。
同花顺指标公式代码参考
以下是该选股策略的通达信指标公式代码:
F01: HIGH/LOW - 1 > 0.01; // 振幅大于1
F02: NOT(SIGN(CLOSE - REF(CLOSE, 1)) == SIGN(REF(CLOSE, 1) - REF(CLOSE, 2))); // 反包
F03: NOT(SIGN(MA(HIGH, 5) - REF(MA(HIGH, 5), 3)) == SIGN(REF(MA(HIGH, 5), 3) - REF(MA(HIGH, 5), 6))); // 圆弧
F04: CLOSE / REF(CLOSE, 1) > 1; // 当前收益率大于0
FILTER: F01 AND F02 AND F03 AND F04;
SELECT(IF(1, 1, 0), "选股"); // 输出文本信息:选股
python代码参考
以下是 Python 实现该策略的选股逻辑:
def stock_filter(dv, symbols):
# 获取数据,计算指标
high = dv.get_ts('high', symbol=symbols)
low = dv.get_ts('low', symbol=symbols)
close = dv.get_ts('close', symbol=symbols)
price_filter = (close.iloc[:, -1] > close.iloc[:, -2]) # 当前收益率大于0
amp = (high / low - 1 > 0.01)
ta_func_renko = Ta('CDLTRISTAR', 0, dv.get_ts('open'), high, low, close)
ta_func_round = Ta('CDLHARAMI', 0, dv.get_ts('open'), high, low, close)
reverse_pattern = ((ta_func_renko == 100).sum(axis=0) >= 1) & ((close.iloc[:, -1] > close.iloc[:, -2]) & (
ta_func_round == 100).sum(axis=0) >= 1)
selected_stocks = (amp & reverse_pattern & price_filter)
selected_stocks = selected_stocks.sort_values(by='pct_chg', ascending=False)
return selected_stocks.index.tolist()
将形态筛选作为重要的辅助条件,在结合其他指标的同时,该选股逻辑能够更好地筛选出市场涨幅优于平均水平的优质股票。要注意合理性和客观性的把握,减少主观判断误判的风险。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
