(supermind)振幅大于1、反包、macd零轴以上_

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

问财量化选股策略逻辑

选股逻辑:振幅大于1,反包,MACD零轴以上。

选股逻辑分析

该选股逻辑继续沿用了技术面指标的筛选方法,其中振幅大于1是过滤噪声的必要条件。反包策略可以较为准确地识别出股票的涨跌趋势,同时加入MACD指标后,可以更为确认股票具备较好的上涨潜力。

有何风险?

该选股逻辑仍然较为简单,没有充分考虑到基本面因素的影响,且筛选过程相对单一,容易导致误判和漏选较好的股票,需要充分考虑基本面因素和宏观环境等综合因素。

如何优化?

可以加入更多基本面指标,如财务数据、行业信息等综合考虑。在判断MACD指标时,可以通过加入其他技术指标进行协同判断,过滤掉短暂的反弹行情,以限定选股范围。

最终的选股逻辑

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

  1. 振幅大于1;
  2. 反包出现;
  3. MACD柱线在零轴以上。

同花顺指标公式代码参考

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

F01:HIGH / LOW - 1 > 0.01;  // 振幅大于1
F02:NOT(SIGN(CLOSE-REF(CLOSE, 1)) == SIGN(REF(CLOSE, 1) - REF(CLOSE, 2))); // 反包
F03:(EMA(CLOSE, 12)-EMA(CLOSE, 26))>EMA(REF((EMA(CLOSE, 12)-EMA(CLOSE,26)),1), 9); // MACD柱线在零轴以上

FILTER:F01 AND F02 AND F03;
SYMBOL_SORT("热度", SORT_DESCEND);
SELECT(IF(F04, 1, 0), "诊股"); // 输出文本信息:选股

python代码参考

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

def stock_filter(dv, symbol):
    # 获取股票数据
    high = dv.get_ts("high", symbol=symbol)
    low = dv.get_ts("low", symbol=symbol)
    close = dv.get_ts("close", symbol=symbol)
    # 计算反包指标
    close_shifted = close.shift(1)
    close_lagged = close.shift(-2)
    reverse_signal = (close > close_shifted) & (close_shifted < close_lagged)
    # 计算MACD指标
    dif, dea, macd = ta.MACD(close.astype(float).values, fastperiod=12, slowperiod=26, signalperiod=9)
    is_macd_above_zero = macd[-1] > 0
    # 选股
    selected_stocks = (high / low - 1 > 0.01) & reverse_signal & is_macd_above_zero
    selected_stocks = selected_stocks[selected_stocks].sort_values(by="heat_rank", ascending=False)
    return selected_stocks.index.tolist()

该示例代码使用了Python的技术指标库TA-Lib计算选股逻辑,并加入MACD指标进行筛选,需要基于大量的数据进行计算、筛选,以期获得更加准确的选股结果。

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

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

    模板如何使用?

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


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

评论