问财量化选股策略逻辑
选股逻辑:振幅大于1,K线小于20,KDJ(K)增长值。
选股逻辑分析
该选股逻辑在基于技术指标的筛选基础上,引入了KDJ(K)指标的增长值。通过选取KDJ(K)增长值较大的股票,可以更好地捕捉股票价格上涨的趋势,从而提高选股的成功率。
有何风险?
该选股逻辑仍然基于历史数据和技术指标进行筛选,存在过度拟合和忽略市场基本面变化的风险。此外,KDJ指标本身的缺陷也可能导致选股结果不如预期。
如何优化?
可以将KDJ指标的增长值与其他技术指标和基本面数据进行综合考虑,形成更有价值的选股策略。同时,需要考虑到市场整体上涨或下跌的情况,避免将个股上涨趋势的短期波动与整个市场趋势混淆。
最终的选股逻辑
经过综合考虑,我们将选股逻辑调整为:
- 振幅大于1;
- K线小于20;
- KDJ(K)增长值大于0。
同花顺指标公式代码参考
以下是在通达信上实现该选股策略的指标公式代码:
AMPLITUDE := (HIGH - LOW) / C;
KDJ_K := KDJ(C, 9, 3, 3);
KDJ_K_GROWTH := REF(KDJ_K, 1) - KDJ_K;
SELECTOR := C5 > 0.5 AND C < 20 AND KDJ_K_GROWTH > 0 AND AMPLITUDE > 1;
RESULT := SELECTOR;
Python代码参考
以下是 Python 实现该策略的选股逻辑:
# 计算振幅
amplitude = (high - low) / close.shift(1)
# 计算KDJ_K增长值
kdj = talib.STOCH(high, low, close, fastk_period=9, slowk_period=3, slowd_period=3)
kdj_k_growth = kdj['slowk'].diff()
# 筛选选股
selected_stocks = pd.DataFrame({
'amplitude': amplitude,
'kdj_k_growth': kdj_k_growth
}).query('amplitude > 1 & C < 20 & kdj_k_growth > 0')
return selected_stocks['code'].tolist()
通过 Python 实现该策略的选股逻辑,可以更加灵活地调整和优化策略,同时也更便于分析和复现选股结果。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
