2026年十月24日 · 研究

为什么我的回测在更频繁调仓时表现更好?

为什么我的回测在更频繁调仓时表现更好?

如果更频繁调仓让回测表现变好,首先要问的不是信号是否变得更聪明,而是额外交易是否按实际执行成本计费。

调仓频率会同时改变两件事:投资组合跟上目标的速度,以及为此需要进行多少交易。有效的比较应固定信号和仓位规则,再衡量更快调整带来的收益是否足以抵消额外换手的全部成本。

为什么我的回测中每日调仓胜过每周调仓?

有时确实会这样。如果信号变化很快,等上一周可能会让投资组合继续持有过时的权重。每日调仓可以减少这种滞后。但它也可能因为微小的目标变化而交易,而这些变化正是成本可能压过微薄优势的地方。

设想一个价值 $100,000 的投资组合,目标权重每天变动 1%。这意味着每天大约有 $1,000 的订单,尚未计入买卖相互抵消的部分。按单边 10 个基点的成本计算,交易 $1,000 的成本约为 $1。如果信号确实能从每次调整中获益,这可能算便宜。如果目标只是在稳定水平附近波动,而收益只有几美分,那么每日调仓就是在花钱追逐噪声。

在回测中,每周调仓的组合可能因为反应较慢而显得更差。每日调仓的组合可能因为目标更新而看起来更好。但在两者都计入可比的成交、手续费、价差和冲击之前,这些结果都不足以令人信服。

如何公平比较每日和每周调仓?

固定底层信号、资产范围、仓位规模和测试时段,只改变调仓计划。两种计划采用相同的执行假设,并根据各自实际生成的订单计算换手率,同时净额合并整个投资组合中的变动。

指标说明常见错误
毛收益目标投资组合在交易成本之前的表现把它当作策略的实际结果
换手率投资组合价值中发生易手的部分只计算买入,却忘了对应的卖出
净收益扣除手续费、价差和估算冲击后的剩余收益只套用统一费率,却忽略订单规模
相对目标的跟踪误差实际持仓偏离目标权重的程度把完美贴合目标当成没有成本

一种实用的惯例是将单边换手率定义为买入总额或卖出总额中的较小值除以投资组合价值。报告中应注明所用惯例。有些系统使用总交易名义金额;对于资金完全投入的轮换交易,这个数值可能约为前者的两倍。两种定义都可以,但如果不加说明地切换口径,比较就毫无意义。

然后报告增量结果:更快的调仓计划增加了多少净收益,又产生了多少额外成本。每日调仓计划毛收益增加 0.4 个百分点,但多花了 0.7 个百分点,最终比每周调仓版本低 0.3 个百分点——这就回答了问题。

应该如何建模调仓成本?

从交易场所和交易品种入手。现货和期货的手续费安排不同;maker 和 taker 费率不同;如果持仓跨过结算时段,还可能产生资金费用。初步估算时,可对每笔订单套用实际费率等级和价差成本。对于较大的订单,还要根据订单规模和流动性加入冲击成本。

假设某个策略买入时主动跨越价差,之后卖出时又跨越一次。如果价差为 4 个基点,往返交易的价差成本约为 4 个基点,而不是 2 个基点:每次跨越都大约要支付半个价差。两边还要加上 taker 手续费。除非定义清楚“交易”的含义和成本组成,否则“每笔交易 10 bp”的假设毫无意义。

订单相对于可用流动性的规模越大,冲击成本就应该越高。对 $500 和 $500,000 的订单收取相同的固定费率,会让高频调仓显得可以不受限制地扩展。如果数据不足以支持可信的冲击成本估算,就应展示敏感性区间,并明确指出调仓计划在什么情况下不再有效。

我应该采用调仓区间,而不是固定调仓计划吗?

设置区间可以避免因细微的目标变化而生成订单。例如,只有当某个持仓偏离目标超过 2 个百分点时才调仓。这样会牺牲一些跟踪精度,换取更少的订单。

但区间也是一个参数。如果你在许多资产上尝试 0.5%、1%、2% 和 5% 的区间,然后挑出表现最好的方案,就等于增加了一个搜索维度。应选择少量有经济依据的区间,记录每次试验,并在未用于选择区间的时段评估最终规则。

一份有用的报告会列出调仓计划、区间、换手率口径、成本模型,以及成本前后的结果。如果无法还原订单为何触发,就无法判断更好的调仓计划究竟让策略变好了,还是只让它更忙了。

什么时候值得更频繁地调仓?

当更快调整带来的价值在计入现实成本、并对假设做适度调整后仍然存在时。比较不同调仓计划的净收益,检查各资产和市场环境下的换手率,并确认优势是否依赖于某个异常高流动性的时期。

纸面交易策略也要采用相同的调仓计划。如果回测在每次收盘时更新目标,而纸面交易系统每小时才批量下单,那么测试的就是两种不同的执行策略。比较的目的,是弄清楚策略要求账户做什么,以及这些操作会花费多少。

调仓换手率市场冲击回测
← 全部文章