(supermind量化策略)a1/rsi小于65、七连阴、kdj(k)增长值

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

问财量化选股策略逻辑

选股逻辑为RSI指标小于65、七连阴、KDJ(K)增长值。

选股逻辑分析

该选股逻辑基于技术面因素,选取RSI指标小于65、七连阴的股票,并对KDJ指标中的K值增长方向进行监测,确保股票的走势良好。KDJ指标对市场走势反应敏感,在选股方面有着一定作用。此外,选股逻辑还会根据个股的业绩、市值等指标进行适当的调整和挑选。

有何风险?

该选股逻辑只考虑技术面因素和部分基本面因素,没有充分的考虑到宏观经济形势、行业走势等因素,容易忽略潜在的风险因素,投资周期可能较短。此外,该选股逻辑对于KDJ指标中K值增长的监测可能太过于单一,存在被单一指标影响而放过其他好的投资机会的风险。

如何优化?

可以引入更多指标进行筛选,如MACD、BOLL、MA等技术面指标,考虑个股业绩、市值、财务指标等基本面因素,通过多方面的筛选、综合分析找到最佳的投资机会。此外,应该有足够的行业研究、宏观经济形势的分析,以增强选股的稳定性和可靠性。

最终的选股逻辑

选股逻辑为RSI指标小于65、七连阴、KDJ指标中K值增长值。

同花顺指标公式代码参考

  1. RSI指标公式:RSI(CLOSE, N),其中N代表RSI的计算天数,默认为14.
  2. KDJ指标公式:KDJ(9,3,3),其中9代表RSV的计算天数,默认为9,3代表K值和D值的平滑因子,默认为3。
  3. 收盘价、开盘价、成交量的通达信公式:CLOSE,OPEN,VOL。
  4. 涨跌幅的通达信公式:(CLOSE-REF(CLOSE, 1))/ REF(CLOSE, 1)。

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:
            continue
        if (history_quotes[-7:]["close"] <= history_quotes[-7:]["open"]).all():
            continue
        # KDJ指标中K值增长
        kdj = ak.stock_zh_index_daily_tx(stock_code, start_date="20210101", index_type="KDJ")
        if kdj is None or len(kdj) < 2 or kdj.iloc[-1]["k"] <= kdj.iloc[-2]["k"]:
            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']}")

这段改进后的代码在选股逻辑的基础上加入了KDJ指标中K值增长的检测,加强了选股时的灵活性和鲁棒性。在行业研究、宏观经济形势的综合分析方面,可以参考其它详尽数据源,从而确定更精准切实的股票投资方向。

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

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

    模板如何使用?

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


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

评论