(supermind)振幅大于1、圆弧形、前天macd<0_

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

问财量化选股策略逻辑

选股逻辑为振幅大于1、圆弧形、前天MACD<0的股票。

选股逻辑分析

  1. 振幅大于1可以筛选出波动较大但有短期交易潜力的股票。
  2. 圆弧形可以筛选出波动较缓和的股票,降低交易风险。
  3. 前天MACD<0意味着市场情绪趋于低迷,并且股票可能会有一定的下跌压力。

有何风险?

  1. 过于依赖技术面指标,无法全面考虑股票的基本面因素。
  2. 前天MACD<0可能只是临时的技术面指标,不一定能够反映股票真实的情况。

如何优化?

  1. 结合基本分析与技术指标分析,综合考虑股票走势与前景。
  2. 考虑加入能够反映市场风险与情绪的指标,如市场波动率等。
  3. 适当增加时间序列的长度,减少一些短暂的技术面影响。

最终的选股逻辑

选股逻辑为振幅大于1、圆弧形、前天MACD<0的股票,并结合基本面分析与其他市场风险指标进行综合分析。

同花顺指标公式代码参考

MACD<0的指标公式:REF(MACD(12, 26) - MACD(9, 12), 2) < 0,其中MACD(12, 26)为12日、26日指数平均线之差,MACD(9, 12)为9日、12日指数平均线之差,REF为引用函数。

Python代码参考

import talib
# 获取振幅大于1
high = close = low = []  # 分别为列表类型,存储股票的最高价、收盘价和最低价
amplitude = 100 * (high - low) / close
picks_amplitude = [i for i in range(len(amplitude)) if amplitude[i] > 1]

# 获取圆弧形
arc_filter = talib.CDLMARUBOZU(open, high, low, close)

# 获取前天MACD<0
macd = talib.MACD(close, fastperiod=12, slowperiod=26, signalperiod=9)
picks_macd = []
for i in range(len(macd[0])):
    if i < 2:
        continue
    if macd[2][i-2] < 0:
        picks_macd.append(i)

# 取交集
picks = list(set(picks_amplitude).intersection(set(arc_filter)).intersection(set(picks_macd)))
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论