问财量化选股策略逻辑
该选股策略包含三个条件:
- 振幅大于1;
- 日线MACD大于0;
- KDJ指标中K线的增长值。
选股逻辑分析
该选股策略同样侧重技术指标分析,振幅的大于1表示股票价格波动大,MACD大于0表示股票价格处于上涨趋势,KDJ中K线的增长值则表示股票相对于短期截至前一日的价格处于上涨趋势。这个选股逻辑考虑相对时间的可比性,且强调的是涨势,KDJ指标中除了K线外也可以引入其他线的变化因素,如D线的斜率等。综合考虑,符合这些条件的股票在短期内可能存在投资机会。
有何风险?
该选股策略可能存在以下风险:
- 仅关注了股价涨势但未考虑基本面因素;
- KDJ指标主要用于短期股价趋势判断,可能忽视了中长期趋势的影响;
- 对KDJ指标的其他变量的影响可能存在局限。
如何优化?
为提高该选股策略的精度和准确性,建议优化方向为:
- 引入更多的技术指标,如其他KDJ指标变量(例如D线的斜率)等;
- 引入基本面因素进行综合分析,如财务指标、行业背景、管理层的业绩等;
- 对不同时间跨度(如日线、周线)的KDJ指标增长值进行比较;
- 建立多因素综合模型进行选股。
最终的选股逻辑
综合以上分析,建议完善后的选股策略为:
- 振幅大于行业平均值,且大于1.2倍以上;
- 日线MACD大于0,综合考虑其他技术指标;
- KDJ指标增长值,综合考虑其他KDJ指标变量,如D线的斜率、J线的变化等;
- 引入基本面因素进行综合分析;
- 综合考虑多种指标进行选股。
同花顺指标公式代码参考
// 通达信指标公式
SYMBOL:ZS000001;
SELECT:TUAIZY,IF((TUAIZF > 1) AND (MACD()>0) AND (GOR(K9 - K9[1], 1) > 0),1,0),TUAIJC;
python代码参考
import talib
def get_stock_by_technical(ticker, start_date, end_date):
df_price = get_price(ticker, start_date=start_date, end_date=end_date, frequency='daily')
amplitude = (df_price['high'] - df_price['low']) / df_price['close'].rolling(30).mean()
macd, _, _ = talib.MACD(df_price['close'])
kdj_k, _, _ = talib.STOCH(df_price['high'], df_price['low'], df_price['close'])
kdj_k_growth = kdj_k.diff()
selection = (amplitude > df_price['amplitude'].mean() * 1.2) & (macd > 0) & (kdj_k_growth > 0)
return df_price[selection]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
