最优化方法
凸优化 (Convex Optimization)
量化金融中大量问题可以归结为优化问题。凸优化是其中最重要的一类,因为局部最优即全局最优。
标准形式的凸优化问题:
其中 \(f(x)\) 和 \(g_i(x)\) 为凸函数,\(h_j(x)\) 为仿射函数。
凸性判断
函数 \(f\) 是凸函数当且仅当其 Hessian 矩阵半正定:\(\nabla^2 f(x) \succeq 0\)。在投资组合优化中,方差 \(w^T \Sigma w\) 是权重 \(w\) 的凸函数(\(\Sigma\) 半正定),因此均值-方差优化本质上是凸二次规划 (Convex QP)。
拉格朗日乘数法 (Lagrange Multipliers)
对于等式约束优化问题:
构造拉格朗日函数 (Lagrangian):
最优性一阶必要条件为:
最小方差组合 (Minimum Variance Portfolio)
目标:\(\min_w \frac{1}{2}w^T\Sigma w\) ,约束 \(\mathbf{1}^T w = 1\)。
拉格朗日函数:\(\mathcal{L} = \frac{1}{2}w^T\Sigma w - \lambda(\mathbf{1}^T w - 1)\)
一阶条件:\(\Sigma w = \lambda \mathbf{1}\),解得:
KKT 条件 (Karush-Kuhn-Tucker Conditions)
对于含不等式约束的一般优化问题,KKT 条件是最优解的必要条件(凸问题中亦为充分条件)。
拉格朗日函数扩展为:
KKT 条件包含四组方程:
互补松弛条件的含义
\(\mu_i g_i(x) = 0\) 意味着:要么约束不起作用 (\(g_i(x) < 0\), \(\mu_i = 0\)),要么约束取等号 (\(g_i(x) = 0\), \(\mu_i \geq 0\))。在组合优化中,这对应于做空约束或仓位上限是否"绑定"(Binding)。
梯度下降法 (Gradient Descent)
对无约束问题 \(\min_x f(x)\),梯度下降通过迭代更新:
其中 \(\eta_k\) 为步长 (Learning Rate)。对于凸且 \(L\)-光滑函数,取 \(\eta = 1/L\) 时收敛速度为 \(O(1/k)\)。
常用变体
随机梯度下降 (SGD):用单个样本或小批量 (Mini-batch) 梯度替代全梯度,适合大规模数据:
Adam 优化器:结合动量 (Momentum) 和自适应学习率,更新规则:
其中 \(\hat{m}_k, \hat{v}_k\) 为偏差修正后的估计。
在量化中的应用
SGD 和 Adam 广泛用于机器学习因子模型的训练、深度学习定价模型以及强化学习交易策略的参数优化。
投资组合优化应用 (Portfolio Optimization)
Markowitz 均值-方差优化
经典问题形式(含做空约束):
这是一个凸二次规划 (QP) 问题,可用内点法 (Interior Point Method) 或有效集法 (Active Set Method) 高效求解。
有效前沿 (Efficient Frontier) 的参数化
不含做空约束时,有效前沿上的组合可以参数化为:
其中 \(g, h\) 为仅依赖 \(\Sigma\) 和 \(\mu\) 的常数向量。有效前沿在 \((\sigma, \mu)\) 空间中是一条双曲线。
估计误差问题
均值-方差优化对输入参数(尤其是期望收益率 \(\mu\))极其敏感。实践中常使用以下方法缓解:
- Black-Litterman 模型:将市场均衡收益率与主观观点结合
- 收缩估计 (Shrinkage):将样本协方差矩阵向结构化目标收缩
- 正则化 (Regularization):在目标函数中添加 \(\ell_1\) 或 \(\ell_2\) 惩罚项
- Resampling:通过 Bootstrap 重采样生成多个有效前沿后取平均