人工智能 52:神经网络组合优化初探
创建于 更新于
摘要
本文基于CvxpyLayers,将组合优化嵌入神经网络框架,实现量化投资全流程的端到端优化。研究包括三种凸优化案例(Softmax函数、风险预算模型、马科维茨模型)及代码,重点构建了基于风险预算的因子模型和端到端LSTM模型,对国内外资产配置进行了实证测试。结果显示,两个基于CvxpyLayers的模型在不同资产配置均优于传统风险平价模型,且通过对资产偏配权重和超额收益来源的分析,揭示了模型有效的成因 [page::0][page::3][page::9][page::13][page::14][page::21]。
速读内容
量化投资流程与神经网络端到端优化框架 [page::3]

- 因子生成、多因子合成、组合优化是量化投资三重要步骤。
- 传统组合优化方法独立且不可传播梯度,限制了端到端训练。
- 利用CvxpyLayers,将凸优化作为神经网络层嵌入,实现全流程端到端优化。
CvxpyLayers及三种凸优化实例详解 [page::4][page::5][page::6][page::7][page::8]

- CvxpyLayers使凸优化可作为PyTorch、TensorFlow等神经网络层,支持梯度传播。
- 实例一:Softmax函数的凸优化形式证明及加权约束代码。
- 实例二:风险预算模型的非凸问题转化为凸优化的数学证明及代码示范。
- 实例三:马科维茨模型的构建及结合CvxpyLayers的代码样例。
基于CvxpyLayers的风险预算模型构建与训练 [page::10][page::11][page::12]


- 构建两个核心模型:因子模型FactorModel(基于人工因子输入)、端到端LSTMModel(直接输入日收益率数据)。
- 结构均含全连接层、Softmax、HardTanh约束风险预算输出及CvxpyLayers凸优化层计算权重。
- 模型训练采用滚动时间窗,训练集与验证集分割,重复训练五次后均值预测,避免随机噪声影响。
回测指标与模型绩效对比 - 国内外资产配置 [page::13][page::14][page::15]
| 模型 | 年化收益率 | 年化波动率 | 夏普比率 | 最大回撤 | Calmar比率 | 总换手率 |
|--------------|------------|------------|----------|----------|------------|----------|
| 风险平价 | 2.76% | 4.90% | 1.69 | -4.49% | 1.04 | 33.54 |
| FactorModel2 | 4.98% | 3.17% | 1.57 | -4.01% | 1.24 | 39.00 |
| LSTMModel2 | 5.02% | 3.14% | 1.60 | -4.09% | 1.23 | 38.02 |
- FactorModel2和LSTMModel2均显著跑赢风险平价,提升组合收益表现。
- LSTMModel2利用LSTM自动提取因子,实现因子挖掘、合成和优化端到端流程。
- 超额收益主要来自标普500和彭博贵金属子指数资产的偏配。
超额收益贡献及资产偏配权重动态分析 [page::15][page::16]

- LSTMModel2超配权益类资产沪深300、标普500及贵金属,低配债券类资产。
- 超额收益贡献中,标普500和贵金属偏配贡献最大,验证模型挖掘的有效性。
国内资产配置测试与回测表现 [page::17][page::18][page::19][page::20]
| 模型 | 年化收益率 | 年化波动率 | 夏普比率 | 最大回撤 | Calmar比率 | 总换手率 |
|--------------|------------|------------|----------|----------|------------|----------|
| 风险平价 | 1.59% | 2.70 | 2.70 | -2.88% | 1.48 | 18.43 |
| FactorModel2 | 4.55% | 1.85% | 2.46 | -2.94% | 1.55 | 21.94 |
| LSTMModel2 | 4.56% | 2.09% | 2.19 | -3.89% | 1.17 | 24.47 |
- 策略在国内资产配置中同样优于风险平价,表现稳定。
- 超额收益主要由中证500及SGE黄金9999偏配贡献。
研究结论与展望 [page::21]
- 通过CvxpyLayers实现了传统组合优化与神经网络的无缝连接,打通因子构建、合成及组合优化端到端流程。
- 基于风险预算的两类模型在国内外资产配置中均实现超越基准的表现。
- LSTM模型自动因子提取能力显著,提升组合收益,贡献主要资产偏配超额收益。
- 未来研究方向包括引入基本面因子、多目标CTA及多因子选股、动态调节组合优化超参等。
深度阅读
金融研究报告《人工智能52:神经网络组合优化初探》详尽分析报告
---
一、元数据与报告概览
- 报告标题: 人工智能52:神经网络组合优化初探
- 发布机构: 华泰证券股份有限公司研究部
- 发布时间: 2022年1月9日
- 作者: 林晓明、李子钰、何康等
- 主题领域: 人工智能技术在量化投资中的应用,聚焦神经网络驱动的组合优化,搭建端到端的量化投资框架。
- 核心观点与结论:
报告探讨了如何通过将传统组合优化的凸优化方法嵌入神经网络框架(利用CvxpyLayers),实现包括因子生成、多因子合成及组合优化的端到端流程优化。基于风险预算模型建立了两个实际组合优化模型(因子模型FactorModel和端到端LSTMModel),在国内外典型大类资产池中进行回测,平均跑赢风险平价模型,获得超额收益,且通过梯度传播优化资产权重分配。报告认为CvxpyLayers突破了传统组合优化方法的限制,极大提升了组合优化的灵活性和整体模型的表现能力。
---
二、逐节深度解读
2.1 引言及研究背景
报告开篇定义量化投资流程为三大步骤:因子生成、多因子合成及组合优化,指出传统组合优化由于不可导,无法实现端到端优化,导致信息损耗和模型非整体最优。引入CvxpyLayers作为突破口,允许将凸优化问题作为神经网络层嵌入,实现梯度可传播,支持组合优化直接参与神经网络训练[page::0,3]。
2.2 传统组合优化的局限及CvxpyLayers简介
基于经典马科维茨模型的参数式表达:
\[
\min{\mathbf{w}} \lambda \mathbf{w}^T \Sigma \mathbf{w} - \boldsymbol\mu^T \mathbf{w}
\]
带有等式和不等式约束的凸优化问题,传统做法通过固定预期收益$\mu$,且$\lambda$参数通常采用遍历选取,且优化层独立,无法实现端到端梯度求导[page::4]。
CvxpyLayers提供的技术框架基于规范参数化规划(DPP)和仿射-求解器-仿射(ASA)格式,将凸优化问题分解为可微仿射映射,使得求解结果相对于参数的梯度可求,集成到主流深度学习框架(PyTorch、TensorFlow等)(图表2)[page::4]。
2.3 三个凸优化案例详解
- 案例一:Softmax函数的凸优化表达
经典神经网络中Softmax函数定义输出权重向量:
\[
f(x)j = \frac{e^{xj}}{\sumi e^{xi}}
\]
可转化为带熵正则项的凸优化问题:
\[
\min{w} -x^T w - H(w)
\]
约束为$w$为概率分布(非负且和为1)。报告给出拉格朗日乘子法证明该优化问题的KKT条件与Softmax解析解一致,验证等价性[page::5-6]。同时提供了基于CvxpyLayers实现带权重上限约束的代码示例,方便对投资权重设限,贴合实际需求[page::5-6]。
- 案例二:风险预算模型的凸优化转换
原始风险预算模型目标为:
\[
\minw \sumi \left( \frac{wi (\Sigma w)i}{w^T \Sigma w} - bi \right)^2
\]
其中$bi$为风险预算权重,该问题非凸,难以直接嵌入神经网络。报告基于拉格朗日方法引入变量$y$:
\[
\miny \sqrt{y^T \Sigma y}, \quad \text{s.t. } \sumi bi \ln yi \geq c
\]
归一化后$wi = yi / \sumi yi$,通过证明,等价于原风险预算问题,成功将复杂非凸问题转为可嵌入的凸优化问题[page::6-7]。代码示例说明具体用法和框架调用[page::7]。
- 案例三:马科维茨模型嵌入
基于标准马科维茨目标函数,CvxpyLayers可实现参数化求解,支持灵活调节风险厌恶系数等超参数,支持复杂多约束,多输出形式。代码示例演示了如何定义参数、变量、约束和目标,结合深度学习框架[page::8]。
2.4 基于CvxpyLayers的风险预算模型实证
2.4.1 数据准备
- 国内外两套典型资产配置标的池,含股票、国债、商品期货等,时间跨度长且覆盖典型指数。
- 计算过去30日日频收益率,估计协方差矩阵,并构建未来20日的收益目标,用以指导权重学习[page::9-10]。
2.4.2 模型设计
- 因子模型FactorModel:
输入为人工构造的55个价量因子,通过两层全连接网络(第一层LeakyReLU,第二层Softmax+HardTanh裁剪风险预算上下限),将隐藏输出映射为风险预算权重,随后通过CvxpyLayers层进行风险预算凸优化,输出资产权重;整个过程端到端训练,损失函数为负的累计组合收益,使用Adam优化器训练,设置提前停止,训练细节详见图表10与11[page::10-11]。
- 端到端模型LSTMModel:
输入直接为过去30日5个资产的日收益率,经过单层LSTM层提取特征,输出55因子到后续相同的两层全连接结构,最终同样接入风险预算凸优化层,端到端训练。模型架构及训练参数详见图表12与13[page::11-12]。
2.4.3 训练与测试流程
- 采用滚动训练方案,样本时长充足且设立训练集与验证集。
- 鲁棒性考虑重复5次训练并综合预测。
- 测试期内每20日调仓一次,使用最新训练模型。
- 交易成本设置保守[page::12]。
2.5 模型实测数据分析
2.5.1 国内外资产配置测试
- FactorModel三个上下限版本均实现超过风险平价的年化收益率,FactorModel2表现最佳,年化收益率最高近5%,回撤等指标良好,换手率适中,风险预算动态分配均衡(图表14-17)[page::13]。
- LSTMModel同样取得有效超额收益(图表18-21),模型反映出标普500和彭博贵金属子指数偏配,贡献超额收益主力(图表22-26),图表27展示风险平价模型权重供对比[page::14-16]。
2.5.2 国内资产配置测试
- FactorModel及LSTMModel在国内子集合上的表现也优于风险平价,收益率提升明显[page::17,18]。
- 风险预算和资产权重动态调整显示对中证500及SGE黄金9999的超配是贡献主要超额收益的关键(图表31,35,36-40,与风险平价对比图表31,41)[page::17-20]。
---
三、图表深度解读
- 图表1: 展现量化投资中从因子生成、多因子合成到组合优化的流程,表明报告目标在于打通三个环节,实现端到端的神经网络优化框架,其中组合优化以CvxpyLayers实现,可传播梯度。图示直观清晰地阐释了研究架构和创新点[page::3]。
- 图表2: 技术示意图表述CvxpyLayers将凸优化作为神经网络层集成至PyTorch、TensorFlow等框架,配合数学公式,形象揭示技术实现机制[page::4]。
- 图表3-4: 代码实现用例清晰展示Softmax函数以及风险预算模型的CvxpyLayers编程方法,重点体现优化问题的形式以及Python多风格调用示范,直观体现理论到实践过渡[page::5-7]。
- 图表6-9: 标的池的基础统计与历史归一化价格趋势系列图,帮助理解模型训练及回测环境,显示标的整体涨跌及波动情况,为后续模型评估提供背景依据,数据涵盖时间跨度长,资产多样[page::9-10]。
- 图表10-13: 两个核心模型的网络结构示意,明确模型架构各部分:输入、特征提取层、风险预算映射层、凸优化层及反向传播路径,表格补充了具体神经网络参数和训练配置[page::11-12]。
- 图表14-17 & 18-21: FactorModel和LSTMModel在国内外资产配置上的回测绩效表及净值曲线,直观显示模型优于风险平价的收益优势及超额收益累计情况,风险预算条形图揭示资产风险贡献权重动态分布[page::13-14]。
- 图表22-27: LSTMModel2的超配资产及其对超额收益的贡献详解,配合资产偏配权重与收盘价走势的时间序列图,为超额收益来源定量分析提供视觉支持,清晰表现标普500及黄金偏配的重要性,权重对比揭示策略偏差[page::15-16]。
- 图表28-31 & 32-35: 国内资产配置版的回测绩效以及净值变化,体现模型有效提升收益,风险预算的动态调整也与海外池相似,展现端到端模型在国内市场的优异表现[page::17-18]。
- 图表36-41: 国内市场LSTMModel2资产偏配及其超额贡献的详细时间序列,以及权重与风险平价对比,直观展现对中证500和黄金的超配如何支持正收益,风险预算的变化助力动态资产配置策略的稳定性[page::19-20]。
---
四、估值分析
本报告核心并非传统的股票估值,而是将组合优化问题纳入深度学习链条,实现端到端学习。估值的核心指标为优化后资产组合收益最大化及风险预算合理配置。利用CvxpyLayers中凸优化问题的求解,参数包括风险预算上下限、协方差矩阵、收益预期(隐含通过预测目标构造)、风险厌恶参数(如有动态调节)。所述优化目标明确围绕资产组合收益和风险预算展开,实质上是对传统的资产权重计算公式的神经网络端到端参数化赋能[page::4-7,10-12]。
---
五、风险因素评估
- 历史效用局限性:深度学习模型基于历史数据训练,且动态调参。因市场环境变化,策略可能失效,尤其遇到极端市场事件或结构性变革时,风险显著[page::0,22]。
- 神经网络随机性和可解释性:训练结果受初始化和随机过程影响明显,缺乏传统金融模型的明确可解释架构,投资者需谨慎解读策略决策过程[page::0,22]。
- 参数超调风险:模型虽支持动态调整组合优化参数,但优化效果和收敛稳定性依赖于参数空间及初值设定,存在过拟合或欠拟合风险。
- 交易成本与执行风险:模型调仓频率及换手率对实际交易成本敏感,尽管报告采用单边万分之五的成本模拟,市场流动性风险与滑点未充分展开。
- 模型鲁棒性:多次训练取平均虽缓解随机性,但整体依赖模型设计、超参数,缺乏对市场内在风险如极端尾部风险的直接控制。
---
六、批判性视角与细微差别
- 创新性与复杂度权衡:报告大胆尝试结合凸优化与神经网络端到端训练,填补传统组合优化与深度学习间断层,但对模型参数敏感度、过拟合风险弱化讨论,不同市场及资产类别下性能稳定性需实证检验。
- 理论推导与实践结合性:拉格朗日乘子法的证明为理论严谨但假设较强,在实证部分模型对参数(如风险预算上下限)依赖性及选取依据未充分透明说明。
- 超额收益贡献分析有限:报告侧重于偏配资产的超额贡献分解,但未细化考虑组合整体风险调整后的表现及风险来源区分。
- 数据及训练周期选择可能影响有效性:训练窗口设置、样本划分和调仓频率,可能与现实市场信息传递存在时滞,未深度探讨随机行波动带来的策略时效风险。
- 建议与应用范围:报告风险提示强调策略需谨慎使用,暗含实际应用需结合更丰富市场信息及投资者约束。
---
七、结论性综合
本报告全面探讨了将传统组合优化内嵌于神经网络的技术框架,通过CvxpyLayers解决凸优化可微求导问题,实现了量化投资因子生成、多因子合成到组合优化的全流程端到端训练。三个核心凸优化案例(Softmax函数、风险预算模型、马科维茨模型)的理论证明及代码实现,为技术推广提供了系统工具支撑。
实证上,采用因子模型FactorModel与端到端模型LSTMModel,在国内外具有代表性的大类资产池构建风险预算组合,连续滚动训练并调仓,均显著超过风险平价基准,年化收益率提升稳定,夏普比率与最大回撤表现均优,体现出神经网络驱动组合优化的实用价值。模型超额收益的主要贡献资产明确,国外市场以标普500与贵金属,国内市场则以中证500及SGE黄金9999为主。
多张图表系统揭示了模型结构、训练参数、资产权重动态、风险预算波动及回测净值变化趋势,佐证了理论创新向实务应用的成功转化。报告对CvxpyLayers技术原理及实现细节进行了深入介绍,展示了其打通神经网络计算与传统优化算法的关键突破,有望推动量化投资模型质的提升。
然需关注的是本方法依赖于较强数学假设与历史数据规律稳定性,神经网络方法本身随机性带来的不确定性、缺乏完备因果解释等问题,要求实际应用时须谨慎,结合多维指标与风险管理把控。未来可探索更广泛因子集成、更复杂约束情形,以及动态风险参数调控的实证性能和理论保障。
综上,华泰证券本报告成功构建并验证了基于神经网络的端到端组合优化框架,创新性地融合了凸优化与深度学习技术,为量化投资策略发展开辟新路径,具备较大研究价值与潜在应用前景。[page::0-22]
---
附:关键图表展示(示例)
- 图1:量化投资端到端流程示意
- 图2:CvxpyLayers技术架构

- 图15:FactorModel净值曲线(效果优于风险平价)
- 图20:LSTMModel2净值与超额收益

- 图27/41:风险平价及LSTMModel权重分布对比图
---
【本报告所有引用数据、图表均来自报告正文页面,规范引证页码分别注明。】