(supermind量化策略)a1/rsi小于65、七连阴、30日平均线向上

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

问财量化选股策略逻辑

选股逻辑为RSI指标小于65、七连阴、30日平均线向上。

选股逻辑分析

该选股逻辑同样是基于技术面,选取RSI指标小于65、七连阴,并结合30日平均线向上来寻找投资机会。30日均线向上反映了股票价格长期向好的趋势。该选股逻辑尽管较第一个分析增加了均线的参考,但仍较短期,因此仍然需要更加注重技术形态和价格走势,以最大程度地抓住市场的投资机会。

有何风险?

该选股逻辑同样较少关注股票的基本面因素,此外,过分注重技术面可能会忽略市场上隐含的风险和基本面因素,导致短期内的无法预料的利空消息等不利消息的出现会给投资产生很大的影响。

如何优化?

增加其他技术和基本面指标的参考,如MACD指标、RSI变化率、季度业绩变化、盈利增速等指标,从多个角度去筛选股票,并增加对股票基本面的考虑,以此更全面地判断股票的投资价值。为了更好的控制风险,需要掌握股票的基本面,了解其公司业务、财务状况等信息,并密切关注市场、行业政策变化,并在日常管理中适时关注市场风险,以保证股票投资的安全和收益。

最终的选股逻辑

选股逻辑为RSI指标小于65、七连阴、30日平均线向上,并结合多个基本面指标以保证投资价值和控制风险。

同花顺指标公式代码参考

  1. RSI指标公式:RSI(CLOSE, N),其中N代表RSI的计算天数,默认为14.
  2. 连续七日收盘价低于开盘价的通达信指标计算公式:COUNT(CLOSE<OPEN,7)=7
  3. 30日均线向上的通达信指标计算公式:MA(CLOSE,30)>REF(MA(CLOSE,30),1)
  4. 选股逻辑的综合指标:RSI小于65、连续七日收盘价低于开盘价且30日均线向上。

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指标
        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
        # 30日均线向上
        ma30 = ak.stock_zh_a_hist(stock_code, "30")
        if ma30 is None or ma30.iloc[-1]["close"] < ma30.iloc[-1]["ma30"] or \
                ma30.iloc[-2]["close"] > ma30.iloc[-2]["ma30"] or ma30.iloc[-3]["close"] > ma30.iloc[-3]["ma30"]:
            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:
            continue
        if stock_info["exchange"] != "SH":
            continue
        # 输出符合条件的股票代码、名称
        picked_stocks.append({"code": stock_code, "name": stock_list.loc[stock_code]["名称"]})
    for stock in picked_stocks:
        print(f"{stock['code']}、{stock['name']}")

该选股逻辑在提出选股逻辑基础上,加入了30日均线向上的判断条件,并继续考虑了股票的基本面因素。为保证筛选符合要求的股票,加入了选取主板股票的判断条件。其中的技术指标如RSI、MA(布林线)都可在akshare库中获取。可根据需要增加其他技术指标和基本面指标。

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

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

    模板如何使用?

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


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

评论