投资组合回测:用数据验证你的配置
大多数投资组合决定都是凭感觉做出的。回测能区分两种计划:一种你能用证据捍卫,另一种每当市场打个嗝就要调整。本指南涵盖工作流程、真正重要的指标,以及那些把好看的净值曲线变成实盘亏损的陷阱。

大多数投资组合决定都是凭感觉做出的。回测能区分两种计划:一种你能用证据捍卫,另一种每当市场打个嗝就要调整。本指南涵盖工作流程、真正重要的指标,以及那些把好看的净值曲线变成实盘亏损的陷阱。
投资组合回测与策略回测
策略回测在单一品种或小篮子上评估进出场规则。投资组合回测则评估跨多资产、再平衡日程与风控约束的配置逻辑。数学方法有交叉,但提出的问题不同。
组合层面的问题示例:风险平价过去三十年是否跑赢 60/40?加入 10% 的黄金板块能否在足以抵消持有成本拖累的程度上降低回撤?在目标配置之上叠加一条基于波动率的减仓规则会怎样?
七步工作流
可复用的流程胜过一次性的小聪明测试。把它用在每个想法上。
| 步骤 | 你做什么 | 为什么重要 |
|---|---|---|
| 1. 立题 | 用一句话写下目标 | "降低回撤同时保留 80% 收益"可测试。"提升收益"不可 |
| 2. 定义 | 资产宇宙、配置逻辑、再平衡频率、风险限额 | 没有具体内容,测试就只是观点 |
| 3. 数据 | 无幸存者偏差、股息调整后、多种市场状态 | 战略配置 15 年以上,战术规则需日级粒度 |
| 4. 成本 | 佣金、点差、滑点、必要时的税收 | 无摩擦的回测是虚构 |
| 5. 运行 | 计算净值曲线及完整指标集 | 保存交易明细,而不仅是汇总统计 |
| 6. 验证 | 样本外、滚动前推、情景压力 | 只在开发样本上有效就等于无效 |
| 7. 迭代 | 一次只做一项基于假设的修改 | 每项修改都必须能用经济学解释 |
真正重要的指标
单一数字很少能讲完整个故事。看多个维度。
收益与路径
年化收益告诉你目的地。累计收益曲线的形状告诉你你是否真的能坚持持有。CAGR 相同的两个组合,对持有者而言体感可能完全不同。
回撤与恢复
最大回撤是从峰值到谷底的最大损失。恢复时间是创出新高所需的时长。亏 35% 用 18 个月恢复的策略,与亏 22% 用 6 个月恢复的策略,是两种不同的产品。
风险调整后收益
夏普比率比较超额收益与总波动率。索提诺仅分离下行波动率。卡尔玛(收益/最大回撤)强调路径。请并用多个。1.8 夏普伴随 50% 回撤,与 1.2 夏普伴随 15% 回撤,是完全不同的两种东西。
稳定性
在子区间上分别运行:2008 年前、2008-2010、2011-2019、2020-2022、2023 年至今。如果收益完全来自一个时间窗口,那你押的是某种状态特定的赌注,而非一个稳健的策略。
换手率与可执行性
年化换手率反映交易成本拖累。检查你的规则交易的成交量是否足以让你按目标规模成交而不冲击市场。10 万的回测可能在 500 万规模下显著退化。
让表面表现虚高的陷阱
它们每一个都让真金白银消失过。
前视偏差
回测使用了在决策当时不可得的信息。常见原因:日内规则却用了收盘价,或者用了被修订后的盈利而非最初公布的数字。让信号与执行按现实的滞后对齐。
幸存者偏差
股票宇宙剔除了被退市、破产或被并购的公司。历史结果看起来比现实更好,因为输家消失了。请使用按时间点对应的指数成分数据。
过拟合
为了让过去表现最大化而调整参数,直到曲线漂亮得无可挑剔。你抓住的是噪声。模型保持简单,偏好参数平台而非单峰,做样本外验证。
成本乐观主义
省略佣金、点差、滑点或税收拖累。剔除摩擦的结果在现实中很难复现。请按流动性与换手率为点差建模。
状态盲
单一时期会掩盖对状态转换的敏感性。运行情景:低利率/高利率、低波动/高波动、成长/价值、强美元/弱美元。稳健的组合在四种情形下都能扛住。
力求宽阔的参数平台,使温和的参数变动仍能产出可接受的表现。优化网格上的尖峰通常是海市蜃楼。
按复杂度排序的配置方法
静态。 等权、市值加权、60/40、目标风险。按固定日程再平衡。在考虑成本之后往往最难被打败。
基于风险。 风险平价、最小方差、最大化分散。依赖协方差估计。对回看窗口和收缩估计敏感。
信号驱动。 因子倾斜、趋势叠加、状态感知轮动。以复杂度与换手率为代价换取更高的预期收益。
基于优化。 均值方差、Black-Litterman。理论上强大,实务中往往脆弱,因为输入估计误差会被放大。请大力正则化。
压力叠加。 当已实现波动率超过阈值时给股票权重设上限的规则。以很小的预期收益代价改善持有体验。
一个示例:60/40 的三种变体
| 变体 | 配置规则 | 你在测试什么 |
|---|---|---|
| 原味 60/40 | 60% SPY、40% AGG,月度再平衡 | 基准 |
| 风险平价 | 6 个月波动率倒数权重,月度 | 更平滑的风险分布是否提升夏普? |
| 动量倾斜 | SPY 12 个月收益为正则 70/30,否则 50/50,月度 | 趋势确认有没有帮助? |
取 20 年以上 SPY 与 AGG 的月度总回报数据。每笔交易施加 5bp 滑点与 1bp 佣金。对每个变体计算波动率、夏普、最大回撤与水下时间。在子期间内比较(2003-2007、2008-2010、2011-2019、2020-2024)。
典型发现:风险平价在收益相近的同时降低回撤深度;动量倾斜在强趋势中推升收益,但增加换手并在震荡市中表现较差。哪个最好取决于你能承受什么。
从回测到实盘执行
永不部署的回测只是脑力练习。从验证到实盘资金有两条路。
代码优先。 Python、券商 API、自建调度器。最大化的控制,真正的工程工作。如果你的策略依赖定制逻辑或另类数据,这条路值得。
平台。 Obside 让你用自然语言表达组合,几秒钟内运行回测,并通过你连接的券商发送订单。从研究到实盘使用同一套规则。示例:
- "维持 50 百分点 BTC、25 百分点 ETH、25 百分点 USDC。每周再平衡。若日波动率超过 5 百分点则暂停再平衡。"
- "持有 60 百分点 SPY、30 百分点 AGG、10 百分点 GLD。在每季度首个交易日或漂移达 5 百分点时再平衡。"
- "若标普 500 日内下跌 10 百分点则清仓。当其从低点反弹 5 百分点时恢复持仓。"
- "若 SPY 与 AGG 的 60 日相关性超过 0.5 则提醒我。"
准备好用真实数据验证你的组合了吗?
挑一条你实际在用的配置规则。跑一遍七步工作流。如果数据在不同状态下、计入成本之后仍然成立,就把它自动化。Obside Copilot 接受自然语言的组合规则,几秒钟返回回测,并在你的券商上以相同逻辑实盘运行。智能提醒、即时回测、券商连接——一站搞定。
创建你的免费 Obside 账户,今天就验证你的第一条组合规则。
仅供教育用途。不构成投资建议。投资涉及风险,包括可能的本金损失。
FAQ
战略配置至少需要 15 到 20 年覆盖完整周期(牛、熊、复苏)的月度数据。战术规则需要跨多个波动率状态的日级粒度。如果市场状态发生了结构性变化(例如 2008 年前后债券行为),更多历史未必更好。