概述
把回测从十年延长到二十年,原本醒目的回撤修复收益优势明显变弱。更长的时间窗口让我们看见,固定止盈同样会错过持续上涨,也未必避开最深的下跌。
把十年延长为二十年,怎样比较才公平
这篇文章由 AI 辅助整理,回测数字已用冻结数据和可复现脚本核对。研究区间是 2006 年 9 月 25 日至 2026 年 9 月 22 日,共 5,029 个交易日。前 10 年用于选参数,后 10 年固定参数验证;验证期沿用训练期结束时的持仓和待成交指令。
规则是空仓时以复权收盘价跟踪前高,收盘回撤触发买入,下一交易日复权开盘成交;达到相对买入成本的止盈阈值后,也在下一交易日开盘卖出。现金收益设为零。主表未计税费、点差与市场冲击,另以每边 10 个基点做交易成本压力测试。
数据缺口先补齐,再讨论收益
AkShare 新浪接口缺少 AAPL 在 2005、2006 年以及 2007 年初的日线。二十年文件中,4,908 行来自 AkShare 原始价格和公司行为重建的乘法复权价;119 行早期缺口及 2 个零星交易日由公开的 Yahoo 来源快照补齐,同时移除 AkShare 在美国休市日重复的一行。它是经过核对的混合来源数据,不应被称为纯 AkShare 二十年历史。
两份来源在 2007 年的 200 个重叠交易日里,收盘价相对差异中位数约 0.005%,最大约 0.015%。2007 年 12 月 14 日的最高价存在一处较大分歧,因此依赖日内最高价的移动止盈结果应谨慎看待;本文核心规则只用收盘确认信号、次日开盘成交。
前十年选出的规则,后十年没有胜过持有
在买入回撤 10% 至 30%、止盈 5% 至 30% 的整数百分点网格中,前十年训练收益最高的是“回撤 10% 买入、上涨 24% 卖出”。它的训练期 CAGR 为 25.33%,同期买入持有为 28.09%;若把买入持有也当作候选策略,训练期本就没有理由弃用持有。
固定 10%/24% 进入后十年后,策略 CAGR 为 28.55%,同期买入持有为 29.24%;全二十年分别为 26.91% 和 28.65%。下图按同一价格口径并列显示两个时间段。
参数平台缩小了,而不是变得更稳
此前五年留出期里,8% 至 12% 回撤与 20% 至 25% 止盈的 30 组组合全部跑赢买入持有。把验证期扩成 2016 至 2026 年的十年后,仅 6 组跑赢;该区域的 CAGR 中位数为 27.87%,低于买入持有的 29.24%。边框标记的是前十年训练选出的 10%/24%。
更宽的 5% 至 30% 回撤、5% 至 30% 止盈网格共有 676 组;在完整二十年里,没有一组的 CAGR 高于买入持有。这个统计是历史描述,不是对未来收益的概率估计。
成本没有解释全部差距,年份差异更重要
后十年按每次买卖成交额扣除每边 10 个基点,并在期末按同样口径清算持仓后,前十年选出的 10%/24% CAGR 为 28.28%,买入持有为 29.22%。成本让差距从 0.69 扩至约 0.94 个百分点,但不是优势消失的主要原因。
另一项逐年滚动检验也显示阶段差异:前 3 年选参、下一年验证的 13 个年度窗口,4 年跑赢、8 年落后、1 年持平,年度超额收益中位数为 -10.44 个百分点;改用前 5 年选参、下一年验证的 11 个窗口,4 年跑赢、4 年落后、3 年持平。年度窗口共享历史数据,也不能当作彼此独立的预测试验。
退出规则没有避开最难承受的下跌
简单回撤策略在 2007 年 11 月买入后,直到 2009 年 10 月才止盈,期间经历了 2008 年大跌。10%/24% 与买入持有在全二十年的最大回撤都接近 -61%。分批和移动止盈改变了风险与资金占用,却没有在本次全二十年研究中带来更高的 CAGR。
旧研究参考的 10%/23% 在后十年得到 30.35%,略高于买入持有,但它是在观察过这段历史之后被采用的参数,不能冒充前十年独立选出的结果。综合二十年、十年留出和滚动窗口,目前缺乏足够证据把这套固定止盈规则作为替代长期持有的主要投资方法。
这是一项历史回测,不是个性化投资建议。交易成本采用情景值,现金利息、税费与真实成交冲击未完全纳入;未来数据也可能改变结论。
资料来源
AKShare 美股历史行情接口与复权公式:https://akshare.akfamily.xyz/data/stock/stock.html
Apple 官方股息与拆股历史:https://investor.apple.com/dividend-history/
补数用的公开 AAPL 日线快照:https://pubmarks.github.io/datasets/stocks/AAPL/ohlcv.csv
快照生成代码及 yfinance 参数:https://github.com/Pubmarks/datasets/blob/main/scripts/python/yf/lib/ohlcv_fetch.py
回测代码、数据哈希、逐笔交易和来源差异审计保存在研究工作区;本文数值对应 2026 年 9 月 24 日冻结的文件版本。