选取振幅大于1、MACD零轴以上、机器人概念且流通市值小于1

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

选股逻辑

选取振幅大于1、MACD零轴以上、机器人概念且流通市值小于100亿元的股票进行操作。

选股逻辑分析

振幅大于1代表较大的波动性;MACD零轴以上代表有较好的买入信号;机器人概念是为了跟随当前热点;流通市值小于100亿元是为了选取较小的股票,有更大的上涨空间。

有何风险?

机器人概念可能是短期热点,选择过于追涨,有着一定程度的投机性质;同时较小流通市值的股票风险较大,可能会存在财务等方面的问题。

如何优化?

可以结合研究机器人行业的发展前景以及相关公司的基本面等进行筛选,同时对于较小流通市值的股票进行更深入的调研分析,更全面地评估风险和收益。

最终的选股逻辑

选取振幅大于1、MACD零轴以上、机器人概念且流通市值小于100亿元的股票进行操作。

同花顺指标公式代码参考

  • 振幅大于1:ABS((HIGH-LOW)/REF(CLOSE,1))/100>1
  • MACD零轴以上:CROSS(MACD(12,26,9),0)>0
  • 机器人概念:S001686029
  • 流通市值小于100亿:CIRCAP<100

python代码参考

import tushare as ts 

def get_filter(): 
  # 获取股票列表 
  stock_list = ts.get_stock_basics()
  
  # 增加机器人概念列
  concept_list = ts.get_concept_classified().set_index('code')['c_name'].to_dict()
  stock_list['robot_concept'] = pd.Series(concept_list)
  
  # 获取流通市值
  circ_data = ts.get_stock_circulate(stock_list.index.values.tolist())
  stock_list['circulation'] = pd.Series(circ_data['CIRCAP'])

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

  # 根据条件筛选股票
  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) & (stock_list['robot_concept'].str.contains('机器人')) & (stock_list['circulation'] < 100)

  codes = tech_mask.index.values.tolist()
  
  return codes 

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论

需要帮助?

试试AI小助手吧