(supermind量化策略)a1/rsi小于65、七连阴、非ST(10点之前选股票)五部

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

问财量化选股策略逻辑

选股逻辑为RSI指标小于65、连续七天阴线、非ST、10点之前选股票、五部涨停战法。选取符合条件的股票。

选股逻辑分析

该选股逻辑综合运用技术指标和市场情况,选取RSI指标小于65、连续七天阴线、非ST、10点之前选股票、五部涨停战法为选股条件。这里的五部涨停战法是指当日股价连续涨停五板,并且前一天的成交量要大于当天成交量的二倍。这样的选股逻辑旨在寻找市场情绪的变化和热门行业/个股,具有抓住市场热点的特点。

有何风险?

该选股逻辑较为偏重于技术指标和市场预期,但忽略了公司基本面及其他市场情况,存在选股不准确的风险。

如何优化?

可以加入其他技术指标和市场情况,如行业趋势、基本面分析、市场结构分析、资金流向等。要根据不同市场情况和股票的特质,综合运用各种影响因素,以更加综合和全面的方式进行选股。

最终的选股逻辑

选股逻辑为RSI指标小于65、连续七天阴线、非ST、10点之前选股票、五部涨停战法、市值在50-200亿元之间。同时,可根据实际情况调整市场情况分析的因素,如行业趋势、基本面估值等。

同花顺指标公式代码参考

  1. RSI指标公式:RSI(CLOSE, N),其中N代表RSI的计算天数,默认为14;
  2. 非ST公式:ST,MARKETTYPE=0
  3. 成交量指标公式:VOL,即当日总成交量;
  4. 涨停板指标公式:C/REF(C,2)=1.00 (其中C表示当日收盘价,REF(C, 2)表示取两天前的收盘价,满足该式为涨停板)。
  5. 连续五个涨停板公式参考代码为:
    HHV(C,L)>=REF(HHV(C,L),1) AND C/REF(C,1)=1.00

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 ak.stock_board_concept(stock_code).values[0][0] == "st":
            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
        # 判断是否10点之前选股票
        if ak.tool_trade_date_sina(date="", symbol=stock_code, indicator="9") == "0":
            continue
        # 判断是否连续五个涨停板
        if not ak.stock_zh_a_hist_sina(stock_code, adjust="qfq").pipe(
                lambda x: x.set_index("日期")
            ).pipe(
                lambda x: x.query(f"涨跌幅==0 or 涨跌幅=='--'")[["收盘价"]]
            ).pipe(
                lambda x: len(x) >= 5 and (x.iloc[-1]["收盘价"] / x.iloc[-5]["收盘价"]) == 1.0
            ):
            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"] > 200000000000 or \
                stock_info["circulated_shares"] is None or \
                stock_info["exchange"] != "SH":
            continue
        # 输出符合条件的股票代码、名称、RSI、七连阴天数、是否非ST、是否连续五个涨停板
        picked_stocks.append({"code": stock_code, "name": stock_list.loc[stock_code]["名称"],
                              "RSI14": rsi.iloc[-1]["rsi14"], "七连阴天数": 7,
                              "是否非ST": True, "是否连续五个涨停板": True})
    for stock in picked_stocks:
        print(f"{stock['code']}、{stock['name']}、RSI14: {stock['RSI14']:.2f}、七连阴天数: {stock['七连阴天数']}、是否非ST: {stock['是否非ST']}、是否连续五个涨停板: {stock['是否连续五个涨停板']}")

该选股逻辑通过技术指标和市场情况的综合分析,选取具有较好投资价值的股票。可以不断在实践中根据市场情况和股票特征进行调整和优化。

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

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

    模板如何使用?

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


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

评论