问财量化选股策略逻辑
选股逻辑为:RSI指标小于65、三连阴信号、周线出现红柱。综合考虑技术面,选取近期技术面表现较弱但具有反弹趋势的个股。
选股逻辑分析
该选股策略仍然综合考虑了技术面,通过RSI指标和三连阴信号筛选出近期技术面表现较弱的股票,同时加入周线出现红柱信号,则突出了技术面短线反弹的特征。通过选取具有反弹趋势的个股,具有一定的投资价值。
有何风险?
该选股策略仍然可能忽略了其他市场情绪等因素对股票走势的影响,同时忽略了其他重要的技术指标如移动平均线等,可能存在漏选优质股票的风险。此外,周线红柱的选取条件也可能需要进一步优化,不一定适合所有类型的股票。
如何优化?
可以适当引入其他市场情绪指标、财务数据等进行综合筛选,并且结合其他技术指标如移动平均线等更全面地分析市场行情。同时可以优化选取条件,如选取其他指标表示股票短期反弹的信号来筛选符合条件的个股。此外,可以综合运用其他技术指标来选取具有投资价值的个股,降低漏选的可能性。
最终的选股逻辑
选股逻辑为:RSI指标小于65、三连阴信号、周线出现红柱。通过综合考虑技术面选取具有反弹趋势的个股。
同花顺指标公式代码参考
// 计算RSI指标
RSI(C, 14)
// 计算三连阴信号
C1 = (C<OPEN)
C2 = (REF(C,1)<REF(OPEN,1))
C3 = (REF(C,2)<REF(OPEN,2))
C_L = (C1 & C2 & C3)
// 计算周线红柱
WS_HH = HHV(HIGH,21)
WS_LL = LLV(LOW,21)
WS_EF = REF(CLOSE,1)
WS_GL = VALUEWHEN(CROSS(CLOSE,WS_HH),WS_LL)
WS_FX = VALUEWHEN(CROSS(WS_EF,WS_HH),WS_LL)
Z_HZ = IF(CROSS(WS_GL,WS_FX),1,IF(CROSS(WS_FX,WS_GL),2,0))
// 选取符合条件的股票
SELECT A.SECUCODE
FROM ASHOAREQU A
WHERE RSI(A.CLOSE, 14) < 65 AND C_L AND Z_HZ > 0 AND Z_HZ < 9999
Python代码参考
# 导入需要用到的库
import pandas as pd
import tushare as ts
import talib
# 选股函数
def stock_picking(data):
# 计算RSI指标
rsi = talib.RSI(data['close'], timeperiod=14)
# 计算三连阴信号
c1 = (data['close'] < data['open'])
c2 = (data['close'].shift(1) < data['open'].shift(1))
c3 = (data['close'].shift(2) < data['open'].shift(2))
c_l = (c1 & c2 & c3)
# 计算周线红柱
hh = data['high'].rolling(21).max()
ll = data['low'].rolling(21).min()
ef = data['close'].shift(1)
gl = pd.Series(index=data.index, dtype=float)
fx = pd.Series(index=data.index, dtype=float)
for i in range(21, len(data)):
ws_hh = hh.iloc[i-21:i]
ws_ll = ll.iloc[i-21:i]
ws_ef = ef.iloc[i]
ws_gl = ws_ll[ws_hh.idxmax()]
ws_fx = ws_gl
for j in range(ws_gl, i):
if ws_ef >= ws_hh[j]:
ws_fx = ws_ll[j]
break
gl.iloc[i] = ws_gl
fx.iloc[i] = ws_fx
z_hz = pd.Series(0, index=data.index)
z_hz[(gl < fx) & (gl.shift(1) > fx.shift(1))] = 1
z_hz[(gl > fx) & (gl.shift(1) < fx.shift(1))] = 2
# 筛选符合条件的股票
filter_cond = (rsi < 65) & (c_l) & (z_hz > 0) & (z_hz < 9999)
stock_list = data[filter_cond].index.tolist()
return stock_list
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


