振幅大于1、MACD零轴以上,并且周线MA5金叉MA10问财

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

选股逻辑

选取振幅大于1、MACD零轴以上,并且周线MA5金叉MA10的股票。

选股逻辑分析

选取具有一定波动性的股票,且MACD指标表现良好,同时结合长线趋势的判断,确保股票选取具有良好的上涨趋势。

有何风险?

由于只考虑了周线趋势,忽略了日线和小时线等较短周期的波动情况,选股的准确性可能会受到影响。

如何优化?

可以考虑加入更多技术指标和基本面数据,结合多重角度进行选股,确保选股结果的可靠性。

最终的选股逻辑

选取振幅大于1、MACD零轴以上,并且周线MA5上穿MA10的股票。

同花顺指标公式代码参考

  • 振幅:REF(ABS(HIGH-LOW)/REF(CLOSE,1)*100,0)>1
  • MACD零轴以上:CROSS(MACD(12,26,9),0)>0
  • MA5金叉MA10:CROSS(MA(CLOSE,5),MA(CLOSE,10))

python代码参考

import tushare as ts
import talib

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指标和MA指标
  df['MACD'], df['signal'], df['hist'] = talib.MACD(df['close'], fastperiod=12, slowperiod=26, signalperiod=9)
  ma5 = talib.MA(df['close'], timeperiod=5)
  ma10 = talib.MA(df['close'], timeperiod=10)

  # 筛选周线MA5金叉MA10的股票
  ma_cross = (ma5 > ma10) & (ma5.shift() < ma10.shift())
  codes = ma_cross.index[ma_cross].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小助手吧