振幅大于1、MACD零轴以上、周线红柱 问财量化策略

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

选股逻辑

选取振幅大于1、MACD零轴以上、周线红柱的股票进行操作。

选股逻辑分析

振幅大于1代表较大的波动性;MACD零轴以上代表有较好的买入信号;周线红柱代表股票当前处于上涨状态。

有何风险?

周线红柱并不能保证股票会一定保持上涨状态,也有可能是一时的反弹,需要较注意风险。

如何优化?

可以结合其他技术指标,如KDJ、RSI等,来综合判断,同时在选股过程中要更多地考虑股票的基本面,较深度地评估风险和收益。

最终的选股逻辑

选取振幅大于1、MACD零轴以上、周线红柱的股票进行操作。

同花顺指标公式代码参考

  • 振幅大于1:ABS((HIGH-LOW)/REF(CLOSE,1))/100>1
  • MACD零轴以上:CROSS(MACD(12,26,9),0)>0
  • 周线红柱:WEEKLY((CLOSE-REF(CLOSE,1))/REF(CLOSE,1)*100)>0 AND WEEKLY(MA5>MA10 AND MA10>MA20 AND MA20>MA30) AND WEEKLY(CLOSE>MA20)

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()) 

  # 判断周线是否红柱
  weekly_data = tech_data.groupby('code')['close'].resample('W').ohlc().reset_index()
  weekly_data['red_bar'] = (weekly_data['close'] - weekly_data['open']) / weekly_data['open'] > 0
  weekly_mask = (ABS((tech_data['high'] - tech_data['low']) / REF(tech_data['close'], 1)) / 100 > 1) & (CROSS(MACD(tech_data, 12, 26, 9), 0) > 0) & (week_mask['red_bar'] == True)

  codes = weekly_mask.index.values.tolist()

  return codes 

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论