(supermind量化策略)a1/rsi小于65、七连阴、按今日竞价金额排序前5

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

问财量化选股策略逻辑

选股逻辑为RSI指标小于65、七连阴,并按照今日竞价金额排序,选取前5只股票。

选股逻辑分析

该选股逻辑以RSI指标小于65、七连阴为基础,再结合今日竞价金额进行排序,选取排名前5的股票。今日竞价金额最高的前5只股票意味着当日市场对该股票的关注度较高,有可能出现逆势反弹的机会。

有何风险?

该选股逻辑同样较少考虑股票的基本面,可能忽略了公司的业绩、财务状况等重要因素对股票的影响,有可能忽略市场上隐含的风险,如行业政策、不利因素等,导致短期内的利空消息等不利消息的出现会给投资产生很大的影响。此外,今日竞价金额受市场短期情绪影响较大,可能存在较大的波动性和不确定性。

如何优化?

除了考虑技术指标和市场关注度之外,可以加入股票基本面因素如PE、PB、市值等方面的考虑,以此更全面地判断股票的投资价值和风险,并根据自己的需求进行调整和优化,增加复合投资策略可能性。

最终的选股逻辑

选股逻辑为RSI指标小于65、七连阴,并按照今日竞价金额排序,选取前5只市值在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
        #筛选出今日竞价金额前五的股票
        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["circulated_shares"] * stock_list.loc[stock_code]["最新价"] < \
                stock_list["竞价金额"].nlargest(5).min() or \
                stock_info["exchange"] != "SH":
            continue
        # 输出符合条件的股票代码、名称、RSI、连阴天数、今日竞价金额是否进前5
        picked_stocks.append({"code": stock_code, "name": stock_list.loc[stock_code]["名称"],
                              "rsi14": rsi.iloc[-1]["rsi14"], "连阴天数": 7,
                              "是否今日竞价金额前五": True})
    for stock in picked_stocks:
        print(f"{stock['code']}、{stock['name']}、RSI14: {stock['rsi14']:.2f}、连阴天数: {stock['连阴天数']}、今日竞价金额是否前五: {stock['是否今日竞价金额前五']}")

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

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

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

    模板如何使用?

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


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

评论