(supermind量化)artical/振幅大于1#rsi小于65#30日平均线向上

用户头像神盾局量子研究部
2023-08-18 发布

问财量化选股策略逻辑

选股逻辑:振幅大于1,rsi小于65,30日平均线向上。

选股逻辑分析

该选股逻辑不仅选取了股价波动较大、超买程度不高的个股,同时通过30日平均线向上的条件来筛选出处于短期和中期均处于上涨趋势的股票,以减少风险。同时,这个策略依然考虑到了超买程度,通过rsi过滤掉超买的个股。

有何风险?

该选股策略的风险在于振幅大于1无法保证个股的长期投资价值,同时短期上涨趋势容易受到市场情绪等因素影响,具有不稳定性。

如何优化?

可使用更全面、更精确的技术指标来筛选个股,如MACD、KDJ等,并结合基本面分析来排除潜在风险。同时,可以在选股策略中增加一些股票的基本信息,如公司行业、市盈率、市净率等。建议使用多维度分析策略,以提高选股的准确性。

最终的选股逻辑

选股逻辑为:振幅大于1,rsi小于65,30日平均线向上,并结合其它技术指标、基本面特征等进行筛选。

同花顺指标公式代码参考

振幅:(high-low)/ref(close,1)*100>1

RSI:rsi(N)<65

30日平均线:MA(C,N)>MA(C,N*2)

其中,MA表示移动平均线。

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

# 选取30日平均线向上的股票
ma1 = ma(close, N)
ma2 = ma(close, N*2)
selected_stocks = selector(amplitude > 1, rsi < 65, ma1 > ma2)

# 筛选出股票的相对强度并选取强度最强的前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亿' #选股语句。

模板如何使用?

点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。

如果有任何问题请添加 下方的二维码进群提问。

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论

需要帮助?

试试AI小助手吧