(supermind)振幅大于1、机器人概念且流通市值小于100亿、圆弧形_

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

问财量化选股策略逻辑

选股逻辑:振幅大于1,机器人概念且流通市值小于100亿,圆弧形。

选股逻辑分析

该选股策略在基本面因素的振幅、机器人概念、流通市值的基础上,加入了技术面因素的「圆弧形」。选择这个技术形态,有可能已经发生多次反弹,并且可能暂时避免了大幅下跌的风险,从而可以被视为一个买入时机。

有何风险?

选股策略中的技术面因素容易受到市场短期消息和操纵的影响,而不一定能够反映公司的长远发展。此外,该策略可能忽略了交易量和股价的趋势变化,而导致选股结果缺乏信服性。

如何优化?

首先,可以考虑增加相关基本面指标的筛选条件,以减弱技术面指标对选股结果的影响。其次,可以引入其它技术指标,例如KDJ指标、MACD指标等,以提高选股精度。最后,可以考虑加入股票在行业、大盘中的表现等因素,以充分考虑股票的相对强度。

最终的选股逻辑

综合以上分析,我们提出一种改进的选股逻辑:

  1. 振幅大于1;
  2. 机器人概念且流通市值小于100亿;
  3. 上一个交易日收盘价出现圆弧形。

同花顺指标公式代码参考

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

F01:HIGH / LOW - 1 > 0.01; // 振幅大于1
F02:CONCEPT("机器人概念"); // 机器人概念
F03:CAPITALIZATION < 10000000000; // 流通市值小于100亿
F04:CIRCULAR_ARC(CLOSE, 1) > 0; // 上一个交易日收盘价出现圆弧形

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

python代码参考

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

import talib

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)
    close = dv.get_ts('close', symbol=symbol)

    # 计算标志:振幅大于1、流通市值小于100亿、上一个交易日收盘价出现圆弧形
    selected_stocks = (
        (high / low - 1 > 0.01).any(axis=0) &
        concept_robot &
        (circulation_market_cap < 10000000000) &
        (talib.CDLMEDIUMRIVERA(close.shift(1)) > 0) # CDLMEDIUMRIVERA表示圆弧形,shift(1)表示上个交易日的收盘价
    )

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

    return selected_stocks.index.tolist()

该代码示例使用 Python 实现了该选股逻辑,综合考虑了振幅、机器人概念、流通市值以及圆弧形形态等因素,并使用了TALib工具包中的CDLMEDIUMRIVERA函数。

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

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

    模板如何使用?

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


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

评论