(supermind量化策略)a1/rsi小于65、七连阴、今日最大跌幅<-4且>-5

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

问财量化选股策略逻辑

选股逻辑为RSI指标小于65、连续七天阴线、当日最大跌幅大于-5%且小于-4%。选取符合条件的股票。

选股逻辑分析

该选股逻辑主要关注了技术指标和市场走势,在满足RSI小于65、连续七天阴线的条件基础上,贯彻了“买入跌停、卖出涨停”的理念,通过当日最大跌幅的限制,选取严格跌幅的股票。该选股逻辑较为严格,注重选取股价走势较大的股票。

有何风险?

该选股逻辑因注重当日股价走势,存在选股时机的风险。另外,该选股逻辑忽视了公司基本面的影响,可能忽略了一些优秀个股的涨势机会,存在选择股票不平衡的风险。

如何优化?

可以加入其他技术指标和基本面的分析,如市盈率、市净率、ROE等基本面指标以及资金流向、行业趋势等市场情况指标,综合考虑股票的投资价值。同时,在对市场整体走势的估计上,可以引入宏观经济分析、政策解读等因素,更全面综合地分析市场形势,得出更准确的选股策略。

最终的选股逻辑

选股逻辑为RSI指标小于65、连续七天阴线、当日最大跌幅大于-5%且小于-4%、市值在50-200亿元之间。同时,加入市盈率、市净率、ROE等基本面指标等因素,根据实际市场情况灵活调整选股策略。

同花顺指标公式代码参考

  1. RSI指标公式:RSI(CLOSE, N),其中N代表RSI的计算天数,默认为14;
  2. 成交额公式:AMOUNT,即当日成交额;
  3. 涨跌幅指标公式:PCT_CHG,即当日的涨跌幅;
  4. 当日最大跌幅公式:MIN(LOW, REF(CLOSE, 1))-REF(CLOSE, 1);
  5. 七连阴公式参考代码为:
    COUNT(CLOSE<=REF(CLOSE,1),7)>=7

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
        # 判断当日最大跌幅小于-4%且大于-5%
        today_quotes = ak.stock_zh_a_daily(stock_code)
        if today_quotes is None or \
                today_quotes.iloc[-1]["low"] >= today_quotes.iloc[-1]["close"] or \
                (today_quotes.iloc[-1]["low"] - today_quotes.iloc[-1]["close"]) \
                / today_quotes.iloc[-1]["close"] > -0.04 or \
                (today_quotes.iloc[-1]["low"] - today_quotes.iloc[-1]["close"]) \
                / today_quotes.iloc[-1]["close"] < -0.05:
            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、七连阴天数、当日最大跌幅
        picked_stocks.append({"code": stock_code, "name": stock_list.loc[stock_code]["名称"],
                              "RSI14": rsi.iloc[-1]["rsi14"], "七连阴天数": 7,
                              "当日最大跌幅": (today_quotes.iloc[-1]["low"] - today_quotes.iloc[-1]["close"]) 
                                                / today_quotes.iloc[-1]["close"]})
    for stock in picked_stocks:
        print(f"{stock['code']}、{stock['name']}、RSI14: {stock['RSI14']:.2f}、七连阴天数: {stock['七连阴天数']}、当日最大跌幅: {stock['当日最大跌幅']:.2%}")

该选股逻辑通过技术指标的分析和市场走势的考虑,选取股价波动较大的个股。通过加入基本面指标和市场情况的综合分析,可以更好地选取具有潜在投资价值的股票。不断在实践中总结经验,优化调整选股逻辑。

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

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

    模板如何使用?

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


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

评论