(supermind量化策略)a1/rsi小于65、流通市值50-100亿、KDJ刚形成金

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

问财量化选股策略逻辑

选股逻辑为RSI小于65、流通市值50亿-100亿、KDJ指标刚形成金叉,主要考虑了技术面和流动性因素选股。

选股逻辑分析

该选股策略主要考虑了技术面指标RSI和KDJ指标,通过选取KDJ指标刚形成金叉的股票,并综合考虑技术面和流动性因素,选择表现良好的中等市值股票。

有何风险?

与上一个选股策略相同,该选股策略依然忽略了其他重要因素如基本面、行业前景等,存在选到后期行业前景不佳等风险。同时,该策略过于依赖KDJ指标,可能存在KDJ指标本身存在局限性的风险。

如何优化?

同上一个选股策略一样,针对上述风险,可以结合其他因素如基本面、行业前景等进行综合分析。同时,可以结合其他技术面指标如MACD指标进行综合评估,以提高选股精度。

最终的选股逻辑

选股逻辑为RSI小于65、流通市值50亿-100亿、KDJ指标刚形成金叉。综合考虑了技术面和流动性因素,同时需要结合基本面、行业前景等其他因素进行综合评估,选择表现良好的中等市值股票。

同花顺指标公式代码参考

  • KDJ指标公式:

    RSV=100*(Cn-Ln)/(Hn-Ln),K=SMA(RSV,M1,1),D=SMA(K,M2,1),J=3*K-2*D

    其中,Cn为当日收盘价,Ln为N天内的最低价,Hn为N天内的最高价,M1为K值的计算周期,M2为D值的计算周期,一般取9。SMA为简单移动平均。

python代码参考

# 计算KDJ指标函数
def calc_kdj(high, low, close, n=9, m1=3, m2=3):
    rsv = (close - low.rolling(n).min()) / (high.rolling(n).max() - low.rolling(n).min()) * 100
    k = rsv.ewm(com=m1-1).mean()
    d = k.ewm(com=m2-1).mean()
    j = 3*k - 2*d
    return k, d, j

# 选股函数
def stock_picking(data):
    # 计算RSI指标
    rsi = calc_rsi(data['close'], 14)
    # 计算KDJ指标
    k, d, j = calc_kdj(data['high'], data['low'], data['close'], 9, 3, 3)

    # 根据市值、RSI和KDJ选取股票
    cond1 = (data['negotiableMV'] >= 5e10) & (data['negotiableMV'] <= 1e11) 
    cond2 = (rsi < 65)
    cond3 = (k > d) & (k.shift() < d.shift())
    cond = cond1 & cond2 & cond3
    stock_list = []
    if sum(cond) >= 5:
        selected_data = data[cond]
        selected_data = selected_data.sort_values(by='pctChg', ascending=False)
        for i in range(5):
            stock_list.append(selected_data.index[i])
    return stock_list
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

    select_sentence = '市值小于100亿' #选股语句。

    模板如何使用?

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


    ## 如果有任何问题请添加 下方的二维码进群提问。
    ![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)
收益&风险
源码

评论