📐 微积分与优化:凸性、约束与迭代

凸性为什么是「可自动化求解」的保证(含非凸反例)、拉格朗日乘子作为影子价格的读法、梯度下降与牛顿法的分工逻辑(附选择口诀)——把想法变成仓位的最后一步数学。

优化是「把想法变成仓位」的最后一步数学:因子给出信号,优化器给出权重。本篇回答三个实务问题——什么问题能被可靠求解(凸性)、约束怎么进入数学(拉格朗日)、大模型怎么训练(迭代法)。

凸优化:为什么「局部最优 = 全局最优」是奢侈品

凸集:集合内任两点的连线仍在集合内。凸函数:任两点间的函数值不超过连线值(碗形)。凸优化问题 = 在凸集上最小化凸函数,它的奢侈之处:

  • 任何局部最优解就是全局最优解——不会陷入「次优仓位」;
  • 求解可靠且高效(内点法多项式时间),工程上敢于自动化。

均值-方差问题天生是凸的:目标 wᵀΣw 是凸函数(只要 Σ 半正定,见线性代数 ),预算约束 wᵀ1 = 1 是仿射集。所以组合优化器才敢无人值守地每天跑。反例要警惕:一旦引入交易成本的非凸近似(固定成本跳变)、整数约束(股票要么不买要么买够一手)、或目标里出现比率(如最大化夏普的朴素写法),凸性破坏,解的可靠性骤降。

非凸问题的两个出路(各举一例):

  1. 凸化改写:最大化夏普比率 μᵀw/√(wᵀΣw) 本身非凸,但在标准假设下可改写为等价的二次规划(Schaible 变换)——工程上求解的是等价的凸问题;
  2. 接受非凸 + 验证解的稳定性:整数约束(最小交易手数)下用启发式求解,然后从多个随机起点重跑——解的分散度小才可信;若不同起点给出差异巨大的「最优组合」,说明问题本身病态,输出不可用。

凸性的交易直觉:分散化本身就是凸性的体现——「一半 A + 一半 B」的风险不高于两者的平均。凹的效用(风险厌恶)与凸的风险度量相遇,才有「最优组合」唯一存在。

拉格朗日乘子:约束的价格

最小方差组合问题:

min wᵀΣw s.t. wᵀ1 = 1

构造拉格朗日函数 L = wᵀΣw − λ(wᵀ1 − 1),对 w 求导置零得 2Σw = λ·1,解出 w = (λ/2)·Σ⁻¹1,再由预算约束定出 λ——这就是「等风险贡献」思路的起点(见风险平价 )。

乘子 λ 的经济含义是「影子价格」:约束放松一单位,目标值改善多少。在带风险预算的收益最大化问题里,λ 就是「每多容忍一单位方差,能多买多少期望收益」——它把「风控官与基金经理的谈判」变成了一个数字。同理:换手约束的乘子 = 多给一次换手自由度值多少 alpha;行业中性约束的乘子 = 放弃行业择时的机会成本。看乘子的大小,就知道哪条约束真正在束缚组合——实务中优化器输出被拒时,先看乘子再放松约束,比盲目放开更科学(乘子报表的季度评审见约束优化 )。

不等式约束(如 wᵢ ≥ 0 禁止做空)通过 KKT 条件进入:每个触碰边界的约束都有一个非负乘子,不触碰的约束乘子为零——「约束不痛,就没有价格」。

梯度下降与牛顿法:机器学习的发动机

梯度下降:θ ← θ − η·∇L(θ),沿负梯度方向小步走。深度学习几乎全靠它(及其变体 Adam)。量化用途:

  • 神经网络收益预测的训练(见深度学习量化 )——百万参数只能迭代求解;
  • 逻辑回归涨跌分类器:损失是凸的交叉熵,梯度下降稳定收敛(见监督学习 );
  • 学习率 η 的直觉:太大在山谷两侧震荡(参数在样本内外绩效间反复横跳),太小训练太慢(研究周期拉长),早停(early stopping)本身就是正则化。

牛顿法:用二阶信息(曲率)一步到位:θ ← θ − H⁻¹∇L。二次目标一步收敛。代价是 Hessian 求逆 O(n²) 存储 / O(n³) 计算——参数上百就只能用拟牛顿(BFGS/L-BFGS)。量化用途:

  • GARCH 参数估计(极大似然):参数只有 3–5 个,牛顿族方法快速且精确;
  • 逻辑回归/Probit 的标准解法:小参数量下比梯度下降更快更稳。

一阶 vs 二阶的选择逻辑一句话:参数多、目标粗糙(带噪声)→ 一阶;参数少、目标光滑 → 二阶。这与「深度学习用 SGD、GARCH 用 BFGS」的行业现状完全对应。

两个实务警告:

  1. 优化器不是越强越好。金融输入(μ、Σ)本身带巨大估计误差,「精确求解一个错误的问题」不如「近似求解一个稳健化的问题」——收缩 Σ、限制换手、限制权重上限,都是在用约束买稳健(见约束优化 );
  2. 收敛≠正确。优化器收敛到的是目标函数的最优,而目标函数(如历史均值最大化的夏普)可能本身就是过拟合的放大器——先审目标,再谈求解。

关联阅读:MPT 与均值-方差 是本篇数学的历史起点;组合约束 是拉格朗日思想的工程目录;强化学习 用另一类优化(策略梯度)直接优化交易行为。