(supermind)振幅大于1、机器人概念且流通市值小于100亿、至少5根均线重合的股票

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

问财量化选股策略逻辑

选股逻辑:振幅大于1,机器人概念且流通市值小于100亿,至少5根均线重合的股票。

选股逻辑分析

该选股逻辑主要关注了技术面和基本面,其中振幅、机器人概念和流通市值是反映市场活力和公司发展前景的基本面指标,至少5根均线重合则是一个技术性指标。同时,该指标可以反映出股票的稳定性和趋势。

有何风险?

该选股逻辑虽然考虑到了技术面和基本面的指标,但它忽略了很多重要的指标如财务指标和市场趋势等,容易受到市场短期波动的影响而出现错误选股结果。

另外,基于重合均线信号的选股策略会导致某些股票被过多选中而过度集中风险,导致投资风险增大。

如何优化?

在选股时,可以对均线指标进行加权处理,例如设置不同均线的权重,对不同时间段的均线进行权重区分,以更准确地体现股票趋势。

另外,还可以将其他技术指标如MACD、KDJ等融入选股逻辑中,结合基本面数据进行选股,增加选股策略的稳健性和鲁棒性。

最终的选股逻辑

基于以上分析,我们提出改进后的选股逻辑:

  1. 振幅大于1;
  2. 机器人概念且流通市值小于100亿;
  3. 至少5根均线重合;
  4. MACD指标向上穿越;
  5. KDJ指标在20以下,并且K线向上交叉D线。

我们可以使用以下的方法进行判断:

  • 将各个指标的值按照一定比例进行加权,得到一个“综合评分”,以该评分对股票进行排序,选取排名靠前的股票进行跟踪和购买。

同花顺指标公式代码参考

以下是通达信指标的代码示例:

F01:HIGH / LOW - 1 > 0.01; // 振幅大于 1
F02:CONCEPT("机器人概念"); // 机器人概念
F03:CAPITALIZATION < 10000000000; // 流通市值小于 100 亿
F04:XUNHUAN("mav(5)", "mav(5)", "mav(5)", "mav(5)", "mav(5)"); // 均线重合
F05:MACD(DIF, DEA, 12, 26, 9) > MACD(DIF, DEA, 12, 26, 9).shift(1); // MACD指标向上穿越
F06:KDJ(9, 3, 3).K < 20 AND KDJ(9, 3, 3).K > KDJ(9, 3, 3).D AND KDJ(9, 3, 3).K >= KDJ(9, 3, 3).J; // KDJ指标

FILTER:F01 AND F02 AND F03 AND F04 AND F05 AND F06;
SYMBOL_SORT("热度", SORT_DESCEND);
SELECT IF(F07, 1, 0) AS GOTO;

python代码参考

以下是用 Python 代码实现该策略的选股逻辑:

def stock_filter(dv, symbol):
    high = dv.get_ts("high", symbol=symbol)
    low = dv.get_ts("low", symbol=symbol)
    concept_robot = dv.get_ts("concept", symbol=symbol).apply(lambda x: "机器人" in x)
    circulation_market_cap = dv.get_ts("circulation_market_cap", symbol=symbol)

    # 振幅大于1,机器人概念且流通市值小于100亿,至少5根均线重合
    selected_stocks = (
        (high / low - 1 > 0.01).any(axis=0) &
        concept_robot &
        (circulation_market_cap < 10000000000) &
        (dv.add_formula('mav5', 'MA(CLOSE, 5)').rolling(window=5).apply(lambda x: len(set(x)) >= 5)) &
        (dv.add_formula('macd_dif', 'MACD.DIF').shift(1) < dv.add_formula('macd_dea', 'MACD.DEA').shift(1)) & # MACD
        (dv.add_formula('kdj_k', 'KDJ.KDJ').shift(1) < 20) & # KDJ
        (dv.add_formula('kdj_k', 'KDJ.KDJ') > dv.add_formula('kdj_d', 'KDJ.KDJ').shift(1)) &
        (dv.add_formula('kdj_k', 'KDJ.KDJ') >= dv.add_formula('kdj_j', 'KDJ.KJ').shift(1))
    )

    # 按照热度排名进行排序
    selected_stocks = selected_stocks[selected_stocks].sort_values(by="heat_rank", ascending=False)

    return selected_stocks.index.tolist()

该示例代码使用了 Python 实现了该选股逻辑,将选股逻辑中的几个指标在 Pandas DataFrame 中计算并筛选,同时加入了MACD、KDJ等技术指标,以及均线重合等控制信号因子,结合基本面和技术面,以期获得更好的选股表现。

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

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

    模板如何使用?

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


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

评论