← 返回目录
p6.2动手⏱ 约 15 分钟

指数与基金机制:指数基金"跑赢"指数,是常态不是本事

两只跟踪沪深300 的样本,16.5 年年化分别高出指数 1.43 和 1.95 个百分点——原因不在基金,在指数口径

🔎 最后验证 2026-07📚 来源:两只指数基金 vs 沪深300 价格指数的跟踪偏离实测(2010-01~2026-07),2026-07-31 于 ECS 实测,输出见 code/outputs/stdout.txt🧰 pandas 3.0.5、numpy 2.5.1、Python 3.12.13
为什么学这个

一个几乎人人都会误判的现象:指数基金长期跑赢了它跟踪的指数。

样本A519300)  基金复权净值 年化 3.05%   沪深300 价格指数 年化 1.61%   差 +1.43 pp
样本E(000051)  基金复权净值 年化 3.56%   沪深300 价格指数 年化 1.61%   差 +1.95 pp

这不是基金经理厉害,是指数口径的问题。

沪深300 这类常用行情是价格指数:成分股分红后,指数直接掉下来、不加回去。而基金实实在在收到了那笔分红

你拿基金去比价格指数,等于白送基金一份股息。

这是 p1.3(股票复权)、p6.1(基金净值)之后,同一条"复权口径"的第三次出现——这次在指数上。

💡 打个比方

两个人比赛种果树,比的是"最后树值多少钱"。

甲每年把果子摘下来卖掉,钱进了自己口袋。乙也摘了卖了,但比赛规则规定:乙卖果子的钱要算进成绩里,甲的不算。

于是乙"赢"了。

赢的不是种树技术,是记分规则。

一、实测:基金 vs 价格指数

样本为跟踪沪深300 的公募基金(按代码取样,非精选,不构成任何推荐),净值用 p6.1 的复权口径:

基金累计基金年化指数累计指数年化年化差
样本A(519300)64.0%3.05%30.1%1.61%+1.43 pp
样本E(000051)77.9%3.56%30.1%1.61%+1.95 pp

(2010-01-04 ~ 2026-07-29,4022 个交易日)

日均偏离日偏离标准差年化跟踪误差日偏离为负占比
样本A+0.47 bp12.0 bp1.87%47.5%
样本E+0.69 bp8.6 bp1.35%46.2%

注意"日偏离为负占比"都低于 50%——基金连单日看都是多数时候赢。

二、拆开这个"跑赢"

日均偏离为正,这与"基金每天被费率吃掉一点"的直觉相反。拆成两项就清楚了:

方向量级
① 费率(管理+托管,按日计提)指数基金 0.5%~1.0%/年 → 约 -0.2 ~ -0.4 bp/日
② 成分股分红宽基股息率 2%~3%/年 → 约 +0.8 ~ +1.2 bp/日

② 的量级是 ① 的两三倍,所以净偏离为正。

反过来倒推也对得上:

样本A  年化差 +1.43 pp,若费率按 0.5%/年 计 → 隐含股息贡献约 1.93%/年
样本E  年化差 +1.95 pp,同上               → 隐含股息贡献约 2.45%/年

都落在宽基股息率的合理量级里。

⚠️ 避坑

正确的比较对象是全收益指数(含分红再投),不是价格指数。

这个口径错误有两个方向,而两个方向都很常见:

你在做什么用价格指数的后果
拿基金业绩比指数高估基金——白送它一份股息
用指数回测"指数定投"低估自己——白扣了自己一份股息

同一个口径错误,换个方向就从"高估基金"变成"低估自己"。

本课前面所有用 sh.000300 做基准的地方(p5.2、p5.5、p5.10 等),用的都是价格指数——那些"跑输基准"的结论,如果换成全收益指数会更难看,不会更好看。这一点必须说明,不能只在有利的时候提口径。

🔧 动手做:指数基金"跑赢"指数,是本事还是错觉?(5 分钟)

python tracking_error.py。两只跟踪沪深300 的基金,长期都"跑赢"了沪深300 指数。

你会看到(实测):两只基金年化分别比沪深300 指数高出 1.43 和 1.95 个百分点

想明白:这不是基金经理厉害——沪深300 是价格指数,成分股分红后指数直接掉下来、不加回;而基金实实在在收到了那笔分红。你拿基金跟价格指数比,等于让它白赚一份股息。换成全收益指数比,这个"跑赢"就没了。任何"跑赢指数"的宣传,先问:跟的是价格指数还是全收益指数?

三、跟踪误差从哪来

年化跟踪误差 = 日偏离标准差 × √244。样本实测 1.35% ~ 1.87%。它由六个来源构成:

来源性质怎么看
费率(管理+托管+销售服务)确定性拖累,按日计提选低费率产品
成分股调整时的冲击成本调仓日集中交易——这就是 p5.7 的容量问题看规模与调仓执行
申赎现金流冲击大额申赎迫使被动买卖看规模稳定性
留存现金(应对赎回)仓位不满 100%,牛市拖后腿看季报股票仓位
打新/融券等增强可能带来正偏离看是否为"增强型"
停牌股与流动性无法完全复制成分小盘指数更严重

只有第一项是可预测的确定性拖累,其余五项都是双向的。这也是为什么"跟踪误差"要用标准差衡量,而不是用平均偏离。

两个样本的跟踪误差差了近 40%(1.87% vs 1.35%),而它们跟踪的是同一个指数。差别不在指数,在实现。

四、非传统资产:哪些能用本课的方法回测

资产结论原因
黄金可回测有长期连续价格与 ETF;注意计价货币与汇率
加密资产有限可回测历史短、结构变化剧烈、交易所数据口径不一
房产不可按本课方法回测非同质、低频成交、无连续报价、交易成本极高且个体化
非上市股权/收藏品不可回测无公允连续价格,幸存者偏差极强

判断一类资产能不能回测,只问三件事:

  1. 有没有连续、可复现的历史价格
  2. 价格是不是可成交的(而非评估价)
  3. 交易成本能不能被建模(p5.7)

三条缺一,回测结果就不能当结论——只能当描述。

房产是最典型的反例:你看到的"某小区均价涨了多少",既不是可成交价(挂牌 ≠ 成交)、也不连续(一个月可能零成交)、交易成本还高达总价的几个百分点且因人而异。

不是"房产不值得投",而是"本课这套方法在它身上得不到可信结论"。 这两句话完全不同。

❓ 测验
你看到一篇文章说「某指数基金过去 10 年跑赢沪深300 指数 1.5 个百分点/年,说明它管理得好」。问题在哪?
✏️ 填空
拿基金业绩比价格指数会高估基金;而用价格指数回测「指数定投」则会 ___ 自己——同一个口径错误的两个方向。

📌 免责:本课为技术教学,样本按代码取样(非精选),不推荐任何基金、指数或资产类别;历史模拟不构成投资建议。

✅ 小结

四件事:

  1. 指数基金"跑赢"指数是常态,不是本事。两只样本 16.5 年年化分别高出 +1.43 / +1.95 pp,连单日看都是多数时候赢(日偏离为负仅 47.5% / 46.2%)
  2. 拆开只有两项:费率(负,约 -0.2~-0.4 bp/日)与成分股分红(正,约 +0.8~+1.2 bp/日);倒推隐含股息贡献 1.93% / 2.45%,落在宽基股息率量级
  3. 同一个口径错误有两个方向:比基金业绩用价格指数 → 高估基金;回测指数定投用价格指数 → 低估自己。本课前面用 sh.000300 做基准的地方都是价格指数,那些"跑输基准"的结论换成全收益指数只会更难看
  4. 跟踪误差 1.35%~1.87%,六个来源里只有费率是确定性拖累,其余五项双向——所以要用标准差衡量而非平均偏离;两只跟同一指数的样本差了近 40%,差别不在指数,在实现

外加一张可回测边界表:黄金可回测、加密有限可回测、房产与非上市资产不可按本课方法回测。判据只有三条:价格是否连续可复现、是否可成交、成本能否被建模。三条缺一,回测结果只能当描述,不能当结论。

下一节做长周期实测,并演示一个所有长期收益率数字都逃不掉的陷阱:换一个起点,结论就变了。

下一节 → 长周期实测:起点选择偏差
🔎 来源与核验· 3 条,点开核对
本节每个关键论断都对应一个可追溯的来源 —— 这是本课程"靠谱、不过时"的底线。
「两只跟踪沪深300 的基金(复权净值)vs 沪深300 价格指数,2010-01-04~2026-07-29(4022 个交易日):样本A 累计 64.0%/年化 3.05% vs 指数 30.1%/1.61%(差 +1.43 pp);样本E 77.9%/3.56%(差 +1.95 pp)」
📚 本节 code/tracking_error.py,2026-07-31 于 ECS 实测(净值数据来自 _shared/fund_nav.parquet),输出见 code/outputs/stdout.txt✓ 已核验 2026-07
「跟踪偏离:样本A 日均 +0.47 bp、标准差 12.0 bp、年化跟踪误差 1.87%、日偏离为负占比 47.5%;样本E 日均 +0.69 bp、标准差 8.6 bp、年化跟踪误差 1.35%、为负占比 46.2%」
📚 同上实测✓ 已核验 2026-07
「按费率 0.5%/年倒推的隐含股息贡献:样本A 约 1.93%/年,样本E 约 2.45%/年」
📚 同上实测(年化差 + 假设费率)✓ 已核验 2026-07
沪深300 为价格指数,不含成分股分红;基金净值为按 p6.1 方法复权(分红再投)。样本按代码取样,非精选,不构成任何推荐。费率 0.5%/年 为量级假设,非实际产品费率。
智图软件的赞赏码
都看到这了,打个赏呗!
接下来 · p6.3
长周期实测:换一个起点,结论就变了
继续读下一节 →