2026年九月9日 · 研究

为什么回测中的波动率目标无法控制它声称要控制的风险

为什么回测中的波动率目标无法控制它声称要控制的风险

一项策略的年化波动率目标为 10%。回测报告显示为 10.2%。看起来足够接近,直到你发现:仓位计算表用的是昨天的波动率估计,模拟器在杠杆变化时没有计入费用,而一次隔夜跳跌造成的损失,超过了目标原本试图描述的范围。

来看一个简单的 BTC 永续合约策略:它持有方向性信号,根据 10% 的年化波动率预算确定仓位,并每天更新一次仓位。这条规则很常见,因为容易解释,也容易编码。下面我们拆开看一天的仓位是怎么来的。

信号:只有方向,没有风险单位

周一收盘时,信号显示做多。这回答了策略想朝哪个方向交易,却没有说明应持有多少 BTC。波动率目标则补上了缺失的尺度。

假设账户权益为 $100,000,策略估计 BTC 的日波动率为 2%。用 10% 除以 252 个交易日的平方根,10% 的年化目标大约对应 0.63% 的日波动率。因此,原始杠杆约为 0.63% / 2%,即权益的 0.315 倍:BTC 敞口为 $31,500。

这个简洁的计算已经包含一项假设:BTC 波动率的表现足够接近稳定分布,因此近期的日波动可以用来指导明天的敞口。波动率估计描述的是近期价格变动,并不能为下一次变动设定上限。

估计方法:究竟是哪一个 2%?

使用 20 日收盘到收盘的标准差,并乘以 365 的平方根进行年化,因为永续合约每天都在交易。日波动率为 2% 时,年化约为 38.2%。如果用 252 天,结果则约为 31.7%。仅仅日历口径不同,就会造成显著的仓位差异。

20 日窗口反应迅速,但一段平静的两周可能会让估计值收缩,恰好赶在波动率扩大之前。90 日窗口更稳定,反应也更慢。指数加权波动率介于两者之间,但也有自己的半衰期,以及对初始值的依赖。没有放之四海而皆准的最佳选择;回测应明确说明采用哪种估计方法,并在比较结果时固定其设置。

估计方法变化之处需要留意的问题
20 日滚动标准差快速响应近期变动平静期过后,敞口会迅速上升
90 日滚动标准差仓位调整更慢、更平滑进入新的波动率状态后,敞口仍可能维持在高位
EWMA,10 日半衰期近期收益的权重更高结果取决于衰减和预热期的设定

时间戳:何时才能获知?

如果周一收盘价被纳入估计,策略只能等周一收盘结束后才能使用该估计值。之后,策略可以提交订单,在更晚的执行时点成交,例如在模拟器中按周二第一个可用价格成交。如果按周一收盘价成交,仓位就会根据尚未完成的收益作出调整。

这也意味着,每日调仓并不能在盘中持续保护账户。即使信号或波动率在 10:00 UTC 发生变化,周一建立的仓位也会一直持有到周二,期间可能遭遇跳跃行情。这是策略的设计选择;模拟账户也应遵循相同的时程。

订单:敞口变化有成本

周二,估计值从 2% 升至 3%。目标敞口从 $31,500 降至 $21,000。卖出 $10,500 的永续合约并非没有成本。若 taker 费率为 5 个基点,手续费就是 $5.25。如果策略主动跨越买卖价差,并产生 3 个基点的冲击成本,还会增加约 $3.15。资金费率则另行计算:现金流取决于资金费率时间戳时持有的仓位,以及实际适用的费率。

策略在每次波动加剧后减仓、每次行情平静后恢复仓位时,小额成本也会累积。应报告仓位规则本身产生的换手率,以及这些交易产生的手续费、价差和冲击成本。没有交易摩擦的波动率目标,可能悄然变成一项高换手策略。

结果:目标不是尾部风险承诺

假设波动率估计为日波动率 2%,策略持有 $31,500 名义价值的仓位,对应 $100,000 的权益。随后 BTC 在下一次计划调仓前下跌 12%。粗略估算,盯市损失为 $3,780,即权益的 3.78%,尚未计入手续费和资金费率。10% 的年化目标并没有阻止这笔损失;它只是把对常规波动的估计转化为仓位规模。

$31,500日波动率为 2% 时的初始名义仓位
$10,500波动率升至 3% 时需要平掉的名义仓位
3.78%初始仓位遇到 12% 行情变动时的权益损失

如果规则没有杠杆上限,风险会更加突出。经历一段长期平静期后,估计波动率可能变得极小,公式由此要求的仓位可能超过账户的保证金或市场的承载能力。应在仓位规则中设置上限,并将其纳入回测。然后记录上限触发的频率;如果上限经常触发,就说明实际敞口很少由宣称的目标来决定。

审计:重放规则,而不只是查看曲线

每次调仓时,都记录收益窗口、波动率估计、年化因子、目标、杠杆上限、目标名义仓位、实际成交名义仓位、换手率、手续费、冲击成本和资金费率。当目标波动率与实际波动率出现偏差时,这些字段能帮助你判断是估计方法滞后、交易成本侵蚀了收益,还是敞口限制改变了策略表现。

最后,在模拟交易中运行相同的仓位代码,并采用相同的调仓时点。将目标敞口与实际仓位进行比较,并记录未成交或延迟成交的订单。只有当从估计到实际持仓的每一步都能解释清楚时,风险目标才真正有用;仪表盘上的百分比只是第一步。

波动率目标仓位规模加密货币期货回测
← 全部文章