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

长周期实测:换一个起点,结论就变了

同一只基金、同样持有 10 年,起点差两年,年化从 23.25% 变成 2.33%——差 20.92 个百分点

🔎 最后验证 2026-07📚 来源:三个对象全部可能起点的滚动持有期年化分布,2026-07-31 于 ECS 实测,输出见 code/outputs/stdout.txt🧰 pandas 3.0.5、numpy 2.5.1、Python 3.12.13
为什么学这个

"过去十年年化 X%"是所有长期收益率宣传的标准句式。

这一节只做一件很简单的事:把所有可能的起点都跑一遍,看这个 X 的范围有多宽。

同一只基金(复权净值口径),同样持有 10 年:

最好起点 2005-06-02  2015-05-26   年化 23.25%
最差起点 2007-10-11  2017-10-09   年化  2.33%
                             20.92 个百分点

同一个市场、同样的持有时长、同样什么都不做——起点差两年,结果差 20.92 个百分点年化。

而"挑一个好起点"这件事,完全合法:它不是造假,是选择性汇报

💡 打个比方

两个人同一天进赌场,一个待 3 小时,一个待 3 小时零十分钟。

赌场的规则一模一样,但他们的战绩可以完全相反。

区别只在于:他们各自的那 3 小时,恰好覆盖了哪一段。

长期收益率的"起点",就是这个"哪一段"。

一、样本与口径

三个对象,口径已在 p6.1 / p6.2 处理干净:

对象区间年数全程累计全程年化
A股基金(复权净值)2004-07 ~ 2026-0721.91157.3%12.23%
沪深300(价格指数)2010-01 ~ 2026-0716.030.1%1.66%
美股 SPY2007-01 ~ 2026-0719.5637.8%10.77%

沪深300 是价格指数(不含成分股分红),按 p6.2 的实测量级,换成全收益口径大约要加回 2% 左右的年化。这里保持价格指数是为了与本课前面各节口径一致,但读的时候要记得这一点。(另:本节年数按交易日数/252 计,约 16.0 年;p6.2 按日历年约 16.5 年,故同一区间沪深300 年化在两节间有 1.61%~1.66% 的口径差。)

二、所有起点的分布

逐日滚动、重叠窗口,把每一个可能的起点都算一遍:

持有 3 年

对象样本数最差中位最好极差为负占比
A股基金4623-9.47%8.85%85.72%95.19 pp23.9%
沪深3003267-15.36%4.82%26.71%42.08 pp37.6%
美股 SPY4167-10.52%12.93%28.50%39.03 pp6.8%

持有 5 年

对象最差中位最好极差为负占比
A股基金-8.39%9.86%38.27%46.66 pp13.3%
沪深300-4.42%3.63%15.18%19.59 pp23.6%
美股 SPY-1.56%13.72%25.01%26.58 pp1.3%

持有 10 年

对象最差中位最好极差为负占比
A股基金+2.33%9.92%23.25%20.92 pp0.0%
沪深300-1.52%4.52%7.08%8.60 pp3.7%
美股 SPY+6.76%13.17%17.62%10.85 pp0.0%

持有期从 3 年拉到 10 年,三件事同时发生:极差收窄、为负占比下降、中位数变化不大。

🔧 动手做:"过去 10 年年化 X%"这句话有多不可信(5 分钟)

python start_bias.py,把所有可能的起点都跑一遍,看 10 年年化的范围。

你会看到(实测):同一只基金、同样持有 10 年,起点差两年,年化从 2.33% 到 23.25%(极差 20.92pp)。

想明白:"过去十年年化 X%"是所有收益宣传的标准句式,但那个 X 完全取决于你哪天开始——同一个市场,能是 2.33%,也能是 23.25%。单一起点的年化数字基本没有信息量,要看所有起点的分布。

三、时间确实降低了亏损概率——但没有消除

⚠️ 避坑

"长期持有一定赚钱"这句话,在这份数据里只有一半成立。

持有期A股基金为负沪深300 为负SPY 为负
3 年23.9%37.6%6.8%
5 年13.3%23.6%1.3%
10 年0.0%3.7%0.0%

时间确实在降低亏损概率,但沪深300 持有 10 年仍有 3.7% 的起点是负的——而且这还是价格指数口径下的 3.7%。

更重要的是:"为负占比 0%"不等于"一定赚钱"。它只说明在这段历史里没出现过,而样本只有 22 年、且高度重叠(逐日滚动的 2915 个窗口,实际独立信息远少于 2915)。

这与 p5.6 的教训相同:样本内没发生过的事,不等于不会发生。

四、分年起点表:同一个市场,逐年买入持有 5 年

A股基金(复权净值),每年年初买入并持有 5 年的年化(%):

2005: 37.2   2006: 34.7   2007:  8.9   2008: -6.4   2009: 10.5   2010:  0.6
2011:  5.9   2012: 12.8   2013: 15.6   2014: 10.4   2015: 16.4   2016: 14.2
2017: 12.5   2018:  6.2   2019:  7.5   2020:  1.5   2021: -0.6

沪深300 价格指数:

2011:  1.7   2012:  7.8   2013: 10.1   2014:  5.0   2015:  2.7   2016:  8.7
2017:  8.0   2018: -1.0   2019:  2.7   2020: -1.7   2021: -2.2

美股 SPY:

2008:  2.4   2009: 16.9   2010: 14.9   2011: 11.9   2012: 14.4   2013: 15.3
2014:  8.6   2015: 11.8   2016: 15.1   2017: 18.3   2018:  9.1   2019: 15.4
2020: 14.2   2021: 14.7

2006 年初买入 A股基金持有 5 年:年化 34.7%。2008 年初买入:年化 -6.4%。相差两年,差 41 个百分点。

五、看到长期收益率宣传,问三个问题

  1. 起点是哪一天?换成前后各一年,数字变多少?
  2. 有没有给所有起点的分布,而不只是一个数?
  3. 用的是价格指数还是全收益指数(p6.2)?单位净值还是复权净值(p6.1)?

第 ③ 条现在应该已经形成条件反射了:这门课里同一个"口径"问题已经出现四次——股票复权(p1.3)、基金净值(p6.1)、指数含不含分红(p6.2)、以及这一节的起点。

本节这张分布表,就是"所有起点"的诚实版本。

六、这一节给后面两节铺的路

起点敏感性直接决定了下一节的题目:

如果一次性投入的结果这么依赖起点,那"分批投入"能不能把这个依赖降下来?

这正是定投被反复宣传的理由。下一节用同一批数据,把这个说法做成可检验的实验。

❓ 测验
一份材料写「本基金成立以来年化 12.2%」。按本节的方法,你最该先算哪个数?
✏️ 填空
同一只基金持有 10 年,最好起点年化 23.25%、最差 2.33%,极差 ___ 个百分点。

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

✅ 小结

四件事:

  1. 起点决定结论。同一只基金同样持有 10 年:最好起点年化 23.25%、最差 2.33%,差 20.92 pp;沪深300 差 8.60 pp、SPY 差 10.85 pp。"挑一个好起点"完全合法——它不是造假,是选择性汇报
  2. 持有期拉长确实有效,但没有消除风险。为负占比:A股基金 3 年 23.9% → 10 年 0.0%;沪深300 3 年 37.6% → 10 年 3.7%(而且这还是价格指数口径)
  3. "为负占比 0%"不等于"一定赚钱":样本只有 22 年,且逐日滚动窗口高度重叠,独立信息远少于窗口数。样本内没发生过的事,不等于不会发生(p5.6)
  4. 分年表最直观:A股基金 2006 年初买入持有 5 年年化 34.7%,2008 年初买入 -6.4%——相差两年,差 41 个百分点

看到任何长期收益率宣传,问三个问题:起点在哪(换前后一年变多少)、有没有给所有起点的分布、用的是什么口径(价格指数还是全收益、单位净值还是复权)。

而起点敏感性这么大,正好引出下一节的题目:分批投入能不能把这个依赖降下来?

这是定投被反复宣传的理由。下一节用同一批数据,把这个说法做成可检验的实验——并且我先说清楚,结论不会是宣传里那个版本。

下一节 → 定投 vs 一次性投入:跨市场周期的真实审判
🔎 来源与核验· 5 条,点开核对
本节每个关键论断都对应一个可追溯的来源 —— 这是本课程"靠谱、不过时"的底线。
「样本区间与全程表现:A股基金(复权净值)2004-07~2026-07,21.9 年,累计 1157.3%、年化 12.23%;沪深300 价格指数 2010-01~2026-07,16.0 年,累计 30.1%、年化 1.66%;美股 SPY 2007-01~2026-07,19.5 年,累计 637.8%、年化 10.77%」
📚 本节 code/start_bias.py,2026-07-31 于 ECS 实测,输出见 code/outputs/stdout.txt✓ 已核验 2026-07
「持有 10 年的滚动分布:A股基金 最差 +2.33%/中位 9.92%/最好 23.25%(极差 20.92 pp,为负 0.0%);沪深300 -1.52%/4.52%/7.08%(8.60 pp,为负 3.7%);SPY 6.76%/13.17%/17.62%(10.85 pp,为负 0.0%)」
📚 同上实测(逐日滚动重叠窗口)✓ 已核验 2026-07
「持有 3 年为负占比:A股基金 23.9%、沪深300 37.6%、SPY 6.8%;持有 5 年:13.3%、23.6%、1.3%」
📚 同上实测✓ 已核验 2026-07
「最好/最差 10 年起点:A股基金 2005-06-02 起 23.25% vs 2007-10-11 起 2.33%;沪深300 2014-05-27 起 7.08% vs 2015-06-08 起 -1.52%;SPY 2009-03-09 起 17.62% vs 2007-05-16 起 6.76%」
📚 同上实测✓ 已核验 2026-07
「分年起点(每年年初买入持有 5 年的年化):A股基金 2006 年 34.7%、2008 年 -6.4%;沪深300 2013 年 10.1%、2021 年 -2.2%;SPY 2017 年 18.3%、2008 年 2.4%」
📚 同上实测✓ 已核验 2026-07
滚动窗口为逐日重叠窗口,窗口数远大于独立样本数,分布仅作起点敏感性的描述,不可当作概率估计。沪深300 为价格指数(不含成分股分红),换成全收益口径量级上约需加回 2%/年(见 p6.2)。
智图软件的赞赏码
都看到这了,打个赏呗!
接下来 · p6.4
定投 vs 一次性投入:跨市场周期的真实审判
继续读下一节 →