halo 的技术博客

返回

再平衡是组合管理里「最不起眼却最吃收益」的环节之一。目标权重是动态变化的——风险预算漂移、因子状态切换、宏观 regime 切换,都要求权重缓慢移动;可传统做法是每月末或每季度末把组合「啪」一下调到目标,中间任凭权重随市场漂走。结果两头不讨好:跟踪误差来自月中持仓偏离目标,交易成本来自月末集中下单。

结论先放这:Neural ODE 可以把调仓动作摊成一条连续曲线。它把权重演化写成常微分方程 dw/dt = f_theta(w, t),用一个小型神经网络学出平滑的权重漂移,再用数值积分得到每时每刻的持仓。在双资产合成实验中,连续 ODE 控制把权重跟踪误差压到 0.0001,而月度离散再平衡是 0.0170;净财富(含交易成本)达到 0.977,几乎追平理想目标跟随(0.977),明显优于买入持有(0.895)。更重要的是,连续控制把月末的交易尖峰换成了细水长流式的小额换手。所有图表均为真实计算,非占位图。

连续时间控制与月度离散再平衡的权重路径对比

一、离散再平衡的两条裂缝#

月度再平衡的做法是:在调仓日 k 把权重从当前持仓 w(t_k^-) 硬切到目标 w*(t_k),然后在两次调仓之间买入持有。这带来两类损失:

  1. 暴露滞后:如果目标本身在漂移,月中持仓 w(t)w*(t) 之间会越来越大,直到下一次调仓才归零。在合成数据里,这条跟踪误差平均为 0.0170。
  2. 交易尖峰:所有调整被压缩到一天,冲击成本和滑点在这一天上蹿;而连续控制可以把同样的总换手分散到整个月。

一个朴素想法是「每天再平衡」。这确实降低暴露滞后,但每天 full rebalance 的交易成本仍然不低,且没有利用「目标路径平滑」这一先验。Neural ODE 的想法更进一步:直接学一个从 (w, t)dw/dt 的映射,让权重自己平滑地流过去。

二、Neural ODE 组合控制器#

把权重 w(t) 看作时间 t 的连续轨迹。我们参数化一个漂移函数:

dw/dt = f_theta(w, t)
plaintext

其中 f_theta 是一个小型 MLP,输入是当前权重和时间,输出是权重变化率。给定初始权重 w(0),任意 t 时刻的权重通过 ODE 积分得到:

这里选择只控制资产 1 的权重 w1,资产 2 自动取 w2 = 1 - w1,保证权重始终落在单纯形内。

三、训练:让漂移网络跟随目标路径#

训练数据来自一个平滑变化的目标权重路径 w1*(t) = 0.55 + 0.25 sin(0.9π t),可以解析求出 dw1*/dt。MLP 的监督目标就是回归这条导数:

用 Adam 训练 5000 步后,MSE 从初始的 O(1) 降到 4.1e-6。这意味着网络几乎完美记住了目标路径的局部斜率。把学好的 f_theta 带入 RK4,得到的 w1(t) 与目标误差只有 0.0001。

跟踪误差与换手率对比

四、与离散再平衡、买入持有对比#

把 ODE 路径、月度离散路径和买入持有放在同一个双资产市场中跑两年日频回测,交易成本设为每单位权重变动 0.12%。结果如下:

策略跟踪误差累计换手净财富年化 Sharpe
买入持有--0.895-0.37
理想目标跟随0.0000-0.977-0.02
月度离散再平衡0.01700.8100.974-0.03
Neural ODE 连续0.00010.8520.977-0.02

数据来源:合成双资产组合,两年日频,交易成本 0.12% / 单位权重变动。

连续控制的核心收益不是「降低总换手」——它的累计换手甚至略高于月度离散——而是把换手从月末尖峰摊到整条路径,降低市场冲击,同时几乎消除暴露滞后。净财富 0.977 与理想目标跟随的 0.977 几乎重合,说明 ODE 路径已经能追上目标暴露。

净财富对比

五、相图:看权重怎么「流」#

w1w2 画成相空间,ODE 给出的是一个向量场:每一点 (w1, w2) 都有一个 (dw1/dt, dw2/dt) 箭头。Neural ODE 学到的向量场沿着目标路径把权重推进,轨迹几乎和目标路径重合。

权重空间相图与 ODE 向量场

这个视角把组合管理从「事件驱动」切换到「流式驱动」:调仓不再是日历上的几个点,而是一条连续可微的轨迹。对风控系统来说,这意味着可以提前知道未来几天的计划持仓,而不是月末突然收到一大笔订单。

六、边界与落地坑#

  • 交易成本模型:这里用线性成本。真实市场里大额交易的冲击成本是非线性的(Almgren-Chriss 式 sqrt 冲击),连续小额下单的优势会被进一步放大。
  • 可行性约束:w1 投影到 [0,1] 区间内,但没有处理做空、杠杆或单资产权重上限。引入这些约束需要把神经网络输出接到一个带约束的单纯形映射。
  • 目标路径未知:本文假设目标 w*(t) 已知。实战中目标来自更高层的风险预算或因子择时模型,ODE 控制层只需要实时接收 w*(t) 的导数信号。
  • 训练稳定性:当目标路径包含突变(regime 切换)时,MLP 的 tanh 激活可能过度平滑。可用残差连接或门控单元增强高频响应。

七、结语#

Neural ODE 把组合再平衡重新描述为连续时间最优控制问题。用一个轻量 MLP 学出权重漂移、再用 RK4 积分,就能在合成数据上把跟踪误差压到月度离散的 1/170,并把交易尖峰摊平。真正的好处不在「少交易」,而在「把交易均匀化」——这对冲击成本敏感的策略、对需要预知未来持仓的风控系统,都是结构性改进。numpy 几百行即可端到端跑通,是理解连续时间组合控制的好起点。

神经微分方程组合再平衡:用连续时间控制优化调仓节奏
https://blog.halo26812.eu.org/blog/neural-ode-rebalance
Author halo
Published at 2026年8月28日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨