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

相关推荐
WeiXiao_Hyy9 分钟前
成为 Top 1% 的工程师
java·开发语言·javascript·经验分享·后端
ZH154558913110 分钟前
Flutter for OpenHarmony Python学习助手实战:面向对象编程实战的实现
python·学习·flutter
玄同76510 分钟前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
User_芊芊君子15 分钟前
CANN010:PyASC Python编程接口—简化AI算子开发的Python框架
开发语言·人工智能·python
苏渡苇15 分钟前
优雅应对异常,从“try-catch堆砌”到“设计驱动”
java·后端·设计模式·学习方法·责任链模式
白日做梦Q26 分钟前
Anchor-free检测器全解析:CenterNet vs FCOS
python·深度学习·神经网络·目标检测·机器学习
long31627 分钟前
Aho-Corasick 模式搜索算法
java·数据结构·spring boot·后端·算法·排序算法
喵手40 分钟前
Python爬虫实战:公共自行车站点智能采集系统 - 从零构建生产级爬虫的完整实战(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集公共自行车站点·公共自行车站点智能采集系统·采集公共自行车站点导出csv
喵手1 小时前
Python爬虫实战:地图 POI + 行政区反查实战 - 商圈热力数据准备完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·地区poi·行政区反查·商圈热力数据采集
熊猫_豆豆1 小时前
YOLOP车道检测
人工智能·python·算法