(supermind量化策略)a1/rsi小于65、七连阴、昨日9:15匹配价跌停

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

问财量化选股策略逻辑

选股逻辑为RSI指标小于65、七连阴、昨日9:15匹配价跌停,选取符合条件的股票。

选股逻辑分析

该选股逻辑基于技术指标和市场情况,选取RSI指标小于65、七连阴、昨日9:15匹配价跌停的股票。昨日9:15匹配价跌停可能反映出公司近期业绩不好或市场情绪疲软,有可能会给股价带来较大的压力。

有何风险?

该选股逻辑同样忽略了公司的基本面因素,可能错过一些表现不错但近期短时价格出现大幅波动的股票,同时昨日9:15匹配价跌停可能不是股票真实价值的正确反映,因此可能存在选股不准确的风险。

如何优化?

可以将基本面因素纳入选股逻辑中,如增加PEG或市盈率等因素的筛选条件。同时可以将昨日9:15匹配价跌停作为参考因素之一,并结合其他因素进行更全面的判断,以此提高选股准确性。

最终的选股逻辑

选股逻辑为RSI指标小于65、七连阴、昨日9:15匹配价跌停,市值在50-100亿之间的股票。

同花顺指标公式代码参考

  1. RSI指标公式:RSI(CLOSE, N),其中N代表RSI的计算天数,默认为14;
  2. 均线指标公式:MA(CLOSE, M) ,其中M为均线的计算天数,默认为5;
  3. MACD指标公式:DIF=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG),DEA=EMA(DIF,M),MACD=(DIF-DEA)*2,其中SHORT、LONG、M分别为MACD指标中的快线、慢线和周期,默认取值分别为12、26、9;
  4. KDJ指标公式:K= SMA(STOCHRSI(HIGH,LOW,CLOSE,9,3),3,1),D=SMA(K,3,1),J=3*K-2*D。

python代码参考

import akshare as ak

def pick_stocks():
    stock_list = ak.stock_zh_a_spot_em()
    picked_stocks = []
    for stock_code in stock_list.index:
        if "SH688" in stock_code or "SZ300" in stock_code:
            continue
        # 判断RSI小于65
        rsi = ak.stock_zh_index_daily_tx(stock_code, start_date="20210101")
        if rsi is None or len(rsi) < 14 or rsi.iloc[-1]["rsi14"] >= 65:
            continue
        # 判断七连阴
        history_quotes = ak.stock_zh_a_hist(stock_code, start_date="20210101")
        if history_quotes is None or len(history_quotes) < 7 or \
                sum(history_quotes[-7:]["close"] <= history_quotes[-7:]["open"]) != 7:
            continue
        # 判断昨日9:15匹配价是否跌停
        match_quotes = ak.stock_zh_a_match_detail(symbol=str(stock_code), trade_date=ak.date_last_day())
        if match_quotes is None or "成交价格" not in match_quotes.columns or \
                match_quotes.iloc[0]["成交价格"] > stock_list.loc[stock_code]["最新价"] or \
                match_quotes.iloc[0]["成交价格"] >= stock_list.loc[stock_code]["最新价"] * 0.9:
            continue
        #筛选出符合市值条件的股票
        stock_info = ak.stock_info_a_code(stock_code)
        if stock_info is None or stock_info["circulation_market_value"] is None or \
                stock_info["circulation_market_value"] < 5000000000 or \
                stock_info["circulation_market_value"] > 10000000000 or \
                stock_info["circulated_shares"] is None or \
                stock_info["exchange"] != "SH":
            continue
        # 输出符合条件的股票代码、名称、RSI、连阴天数、昨日9:15匹配价是否跌停
        picked_stocks.append({"code": stock_code, "name": stock_list.loc[stock_code]["名称"],
                              "rsi14": rsi.iloc[-1]["rsi14"], "连阴天数": 7,
                              "是否昨日9:15匹配价跌停": True})
    for stock in picked_stocks:
        print(f"{stock['code']}、{stock['name']}、RSI14: {stock['rsi14']:.2f}、连阴天数: {stock['连阴天数']}、昨日9:15匹配价是否跌停: {stock['是否昨日9:15匹配价跌停']}")

该选股逻辑在提出选股逻辑基础上增加了股票市值和昨日9:15匹配价跌停的筛选条件,通过新增筛选条件可以更精准地选取符合自己需求的股票。同时,后续还可以根据市场情况和个人需求进行调整和优化。

    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论