选取振幅大于1、MACD零轴以上,并且连续3天以上大单净量大

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

选股逻辑

选取振幅大于1、MACD零轴以上,并且连续3天以上大单净量大于0.05的股票。

选股逻辑分析

振幅和MACD指标可以反映出股票的波动情况和走势,连续3天以上的大单净量大于0.05代表着市场上大量的资金正在关注着这些股票,预计未来的上涨空间较大。

有何风险?

连续3天以上大单净量大于0.05的数据可能存在选取错误的情况,同时这种逻辑也未考虑公司基本面等其他因素,存在一定的风险。

如何优化?

可以通过增加不同板块的数据进行筛选,或者通过爬取更多的资讯信息作为筛选条件,提高筛选的准确性和可靠性。

最终的选股逻辑

选取振幅大于1、MACD零轴以上,并且连续3天以上大单净量大于0.05的股票。

同花顺指标公式代码参考

  • 振幅:ABS((HIGH-LOW)/REF(CLOSE,1)*100)>1
  • MACD零轴以上:CROSS(MACD(12,26,9),0)>0
  • 连续3天以上大单净量大于0.05:BIGVOL(3)>0.05

python代码参考

import tushare as ts
import requests

def get_filter():
  # 获取股票数据
  df = ts.get_today_all()
  
  # 筛选出主板股票
  df = df[df['market'] == 'sh']
  
  # 计算振幅
  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)

  # 获取大单净量
  response = requests.get('http://example.com/api/big-volume')
  data = response.json()
  big_volume = pd.Series(data['volume'], index=data['date'], name='big_volume')

  # 计算连续3天以上大单净量的条件
  big_volume_threshold = 0.05
  big_volume_above_threshold = big_volume > big_volume_threshold
  continuous_days = big_volume_above_threshold.rolling(window=3, min_periods=3).sum() == 3

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

  return codes

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论

需要帮助?

试试AI小助手吧