选取振幅大于1、MACD零轴以上,并且今日最大跌幅在-4%至

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

选股逻辑

选取振幅大于1、MACD零轴以上,并且今日最大跌幅在-4%至-5%之间的股票。

选股逻辑分析

选取具有一定波动性的股票,并且在今日出现超跌的情况下做出反弹的可能性较高。

有何风险?

考虑到股票超跌的情况可能会导致大幅回撤,单一因素作为选股依据可能会出现选股不稳定的情况。

如何优化?

可结合其他因素,如市场整体情况和公司基本面等,增加选股稳定性。

最终的选股逻辑

选取振幅大于1、MACD零轴以上,并且今日最大跌幅在-4%至-5%之间的股票。

同花顺指标公式代码参考

  • 振幅:ABS((HIGH-LOW)/REF(CLOSE,1)*100)>1
  • MACD零轴以上:CROSS(MACD(12,26,9),0)>0
  • 今日最大跌幅:(LOW-MIN(OPEN, CLOSE))/OPEN > -0.05 AND (LOW-MIN(OPEN, CLOSE))/OPEN < -0.04

python代码参考

import tushare as ts

def get_filter():
  # 获取股票数据,并计算涨跌幅
  df = ts.get_today_all()
  df['change'] = (df['trade'] - df['settlement']) / df['settlement']

  # 计算振幅
  amplitude = abs(df['high'] - df['low']) / df['open']

  # 计算MACD指标
  df['MACD'], df['signal'], df['hist'] = talib.MACD(df['close'], fastperiod=12, slowperiod=26, signalperiod=9)

  # 筛选出今日最大跌幅在-4%至-5%之间的股票
  max_drop = (df['low'] - df[['open', 'close']].min(axis=1)) / df['open']
  mask = (max_drop > -0.05) & (max_drop < -0.04)
  codes = mask.index.values.tolist()

  # 综合筛选条件
  mask = (amplitude > 0.01) & (df['MACD'] > 0) & (df.index.isin(codes))
  codes = mask.index.values.tolist()

  return codes

如何进行量化策略实盘?

请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

模板如何使用?

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

如果有任何问题请添加 下方的二维码进群提问。

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论

需要帮助?

试试AI小助手吧