为什么指数涨你却亏钱?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能力比较强,可以在这个基础上进行二次开发。例如,你可以编写策略来寻找某个概念或行业近期处于底部的标的,从而做抄底操作;或者每天筛选出处于顶部的标的,实现风险预警。

相关推荐
架构技术专栏11 分钟前
为什么 AI 公司都想做Personal Agent ?
后端
张张123y15 分钟前
后端第十一课:RAG 落地实战(从 0 到 1 接上私有知识库,并设计一个好用的 RAG)
开发语言·人工智能·python·机器学习·fastapi·rag
golang学习记20 分钟前
Python vs Go:2026年到底该怎么选
java·vscode·python·golang·pycharm·goland
用户7610160884733 分钟前
黑马RabbitMQ 从入门到可靠性:收发、持久化、死信延迟一篇打通
后端
江厌0134 分钟前
移动工作站还是塔式?用三个数判断工位形态,再谈配置
python·移动工作站·塔式工作站·工作站选型·isv认证
Bazingga39 分钟前
Transformer与自注意力机制:一台"全员检索"机器的说明书
人工智能·后端
川石课堂软件测试39 分钟前
涨薪技术|0到1学会性能测试第8课-Analysis分析图
服务器·数据库·python·sql·jmeter·mysql·容器
学编程的小程43 分钟前
服务器日志太分散不好查?我用Promtail+Loki+Grafana把采集、查询和分析串起来了
服务器·python·grafana
星辰云-1 小时前
# 基于Spring Boot的德州特产扒鸡商城系统(毕设|源码|论文|演示视频)
spring boot·后端·课程设计
武子康1 小时前
同为7/8,错误样本却不同:Agent Grader 分歧复算
人工智能·后端·agent