问财量化选股策略逻辑
选股逻辑:振幅大于1,rsi小于65,kdj(k)增长值。
选股逻辑分析
该选股逻辑主要选取了股价波动较大、超买程度不高的个股。振幅和RSI用于评估股票的价格波动情况和超买程度,而KDJ用于评估股票的趋势和短期强弱。通过综合以上指标进行筛选,可以找到当前符合价格波动较大,但处于上涨趋势且并未超买的个股,具备一定的投资潜力。
有何风险?
该选股逻辑的风险是可能忽略了公司的基本面和业绩情况,因此会漏掉一些潜在的优质股票。同时,该选股策略对行情变化过于敏感,波动性较大,可能承担较大的风险。
如何优化?
可以加入更多的指标来综合考量基本面,如市值、市盈率、净利润增长率等;同时,可以设置更适当的KDJ参数,以减少对行情的过度敏感,避免过多虚假信号的产生。此外,可以加入筛选条件,如行业特征等来辅助选股。
最终的选股逻辑
选股逻辑为:振幅大于1,rsi小于65,kdj(k)增长值,并结合基本面、行业特征等进行筛选。
同花顺指标公式代码参考
KDJ(K)增长值:KDJ_K > REF(KDJ_K, 1) AND REF(KDJ_K, 1) > REF(KDJ_K, 2)
Python代码参考
# 振幅
amplitude = (high - low) / ref(close, 1) * 100
# RSI
up = max(close - ref(close, 1), 0)
down = abs(close - ref(close, 1))
rs = sma(up, N, 1) / sma(down, N, 1)
rsi = rs / (1 + rs) * 100
# KDJ(K)增长值
kdj_k_increase = kdj_k > ref(kdj_k, 1) & ref(kdj_k, 1) > ref(kdj_k, 2)
# 选取符合条件的股票
selected_stocks = selector(amplitude > 1, rsi < 65, kdj_k_increase)
# 筛选出股票的相对强度并选取强度最强的前20%
rps = (close - sma(close, N)) / sma(close, N)
top20 = int(len(context.selected_stocks) * 0.2)
sorted_stocks = sorted(selected_stocks, key=lambda s: rps.loc[s].iloc[-1], reverse=True)
selected_stocks = sorted_stocks[:top20]
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。