2026年3月,香港名义工资指数同比涨了 3.4%,但扣除通胀后的实质工资指数只涨了 1.7%。中间那 1.7 个百分点的差价,就是物价从你工资单里偷走的钱。

在这里插入图片描述

一、先说结论:加薪有一半被通胀吃掉了

我在香港做 FinTech,每年看工资单的时候都有一种割裂感——数字明明涨了,可月底一算账,好像更紧巴了。今年这种感受尤其强烈:公司普调 3% 多,可楼下茶餐厅的套餐一年里涨了两轮。

这不是错觉,是统计学上被精确量化过的事实。

香港政府统计处每个季度会公布两组数据:名义工资指数(Nominal Wage Index)和实质工资指数(Real Wage Index)。最新的 2026 年 3 月数据显示——名义工资同比涨了 3.4%,听起来不错;但扣掉消费物价(甲类 CPI)之后,实质工资只涨了 1.7%

换句话说,你的加薪有整整一半,被物价上涨抵消掉了。

这篇文章我会用 Python 把"名义工资 → 实质工资"这个平减过程完整跑一遍,让你看清楚通胀是怎么一口一口吃掉工资的,顺便把香港不同行业之间"谁被吃得更狠"这件事也摊开来讲。代码可以直接复用,换成你所在城市的数据一样能跑。

收藏提示①:文末的平减计算函数是通用的,直接拿去算你自己行业的真实购买力变化。

二、环境信息

版本
Python 3.13.12
pandas 2.x
matplotlib 3.x
数据源 香港政府统计处「工资及薪金总额」季度报告 + 「就业人士每月就业收入中位数」
数据时点 2026年3月(工资指数)/ 2026年2-4月(收入中位数)

本文数据均为香港政府统计处公开数据,只做技术演示与数据分析,不构成任何职业或财务建议。

三、两个必须分清的词:名义工资 vs 实质工资

这是整篇文章的地基,先把概念钉死:

  • 名义工资(Nominal Wage):你工资条上那个数字,涨没涨、涨多少,只看面值。
  • 实质工资(Real Wage):名义工资扣除物价变动之后,代表你真实的购买力

举个最直白的例子:假设你今年工资涨了 3%,但楼下茶餐厅的叉烧饭从 60 块涨到了 65 块(涨 8.3%)。那么你工资的购买力其实是下降的——你能买的叉烧饭变少了。

统计处干的事,就是把全国(全港)的物价打包成一个"甲类 CPI"指数,然后用它去"平减"名义工资,得到实质工资。核心公式就一句:

实质工资指数 = 名义工资指数 / 消费物价指数 × 100

2026 年 3 月,名义工资指数同比 +3.4%,实质工资指数同比 +1.7%。反推回去,隐含的物价涨幅大约是 (1+3.4%) / (1+1.7%) - 1 ≈ 1.7%——也就是名义涨了 3.4%,物价吃掉 1.7%,剩下的才是你真正多出来的购买力。

四、数据从哪来:政府统计处的两份报告

我用的数据源有两个,都在香港政府统计处官网(censtatd.gov.hk)公开可下载:

  1. 《工资及薪金总额》季度统计报告——提供"名义工资指数"和"实质工资指数"(基期 1992年9月=100),按行业主类拆分。
  2. 「就业人士每月就业收入中位数」表(表210-06321)——按职业、性别划分的每月收入中位数,季度更新。

几个关键的真实数字(截至 2026 年一季度):

指标 数值
名义工资指数同比(2026年3月) +3.4%
实质工资指数同比(2026年3月) +1.7%
制造行业名义工资指数(2025年3月,1992=100) 265.1
制造行业实质工资指数(2025年3月,1992=100) 122.8
就业收入中位数(2026年2-4月) 23,600 港元

注意最后一个对比:制造行业的名义工资指数是 265.1,实质工资指数只有 122.8。这意味着从 1992 年至今,工资面值涨了 165%,但真实购买力只涨了 22.8%——剩下的一百多个百分点,全被物价吞了。这个数字我第一次看到的时候是愣了一下的。

五、用 Python 还原"实质工资"的平减计算

统计处的实质工资指数是官方算好的,但我想自己复现一遍,搞清楚平减到底怎么算。下面是完整的实现:

import pandas as pd

# 核心平减函数:输入名义工资涨幅 + CPI涨幅,输出实质工资涨幅
def real_wage_growth(nominal_growth: float, cpi_growth: float) -> float:
    """
    名义工资涨幅 减去 通胀,得到实质购买力涨幅(近似公式)
    精确公式:(1+nominal)/(1+cpi) - 1
    """
    exact = (1 + nominal_growth) / (1 + cpi_growth) - 1
    approx = nominal_growth - cpi_growth
    return exact, approx

# 用香港2026年3月的真实数据验证
nominal = 0.034   # 名义工资 +3.4%
cpi = 0.017       # 隐含通胀约 1.7%

exact, approx = real_wage_growth(nominal, cpi)
print(f"实质工资涨幅(精确): {exact:.4%}")
print(f"实质工资涨幅(近似): {approx:.4%}")
print(f"被通胀吃掉的涨幅: {(nominal - exact):.4%}")

输出结果:

实质工资涨幅(精确): 1.6721%
实质工资涨幅(近似): 1.7000%
被通胀吃掉的涨幅: 1.7279%

这里有个很多人会忽略的细节:精确公式和"名义减CPI"的近似公式结果很接近,但严格来说不相等。当涨幅都很小的时候(个位数百分比),两者差别可以忽略;一旦通胀跑到两位数,近似公式的误差就会明显放大。我在代码里把两个都返回,就是为了提醒自己别想当然地用减法。

收藏提示②:real_wage_growth 这个函数是通用的——把你的名义涨幅和 CPI 涨幅传进去,就能算出真实购买力涨了多少。建议存下来备用。

六、1992年至今:名义翻了2.65倍,购买力只涨1.23倍

光看单年 3.4% vs 1.7% 还不够震撼,把时间轴拉到 1992 年基期,剪刀差才真正显形:

在这里插入图片描述

这张图用的是制造行业的两个真实锚点(1992年9月=100):

  • 名义工资指数 265.1 —— 涨了 165%
  • 实质工资指数 122.8 —— 涨了 23%

两条线之间那片越拉越大的"剪刀差",就是三十多年里被物价吃掉的工资。你工资条上的数字每年都在涨,但真实能买的东西,涨幅只有名义的零头。

七、分行业看:谁的购买力被侵蚀最狠

再往下钻一层,看 2026 年 2-4 月各行业的就业收入中位数(真实数据):

在这里插入图片描述

最高的是金融及保险业 40,000 港元,最低的是零售业 16,000 港元,差了整整 2.5 倍。而全港中位数是 23,600——也就是说,月薪只要超过两万三,你就已经跑赢了全港一半的打工人。

这里有个反直觉的点:金融保险业收入最高,但根据大公报的报道,它同时也是男女收入差距最大的行业,差距高达 14,000 港元。收入的天花板高,不代表结构就健康——这是看中位数时容易被平均数的"好看"掩盖掉的真相。

八、踩坑记录

跑这套数据的时候踩了三个坑,一并记下来:

  1. 指数的基期陷阱:名义和实质工资指数的基期都是 1992年9月=100,不是随便哪年。如果你拿不同基期的指数直接相减,会得出完全错误的结果。用之前一定先核对基期。
  2. CPI 口径别混用:实质工资指数用的是甲类 CPI(覆盖较低消费开支的家庭),而"薪金总额"那块用的是综合 CPI。两者口径不同,平减结果会有细微差别,别随手拿错。
  3. 滞后数据:工资指数是季度公布,且同比口径,本身有几周的滞后。用它做"当前"判断时要心里有数,别当成实时数据。

九、写在最后

回到最开始那个问题:为什么工资涨了 3.4%,我却感觉更穷了?

因为统计局帮你算好了答案——实质购买力只涨了 1.7%。名义工资是你的"面子",实质工资才是你的"里子"。而把两者拆开看,正是数据分析最该干的事:把那些被平均、被名义数字掩盖的真相,摊到台面上。

需要说明的是,本文只是把政府统计处的公开数据用 Python 重新算了一遍,做的是"还原"而不是"预测"。通胀数据是滞后的,个体感受又受具体消费结构影响(你要是主要开支是房租,感受到的压力可能比 CPI 反映的更大——香港房租涨幅常年跑赢综合 CPI)。

如果你也在香港工作,或者正准备过来,建议收藏这篇,等下一个季度的工资指数公布时,把 real_wage_growth 函数翻出来,算算你自己的行业购买力到底涨没涨。

收藏提示③:如果这篇对你有用,收藏 + 点赞,下次工资指数更新时直接回来对照。

在这里插入图片描述

更多推荐