问财量化选股策略逻辑
选股逻辑:振幅大于1,K线小于20,KDJ刚形成金叉。
选股逻辑分析
该选股逻辑主要起到了技术指标筛选的作用,选择振幅大于1、K线小于20、以及KDJ刚形成金叉的标的。这个逻辑选择了振幅大、短期K线小、且近期出现明显的买入信号的标的,这些标的有可能涨幅较大,具有投机性质,并且这些股票面临着一定的风险。
有何风险?
该选股逻辑着重考虑了技术指标,忽略了基本面和市场情况对股票价格的影响。因此,选股结果可能会出现不准确的情况,特别是当市场情况发生变动或不确定时。而KDJ指标为中短期指标,仅从周期的角度来看不全面,忽略了长期趋势,有过程中可能会出现失真的情况。
如何优化?
可以通过加入基本面和市场情况的考量,进行综合分析,避免单一纬度的思维。此外,可以考虑增加其他技术指标作为辅助指标,如Bollinger Band等。
最终的选股逻辑
改进后的选股逻辑如下:
- 振幅大于1;
- K线小于20;
- KDJ出现金叉,并持续一定时间;
- 综合考虑业绩、基本面等情况。
- 添加其他限制条件,如Bollinger Band等。
同花顺指标公式代码参考
以下是在同花顺上实现该选股策略的指标公式代码:
C1: Amp() > 1;
C2: KDJ(9,3,3)-DIF < 20;
C3: REF(KDJ(9,3,3)-DIF,1) < REF(signal(REF(KDJ(9,3,3)-DIF,1),3),1);
SELECTOR:=C1 AND C2 AND C3;
RESULT:=SELECTOR;
其中,Amp()代表股票的振幅,KDJ指标的参数可以根据需要进行调整。
Python代码参考
以下是Python实现该选股策略的选股逻辑:
# 计算指标
amp = (df['high'] - df['low']) / df['close']
kdj, kdj_signal = talib.STOCH(df['high'], df['low'], df['close'], fastk_period=9, slowk_period=3, slowd_period=3)
kdj_diff = kdj - kdj_signal
selector1 = amp > 1
selector2 = kdj_diff < 20
selector3 = kdj_diff.shift(1) < kdj_diff.shift(1).rolling(window=3).mean()
selected_stocks = selector1 & selector2 & selector3
# 综合选择
selected_stocks = pd.DataFrame({'code': code, 'selected': selected_stocks})
selected_stocks = selected_stocks[selected_stocks['selected']]
selected_stocks = selected_stocks.sort_values('pct_chg', ascending=False)
selected_stocks.drop('pct_chg', axis=1, inplace=True)
return selected_stocks['code'].tolist()
通过使用Python实现该选股逻辑,结合股票振幅、KDJ指标的金叉等条件进行选股。在实际运用过程中,可以根据实际情况和投资策略进行相应的优化和改进。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
