选取振幅大于1、MACD零轴以上、连续5年ROE>15%的股

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

选股逻辑

选取振幅大于1、MACD零轴以上、连续5年ROE>15%的股票进行操作。

选股逻辑分析

振幅大于1代表股票的波动性较大;MACD零轴以上代表有较好的买入信号;连续5年ROE>15%代表公司的盈利能力较强。通过以上三个逻辑综合筛选,可以精选出高估值股票。

有何风险?

该选股逻辑关注公司的盈利水平和技术指标,但忽略了股票的估值情况,因此存在股价已高估的风险。同时,ROE水平需要综合考虑其所处行业、企业特点及商业模式等因素。

如何优化?

可以在原有逻辑的基础上,增加选股时的估值分析,并结合行业、企业特点等因素,进行多维度的分析选股。同时,ROE水平也需要结合其他财务指标进行分析。

最终的选股逻辑

选取振幅大于1、MACD零轴以上、连续5年ROE>15%的股票进行操作,并综合考虑估值和行业、企业特点等因素。

同花顺指标公式代码参考

  • 振幅大于1:ABS((HIGH-LOW)/REF(CLOSE,1))/100>1
  • MACD零轴以上:CROSS(MACD(12,26,9),0)>0
  • 连续5年ROE>15%:ROE>=15 and COUNT(ROE>=15,5)==5

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

  # 获取财务数据
  financial_data = ts.get_profit_data(stock_list.index.values.tolist())

  # 判断是否符合逻辑
  mask = (ABS((tech_data['high'] - tech_data['low']) / REF(tech_data['close'], 1)) / 100 > 1) & (CROSS(MACD(tech_data, 12, 26, 9), 0) > 0) & (financial_data['roe'] >= 15) & (COUNT(IF(financial_data['roe'] >= 15, 1, 0), 5) == 5)

  codes = mask.index.values.tolist()

  return codes

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论

需要帮助?

试试AI小助手吧