(iwencai量化策略)竞价涨幅>-2<5_、今日均线向上发散、rsi小于65

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

问财量化选股策略逻辑

选股逻辑:选取RSI小于65、今日均线向上发散、竞价涨幅大于-2且小于5的股票。

选股逻辑分析

该选股策略首先从技术指标方面出发,综合考虑股票的涨跌潜力和趋势。选取了RSI小于65、今日均线向上发散的技术指标。同时,通过筛选竞价涨幅大于-2且小于5的股票,对股票的近期趋势和波动性进行了考量。

有何风险?

该选股策略对于股票基本面因素不太关注,很难考虑公司业绩等因素的影响。同时,竞价涨跌幅波动较大,采用竞价涨幅进行选股存在较大风险。

如何优化?

可以加入基本面因素如市盈率、市净率等指标来补充选股条件。另外,可以考虑调整竞价涨跌幅的范围,结合其他技术指标如MACD、布林线等来进行综合判断,避免对竞价涨跌幅过于依赖。

最终的选股逻辑

选取RSI小于65、今日均线向上发散、竞价涨幅大于-2且小于5的股票。

同花顺指标公式代码参考

  • RSI: RSI(14)
  • 均线: MA(CLOSE, 5)
  • 竞价涨跌幅: (OPEN - PRECLOSE) / PRECLOSE * 100%, 其中OPEN为当日开盘价,PRECLOSE为前一日收盘价。

Python代码参考

import pandas as pd
import akshare as ak
import talib

def get_stock_list(rsi_threshold=65, ma_length=5, jb_increase_low=-2, jb_increase_high=5):
    stock_list = pd.DataFrame(columns=['股票代码', '名称', '收益'])
    stock_zh = ak.stock_info_a_code_name(indicator="沪深A股")
    for i in range(len(stock_zh)):
        symbol = stock_zh.iloc[i]['symbol']
        kline_day = ak.stock_zh_a_hist(symbol=symbol, adjust='qfq')
        if len(kline_day) < 8:
            continue
        rsi = talib.RSI(kline_day['close'], timeperiod=14)
        if rsi.iloc[-1] >= rsi_threshold:
            continue
        close_price = kline_day['close']
        close_ma = talib.MA(close_price, timeperiod=ma_length)
        if close_ma.iloc[-1] <= talib.REF(close_ma, timeperiod=1).iloc[-1]:
            continue
        jb_increase = (kline_day['open'] - kline_day['preclose']) / kline_day['preclose'] * 100
        if not (jb_increase_low < jb_increase.iloc[-1] < jb_increase_high):
            continue
        stock_list = stock_list.append({'股票代码': symbol, '名称': stock_zh.iloc[i]['name'], '收益': None}, ignore_index=True)
    return stock_list
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论