问财量化:选取振幅大于1、MACD零轴以上、反包

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

选股逻辑

选取振幅大于1、MACD零轴以上、反包的股票进行操作。

选股逻辑分析

振幅大于1代表较大的波动性;MACD零轴以上代表有较好的买入信号;反包是技术面的反弹形态,代表股价可能会有较大的上涨空间。

有何风险?

反包数据仅代表历史上的一段股票走势,不能代表未来。同时有可能是短期反弹,有着一定的投机性质。

如何优化?

可以结合其他技术指标,如RSI等,来综合考虑,同时对于反包形态进行更深入的判断,综合基本面评估风险和收益。

最终的选股逻辑

选取振幅大于1、MACD零轴以上、反包技术形态的股票进行操作。

同花顺指标公式代码参考

  • 振幅大于1:ABS((HIGH-LOW)/REF(CLOSE,1))/100>1
  • MACD零轴以上:CROSS(MACD(12,26,9),0)>0
  • 反包:C>=OFFSET(MIN(O,2),1)&&C>=OFFSET(MIN(O,2),2)&&C>LOW

python代码参考

import tushare as ts 
import pandas as pd 

def get_filter():
  # 获取股票列表
  stock_list = ts.get_stock_basics() 

  # 获取技术指标数据 
  tech_data = ts.get_k_data(stock_list.index.values.tolist()) 

  # 判断反包形态
  tech_data['min_o'] = tech_data['open'].rolling(window=2).min().shift(1)
  tech_data['max_o'] = tech_data['open'].rolling(window=2).max().shift(1)
  tech_data['reverse'] = (tech_data['close'] >= tech_data['min_o']) & (tech_data['close'] >= tech_data['max_o']) & (tech_data['close'] > tech_data['low']) 

  # 根据条件筛选股票
  tech_mask = (ABS((tech_data['high'] - tech_data['low']) / REF(tech_data['close'], 1)) / 100 > 1) & (CROSS(MACD(tech_data, 12, 26, 9), 0) > 0) & (tech_data['reverse']) 

  codes = tech_mask.index.values.tolist()

  return codes 

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论

需要帮助?

试试AI小助手吧