(supermind量化策略)a1/rsi小于65、流通市值50-100亿、按个股热度从大

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

问财量化选股策略逻辑

选股逻辑为RSI小于65、流通市值50亿-100亿、按个股热度从大到小排序名。该选股策略基于技术面因素和市场热度,选取估值合理、走势良好、市场热度高的股票。

选股逻辑分析

该选股策略在考虑技术面因素的同时,将市场热度因素也加入到选股逻辑中。选取RSI小于65、流通市值50亿-100亿、按个股热度从大到小排序的股票,既考虑了当前股票的价格走势表现,又考虑了市场热度和资金流向等因素,属于一种技术面和市场热度综合考虑的选股策略。

有何风险?

该选股策略在选取股票时,较为依赖市场热度因素,可能存在因为市场情绪变化而导致选中股票的热度下降,从而出现选错的情况。同时,因为按个股热度排序,可能会使得一些质量未必优秀的股票被选入。

如何优化?

可以加入更多关键指标,如ROE、利润增长率等,以加强对个股风险和质量的控制,减少市场情绪因素的影响。同时,可以对选股因素进行加权,同时考虑技术面和市场热度因素,避免单一因素过分影响选股。另外,可以结合选股因素和个股质量,进行更为科学精准的选股。

最终的选股逻辑

选股逻辑为RSI小于65、流通市值50亿-100亿、按个股热度从大到小排序的股票。

同花顺指标公式代码参考

RSI指标公式

LC:=REF(CLOSE, 1);
AA:=SMA(MAX(CLOSE-LC,0),N,1)/SMA(ABS(CLOSE-LC),N,1)*100;
RSI:EMA(AA,M);

市值、股票热度指标公式

NEGOTIABLEMV:CURR2*TOTSHROUT/1000;
STOCKHEAT:RANK(AMOUNT,I)/STDEV(AMOUNT,I);

python代码参考

# 计算RSI指标
def calc_rsi(close, n):
    lc = close.shift(1)
    aa = pd.Series(np.nan,index=close.index)
    aa[n-1:] = close.sub(lc).clip(lower=0).rolling(n).mean() / close.sub(lc).abs().rolling(n).mean() * 100
    rsi = aa.ewm(com=1.0/14, adjust=False).mean()
    return rsi

# 选股函数
def stock_picking(data):
    # 计算RSI指标
    rsi = calc_rsi(data['close'], 14)
    # 按个股热度排序
    data['stockHeat'] = data['amount'].rank(ascending=False) / data['amount'].rolling(60).std()
    # 根据市值、热度选取股票
    cond = (data['negotiableMV'] >= 5e10) & (data['negotiableMV'] <= 1e11) & (rsi < 65)
    stock_list = []
    if sum(cond) >= 5:
        selected_data = data[cond]
        selected_data = selected_data.sort_values(by='stockHeat', ascending=False)
        for i in range(5):
            stock = selected_data.index[i]
            if selected_data.loc[stock, 'changePct'] < 9.9:
                stock_list.append(stock)
    return stock_list
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论