(supermind量化)artical/振幅大于1#rsi小于65#周K线上穿30周线

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

问财量化选股策略逻辑

选股逻辑:振幅大于1,rsi小于65,周K线上穿30周线。

选股逻辑分析

该选股逻辑同样选取了股价波动较大、超买程度不高的个股,并通过周K线上穿30周线进行筛选。相比于涨幅等指标,这个指标更能反映出股票的长期趋势。同时,该逻辑同样考虑了超买程度,通过rsi过滤掉超买的个股,以减少风险。

有何风险?

该选股策略的风险是由于缺乏更加细致的分析,可能漏掉了一些好的个股或者选择了潜在的风险品种。另外,周线数据受到市场因素影响较大,所以筛选结果可能不稳定。

如何优化?

可以在筛选时加入更多的技术指标,如移动平均线、MACD等,利用行情走势来选择个股。同时,可以加入其它基本面指标如发布公告、业绩快报等判断股票表现。建议使用多维度分析策略,以提高选股的准确性。

最终的选股逻辑

选股逻辑为:振幅大于1,rsi小于65,周K线上穿30周线,并结合行情走势、基本面特征等进行筛选。

同花顺指标公式代码参考

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

RSI:rsi(N)<65

周K线上穿30周线,用KDJ指标中的K值和D值来运算(N表示周线数):

K值计算方法:smoothing[(close-Nlow)/(Nhigh-Nlow)*100, X],X为平滑系数。

D值计算方法:smoothing[K,X],X为平滑系数。

K线穿上30周线:crossup(K,D,SMA(30),2)

其中,crossup是指当前周期K线穿上了30周均线,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

# K值计算方法
k = smoothing((close-minl(N))/((maxh(N)-minl(N))*100), X)

# D值计算方法
d = smoothing(k, X)

# 选取K线上穿30周线的股票
selected_stocks = selector(amplitude > 1, rsi < 65, crossup(k, d, sma(close, 30), 2))

# 筛选出股票的相对强度并选取强度最强的前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小助手吧