为什么指数涨你却亏钱?80%的人忽略的市场宽度指标揭晓,我用Python实现了(附源码)

前几天看到群里有人分享了一个不错的指标,于是试着自己用Python实现了。今天分享给大家。

在股市中,我们常常会盯着指数涨跌,比如上证指数、创业板指数。但实际操作时,很多人会发现一个尴尬的情况:指数涨得挺好,但自己手里的股票却跌得稀里哗啦 😂。这就是因为指数往往由权重股主导,而 市场真实的赚钱效应 其实要靠 市场宽度(Market Breadth) 来观察。


什么是市场宽度?

市场宽度就是 上涨股票数量在市场总数量中的比例

  • 如果 80% 以上的股票都在上涨 → 行情火热,普涨阶段;
  • 如果不到 20% 的股票上涨 → 行情低迷,普跌阶段。

市场宽度趋势图 就是把这种赚钱效应可视化。 它能直观展示市场整体的强弱,还能结合阈值和极值点,帮助我们捕捉行情的 顶部反转底部反转


为什么普通宽度曲线"忽上忽下"?

如果只看 每天的涨跌家数,宽度曲线会非常「跳跃」:今天多股票涨 → 宽度高;明天多数下跌 → 宽度低。 这种噪音很大,不适合直接用来指导交易。

解决办法 → 趋势提炼

  1. 平滑处理 :对市场宽度做 5日或10日均线,去掉短期杂波。
  2. 极值点识别 :在平滑后的曲线上,找到「局部高点 / 局部低点」,标记为 顶部反转 / 底部反转

这样得到的趋势图,就像风向标一样,能更好地揭示市场节奏。


它能帮我们做什么?

  1. 识别顶部风险

    • 当宽度处在高位(>80%)并出现顶部反转 → 市场过热,适合减仓。
  2. 捕捉底部机会

    • 当宽度处在低位(<20%)并出现底部反转 → 市场极度悲观,往往孕育反弹。
  3. 避免被指数迷惑

    • 指数涨 ≠ 大多数股票赚钱。
    • 通过宽度,可以快速判断「是普涨还是结构性行情」。

实际操作思路

  • 低吸策略:当市场宽度 <20% 且出现底部反转 → 分批布局。
  • 止盈策略:当市场宽度 >80% 且出现顶部反转 → 减仓或调仓。
  • 辅助判断:结合指数趋势、成交量、情绪指标一起使用,信号更稳。

这里展示一下截止到2025年9月4日中午市场宽度指标,方便大家更好的理解。

全A市场宽度趋势图

申万一级行业房地产市场宽度趋势图

申万二级行业白色家电市场宽度趋势图

智能家居 概念 市场宽度趋势图


Python实现

行情获取使用的是xtquant+miniQMT,当然也可以改成你自己的行情数据源,代码每个功能以函数的形式来撰写,方便大家后期加入到自己的项目或者二次开发。

行情只需要提供包含"date", "code", "close", "preClose"字段的日线行情即可,我这里写的是读取pandas的feather格式当然你也可以很容易的改成读数据库或者读csv文件等。

关于获取xtquant行情数据部分的代码我统一放到了hq_data_download.py文件里,用的时候直接import hq_data_download as hq即可。

接下来主要讲下市场宽度.py这个主函数。

想获取全A市场、申万一级行业、二级行业或者概念的市场宽度直接运行市场宽度.py即可,下面是它的主函数。

python 复制代码
if __name__ == "__main__":
    init_data() # 初始化数据,下载并保存到本地 feather 文件夹
    plot_all() # 绘制全A的市场宽度趋势图
    plot_sw1('房地产')  # 示例:绘制房地产行业的市场宽度趋势图
    plot_sw2('白色家电')  # 示例:绘制白色家电行业的市场宽度趋势图
    plot_gainian('智能家居')  # 示例:绘制智能家居概念的市场宽度趋势图
  • init_data:会把行情数据和行业、概念数据下载到本地,收盘以后运行一次即可
  • plot_all:统计全A市场宽度并绘制趋势图
  • plot_sw1:绘制申万某个一级行业对应的市场宽度趋势图,对应的行业名称从init_data生成的沪深A股申万一级行业.csv获取
  • plot_sw2:绘制申万某个二级行业对应的市场宽度趋势图,对应的行业名称从init_data生成的沪深A股申万二级行业.csv获取
  • plot_gainian:绘制某个概念对应的市场宽度趋势图,对应的行业名称从init_data生成的沪深A股所属概念.csv获取

当然,如果你的Python能力比较强,可以在这个基础上进行二次开发。例如,你可以编写策略来寻找某个概念或行业近期处于底部的标的,从而做抄底操作;或者每天筛选出处于顶部的标的,实现风险预警。

相关推荐
王琦03182 小时前
Python 0909
前端·javascript·python
ss2732 小时前
基于Springboot + vue实现的高校大学生竞赛项目管理系统
vue.js·spring boot·后端
念念01072 小时前
Flask 博客系统(Flask Blog System)
后端·python·flask
tianyuanwo2 小时前
pyproject.toml 的历史背景和原理
python·pyproject·setup.py
托比-马奎尔2 小时前
初识SpringBoot
java·spring boot·后端
uzong3 小时前
互联网“黑话”生存实用指南(100)
后端
蒋星熠3 小时前
中间件架构设计与实践:构建高性能分布式系统的核心基石
开发语言·数据库·分布式·python·中间件·性能优化·硬件工程
IT_陈寒3 小时前
JavaScript 2024:10个颠覆你认知的ES新特性实战解析
前端·人工智能·后端