深度学习如何做增强指数跟踪
这篇论文把增强指数跟踪写成一个动态再平衡问题:先按市值选出指数成分股,再让一个结构化神经网络在跟踪误差、超额收益、CVaR 风险和交易成本之间做权重分配。
这篇论文要解决的问题
指数相关基金可以分成两类。第一类是 index tracking,也就是尽量复制指数、最小化跟踪误差。第二类是 enhanced index tracking,也就是在控制跟踪误差的同时争取超额收益。
这篇文章研究的是第二类问题,并把普通指数复制看作特殊情况。投资组合只交易指数成分股和现金,流程分两步:先选股,再做权重分配。选股采用传统且透明的准则:对 S&P 500 这类市值加权指数,按 free-float market capitalization 选择大盘成分股。真正要研究的是第二步,也就是这些股票和现金之间如何动态分配权重。
传统做法通常把权重分配写成单期优化问题:拿最近一两年的收益数据,定期重新优化一次。这个方法直接、可解释,但有一个问题:市场 regime 切换时,它可能追不上状态变化。因此这里改用神经网络生成动态再平衡策略。
为什么不是随便套一个大网络
用 neural network policy 做这件事,有三个现实顾虑。
第一,真实金融数据有限。和图像、语言任务相比,市场日频数据少得多,复杂网络很容易过拟合。第二,可扩展性很重要。如果把 只股票的所有特征直接堆进标准 FNN,输入维度是 ,股票数量一大网络就会变得很大。第三,金融投资需要一定可解释性,不能只是一个不知道为什么换仓的黑箱。
所以贡献不是“用更大的网络”,而是设计一个小而结构化的网络:main、score、gate、memory 四个 block 分别处理不同信息;score 和 gate 在股票之间共享参数;同时把交易成本、不做空、不加杠杆、CVaR 约束放进问题里。
控制变量和状态动态
假设已经选出 只股票。时刻 调仓前的权重为:
其中 是现金权重,后面 个分量是股票权重。调仓后的权重为:
论文把当前组合价值归一化为 1。若比例交易成本为 ,调仓后总权重满足:
控制变量是股票权重 ,并满足不做空、不加杠杆:
下一期组合收益为:
所以交易成本不是事后扣一下,而是直接进入收益和状态更新。状态 在 时是初始权重,之后包含组合收益和当前权重;神经网络的输出会通过状态转移函数影响下一期状态。
EIT 的目标函数
论文假设组合收益 和指数收益 是平稳的。两个基本目标是:
也就是日收益的 root mean squared tracking error;以及:
也就是平均日超额收益。EIT 的目标函数是二者的线性组合:
当 时,就是普通 index tracking。论文实验中,IT 取 ,EIT 取 。这个取值来自实验尺度:日频 tracking error 大约在 ,日频 excess return 大约在 。如果不放大超额收益项,训练时它容易被 tracking objective 淹没。
CVaR 约束
论文进一步考虑下行风险。对收益 的分布 ,-level VaR 和 CVaR 定义为:
直接在深度学习里加入 不方便。论文把它转成罚项:
但 ReLU 罚项不够平滑,所以用 Softplus:
EIT-CVaR 的目标函数是:
S&P 500 实验中,论文取 、、、、。其中 对应测试前 S&P 500 日收益 95%-CVaR 的历史水平。
四类特征
论文输入给网络的特征有四类。
第一类是指数 regime probability。论文对指数单独拟合一个两状态 HMM,用 EM 估计参数,用 forward algorithm 滤波得到:
第二类是每只股票自己的 regime probability:
这些概率再用最近若干天平均进行 smoothing,得到 和 。
第三类是短期特征,包括每只股票最近 日均值、波动率、beta,以及指数最近 日均值和波动率。第四类是当前股票权重 ,用于控制交易成本。
四块网络结构
网络结构由四个核心部分组成:main block、score block、gate block、memory block。
main block 学两套长期配置:bull allocation 和 bear allocation。它先通过 softmax 得到 和 ,再根据指数 bull regime 的权重 混合:
score block 对每只股票的短期特征打分。由于 score block 在股票之间共享参数,网络大小不会随股票数线性膨胀。得到短期权重 后,再和长期权重混合:
gate block 根据每只股票的 regime probability 生成 ,逐股票缩放候选权重:
memory block 只在 时使用。它读取候选权重和当前权重的距离,输出 ,抵消一部分 proposed weight changes:
网络规模很小:main、gate、memory 都是 ,score block 是 。隐藏层使用 GELU;main、gate、memory 的输出用 Sigmoid,score 输出为实数。
实验设置
S&P 500 实验使用 2000-01-03 开始的日频 adjusted close。股票池是测试前按市值排序的 top-20 S&P 500 成分股,上市晚于 2000-01-03 的股票被过滤。现金收益设为 0。
训练和测试采用滚动方案:先用 2000-2016 训练,测试 2017;再用 2000-2017 训练,测试 2018;一直滚动到 2022。每年重新拟合 HMM 生成 regime probabilities,并重新训练 policy。
任务有三类:IT、EIT、EIT-CVaR。股票数量有两种:top 5 和 top 20。交易成本有两种: 和 ,后者是 50 basis points。再平衡周期取 个交易日,因为它与日频再平衡在超额收益和 CVaR 控制上接近,但交易成本低得多。
论文比较五种 policy:四个神经网络策略和一个 re-optimization benchmark。
| Policy | 使用的特征 | 使用的 block |
|---|---|---|
| NN-ST | 短期特征、当前权重 | score、memory |
| NN-IR | 指数 regime、当前权重 | main、memory |
| NN-ISR | 指数 regime、股票 regime、当前权重 | main、gate、memory |
| NN-All | 指数 regime、短期特征、股票 regime、当前权重 | main、score、gate、memory |
| RO | 最近两年数据滚动再优化 | 传统优化基线 |
指标包括 TE、MER、IR、CR、Sharpe ratio、loss、95%-CVaR、MDD 和 ATC。论文特别说明,所有收益指标都已经扣除交易成本。
IT 结果:神经网络优势不明显
普通 index tracking 的结果比较直接。所有策略长期都能跟踪指数趋势。top 5 股票时,NN-ST 的 TE 最小;top 20 股票时,RO 最好。
论文对这个现象的解释是:IT 更像 regression-type problem。RO 的单期优化本来就能直接做回归式的跟踪组合构造,因此神经网络可以改进的空间不大。
EIT 结果:regime 特征变得关键
EIT 的目标加入了超额收益。论文发现,NN-ISR 在四个 S&P 500 案例中都在 MER、Sharpe ratio 和 CR 上优于其他策略。它使用 index regime 和 stock regime,但不使用短期特征;这说明 regime 信息对 EIT 更关键。
NN-IR 和 NN-All 的收益表现也不错,NN-IR 在四个案例中的三个取得最高 IR。相反,只用短期特征的 NN-ST 在收益指标上较弱,并且风险最大。
但 EIT 的问题也很明确:它没有直接控制风险。所有策略的 95%-CVaR 都大于指数,MDD 也较大。因此论文并没有把 EIT 结果解读成可以直接部署的最终策略,而是进一步引入 EIT-CVaR。
EIT-CVaR 结果:用部分收益换风险控制
加入 CVaR 约束后,所有策略的 95%-CVaR 都控制在 3% 以下。MDD 也比 EIT 明显下降,虽然 MDD 并没有被直接放进约束。
代价是收益降低。换句话说,更小的风险是用更低的收益换来的。RO 在 EIT-CVaR 中变得过度保守,长期持有较多现金,导致收益表现差。NN-IR 和 NN-ST 也偏保守,跟踪误差较小但收益也较低。NN-ISR 和 NN-All 则仍然在 MER、IR、Sharpe ratio 和 CR 上表现较好。
从权重图看 policy
论文的权重图是理解模型的关键。
IT 中,各策略通常较均匀地配置股票和现金,并且权重变化较慢。NN-ST 表现好,主要来自 score block 对短期特征的使用。
EIT 和 EIT-CVaR 中,策略会更集中于某些股票;加入 CVaR 后会更分散,但 AAPL 在 NN-ISR 和 NN-All 中仍然占较大权重。NN-ISR 和 NN-All 的特点是灵活:牛市中更多持有高收益股票,熊市中减少股票并增加现金。2020 年市场下跌时,cash weight 的明显上升就是 flight to safety。
RO 在 EIT 中不能很好地 flight to safety;在 EIT-CVaR 中可以提高现金,但恢复后长时间重仓现金,因而过度保守。NN-IR 只用 index regime,也能随市场 regime 切换调整权重,但 flight to safety 不如 NN-ISR 明显。这说明 gate block 中的 stock regime 信息很重要。
main、gate、memory 分别学到了什么
论文还展示了各个 block 的输入输出曲线。
这三张图对应论文的 feature importance 结论:IT 中短期特征最有用;EIT 和 EIT-CVaR 中,index regime 和 stock regime 都重要。只考虑短期特征不能得到满意的 EIT 结果。
交易成本的影响
IT 中,各策略权重变化慢,所以交易成本低。EIT 和 EIT-CVaR 中,神经网络策略调仓更剧烈、更频繁,因此交易成本对收益影响明显。
但论文的结论不是“交易成本毁掉了神经网络策略”。相反,使用合适特征的神经网络策略仍然优于 RO。并且收益表现最好的 NN-ISR 并不是交易成本最高的策略。这说明 memory block 的设计确实起作用。
跨市场补充
论文还在 S&P 100、FTSE 100 和 Nikkei 225 上测试 EIT-CVaR + 交易成本,股票数量取 。训练期从 2003 年开始,测试期为 2019-2023。CVaR 约束分别设置为 3%、2.7%、3.3%,接近各指数训练期的 95%-CVaR 估计。
结果是:除 FTSE 100 和 Nikkei 225 的 5 只股票案例外,NN-ISR 在 9 个案例中的 7 个取得更低 test loss 和更高 CR、Sharpe ratio;MER 和 IR 在 8 个案例中优于 RO。论文据此认为 NN-ISR 相对 RO 的改善对指数和股票数量变化具有一定稳健性。
Nikkei 225 是一个重要反例。NN-ISR 和 RO 都没有产生相对指数的 excess CR。论文给出两个原因:按市值选出的 Nikkei 225 大盘股本身表现较差;CVaR 约束让策略更保守,进一步牺牲收益。因此,论文最后指出后续需要改进 stock selection,特别是在大盘股表现不好的市场里。
论文结论
这篇论文的结论可以归纳为五点。
第一,提出了一个 data-driven deep learning method,用于 EIT 的动态再平衡。第二,引入 index regime 和 stock regime 作为特征,并发现它们对提升 EIT 投资表现很关键。第三,网络结构被设计成 parsimonious、scalable、easy to train,并且有更好的 interpretability。第四,实证结果验证了该方法相对 conventional RO method 的优势。第五,框架本身是 flexible 的,可以继续加入更多特征和约束。
几点补充
站在读者角度,我会把这篇文章理解为一个结构化动态控制框架,而不是“深度学习魔法选股”。选股仍然采用市值准则;真正的创新在于权重分配里显式利用 regime、CVaR 和交易成本。
因此它的优势主要来自两点:一是 regime-driven 的动态调仓,尤其是 2020 年那种 flight to safety;二是 memory block 对交易成本的控制。它也有清楚的边界:regime 实时识别有噪声,按市值选股依赖市场环境,超额收益不是无条件保证。