问财量化选股策略逻辑
选股逻辑:振幅大于1,rsi小于65,dea上涨。
选股逻辑分析
该选股逻辑主要考虑了技术指标,振幅反映了股票价格的波动,rsi是一种相对强弱指标,可以发现超买超卖的情况,dea是MACD指标中的一部分,作为中长期趋势的指标。通过综合考虑技术指标中的多种影响因素,筛选出当前处于趋势上涨状态的股票。
有何风险?
该选股逻辑忽视了公司基本面因素的影响,可能会导致选股效果不稳定。同时,股票价格的变动受到多种因素影响,仅依靠技术指标进行选股并不能做到完全准确地确定趋势。
如何优化?
可以在此基础上,引入基本面因素进行筛选,如营收、净利润、股息率等方面。同时,应该对选股时的技术指标进行适当的调整,增加筛选条件的严格程度,避免由于牵扯太多影响因素产生的不稳定选股效果。
最终的选股逻辑
选股逻辑为:振幅大于1,rsi小于65,dea上涨,同时综合考虑公司的基本面因素。选取处于长期上涨状态、成长性强、估价合理的公司作为投资对象。
同花顺指标公式代码参考
振幅:(HIGH-LOW)/REF(CLOSE,1)*100
RSI:SMA(MAX(CLOSE-REF(CLOSE,1),0),N,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),N,1)*100
MACD指标中的dea:EMA(EMA(CLOSE, M1), M2)
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
# MACD指标
ema1 = ema(close, M1)
ema2 = ema(ema1, M2)
dea = ema(ema2, M3)
macd = 2*(ema1 - ema2)
# 判断dea是否上涨
is_dea_up = (dea.iloc[-1] - dea.iloc[-2]) > 0
# 选取符合条件的股票
selected_stocks = selector(amplitude > 1, rsi < 65, is_dea_up)
# 筛选出股票的相对强度并选取强度最强的前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亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。