凸集与凸函数基础
凸优化之所以在金融工程、投资组合管理、风险度量与衍生品定价等领域占据核心地位,根本原因在于其“局部最优即全局最优”的优良性质。无论是求解最小方差投资组合、计算条件风险价值(CVaR),还是进行最优交易执行策略设计,本质上都依赖于对凸集与凸函数的精确刻画。本节将系统建立凸集与凸函数的数学定义、判定准则与典型范例,为后续章节的优化建模与算法设计奠定坚实基础。
2.1 凸集的定义与核心性质
2.1.1 凸集的数学定义
设集合 C ⊆ ℝⁿ,若对任意 x₁, x₂ ∈ C 及任意 θ ∈ [0,1],均有:
θx₁ + (1-θ)x₂ ∈ C
则称 C 为凸集。该定义的几何含义十分直观:集合中任意两点之间的连线(线段)完全包含在该集合内。若集合中存在两点,其连线上的某一点不在集合内,则该集合为非凸集。
2.1.2 凸集的重要性质与运算
凸集在若干运算下保持封闭性,这些性质在构建金融约束条件时极为有用:
| 运算类型 | 数学表达 | 金融应用示例 |
|---|---|---|
| 交集 | C₁ ∩ C₂ 仍为凸集 | 同时满足预算约束与风险上限约束的可行集 |
| 仿射变换 | 若 C 凸,则 {Ax + b : x ∈ C} 凸 | 资产收益的线性变换不改变可行域凸性 |
| 透视函数 | 若 C 凸,则透视映射保持凸性 | 将风险约束转换为相对风险约束 |
| Minkowski和 | C₁ + C₂ = {x+y} 仍为凸集 | 多资产类别组合的可行域叠加 |
2.1.3 常见凸集示例
- 超平面:{x : aᵀx = b},对应金融中的线性等式约束(如预算约束)
- 半空间:{x : aᵀx ≤ b},对应线性不等式约束(如风险限额)
- 多面体:有限个半空间的交集,是线性规划可行域的标准形式
- 范数球:{x : ‖x‖ ≤ r},对应投资组合的杠杆限制或风险预算
- 半正定锥:S₊ⁿ = {X ∈ Sⁿ : X ⪰ 0},对应协方差矩阵的可行性约束
2.2 凸函数的判定准则
2.2.1 凸函数定义与一阶条件
函数 f : ℝⁿ → ℝ 在凸集 dom f 上为凸函数,若对任意 x, y ∈ dom f 及 θ ∈ [0,1]:
f(θx + (1-θ)y) ≤ θf(x) + (1-θ)f(y)
当 f 可微时,一阶条件提供了等价判定:
f(y) ≥ f(x) + ∇f(x)ᵀ(y - x), ∀x, y ∈ dom f
该条件表明凸函数的图像始终位于其任意点切平面之上。在金融优化中,这意味着目标函数的局部线性近似是全局下界,为梯度类算法提供了收敛保证。
2.2.2 二阶条件与Hessian矩阵
当 f 二阶可微时,f 为凸函数当且仅当其Hessian矩阵在定义域内处处半正定:
∇²f(x) ⪰ 0, ∀x ∈ dom f
对于一元函数,该条件简化为 f''(x) ≥ 0。对于多元函数,需要验证 Hessian 矩阵的所有主子式非负。这一条件在金融风险度量中尤为重要——例如,均值-方差模型的目标函数 xᵀΣx 的 Hessian 为 2Σ,当协方差矩阵 Σ 半正定时目标函数为凸。
2.2.3 保凸运算与复合规则
实际金融建模中,目标函数往往由多个基本函数复合而成。以下保凸运算使得我们可以从简单凸函数构造复杂凸函数:
- 非负加权和:若 f₁, f₂ 为凸函数且 w₁, w₂ ≥ 0,则 w₁f₁ + w₂f₂ 为凸函数
- 与仿射函数复合:若 f 为凸函数,则 f(Ax + b) 为凸函数
- 逐点取最大值:若 f₁, ..., fₘ 均为凸函数,则 max{f₁(x), ..., fₘ(x)} 为凸函数
- 透视函数:若 f 为凸函数,则 g(x, t) = t·f(x/t) 在 t > 0 上为凸函数
2.3 常见凸函数及其金融意义
2.3.1 范数函数
任意范数 ‖x‖ 均为凸函数。金融建模中常用的范数包括:
| 范数类型 | 定义 | 金融应用 |
|---|---|---|
| L₁ 范数 | ‖x‖₁ = Σ|xᵢ| | 稀疏投资组合、交易成本最小化 |
| L₂ 范数 | ‖x‖₂ = √(Σxᵢ²) | 最小方差组合、岭回归 |
| L∞ 范数 | ‖x‖∞ = max|xᵢ| | 最大持仓限制、风险集中度约束 |
| 核范数 | ‖X‖_* = Σσᵢ(X) | 低秩矩阵恢复、因子模型降维 |
2.3.2 指数函数与对数函数
指数函数 e^(ax)(a ≠ 0)在 ℝ 上为凸函数;负对数函数 -log x 在 (0, +∞) 上为凸函数。这两类函数在金融中具有深刻含义:
- 指数效用函数:U(x) = 1 - e^(-ax)(a > 0),刻画风险厌恶投资者的效用
- 对数效用函数:U(x) = log x,对应 Kelly 准则下的最优增长策略
- 指数罚函数:e^(λx) 用于约束尾部风险,与 CVaR 约束密切相关
2.3.3 负熵函数与信息论关联
函数 f(x) = x·log x(定义域 x > 0)为凸函数,其负值 -x·log x 为凹函数。该函数在金融中具有多重应用:
相对熵(KL散度):D_KL(P‖Q) = Σ pᵢ·log(pᵢ/qᵢ) 关于 P 为凸函数
在投资组合理论中,负熵函数用于:
- 熵约束投资组合:在组合权重上施加熵正则化,避免过度集中
- 风险中性概率估计:最小化与先验分布的 KL 散度
- 策略多样性度量:衡量投资策略的信息含量
2.3.4 二次函数与半正定矩阵
二次函数 f(x) = xᵀQx + pᵀx + r 为凸函数当且仅当 Q ⪰ 0(半正定)。这是金融优化中最常见的函数形式:
最小方差组合:min wᵀΣw
约束条件:1ᵀw = 1, w ≥ 0
其中 Σ 为资产收益协方差矩阵,天然满足半正定性。该问题的凸性保证了全局最优解的存在性与唯一性(当 Σ 正定时)。
2.4 案例拆解:凸性验证在投资组合优化中的应用
2.4.1 问题背景与约束条件
某资产管理公司需要构建一个包含 5 类资产的配置方案,目标是在控制风险的同时最大化收益。初始建模如下:
目标函数:min wᵀΣw - μᵀw
约束条件:
① 预算约束:Σwᵢ = 1
② 杠杆约束:‖w‖₁ ≤ 1.5
③ 风险预算:wᵀΣw ≤ 0.02
④ 权重下限:wᵢ ≥ 0(不允许做空)
2.4.2 凸性验证过程
| 模型组件 | 凸性判断 | 判定依据 |
|---|---|---|
| 目标函数 wᵀΣw - μᵀw | 凸函数 | Σ ⪰ 0,二次项凸;-μᵀw 为线性函数(既凸又凹) |
| 预算约束 Σwᵢ = 1 | 仿射集(凸) | 线性等式约束定义超平面 |
| 杠杆约束 ‖w‖₁ ≤ 1.5 | 凸集 | L₁ 范数球为凸集 |
| 风险预算 wᵀΣw ≤ 0.02 | 凸集 | 二次函数的上水平集(Σ ⪰ 0 时) |
| 权重下限 wᵢ ≥ 0 | 凸集 | 非负象限为凸锥 |
2.4.3 求解与结果分析
由于所有约束均为凸集且目标函数为凸函数,该问题为凸优化问题,可使用内点法或交替方向乘子法(ADMM)高效求解。求解结果如下:
最优权重:w* = [0.35, 0.25, 0.20, 0.12, 0.08]
组合方差:w*ᵀΣw* = 0.0158(低于风险预算 0.02)
组合收益:μᵀw* = 0.082(年化)
杠杆使用:‖w*‖₁ = 1.00(未触及上限)
2.4.4 复盘与扩展
该案例验证了凸性检查在金融建模中的核心价值。进一步扩展方向包括:
- 引入交易成本项 λ‖w - w₀‖₁,利用 L₁ 范数的凸性保持问题可解性
- 将风险度量替换为 CVaR,通过线性规划重构保持凸性
- 加入因子暴露约束,利用仿射变换的保凸性
2.5 常见误区与总结
2.5.1 典型误区
| 误区描述 | 正确理解 |
|---|---|
| 认为凹函数是凸函数的“反面” | 凹函数是凸函数的相反数(-f 为凸),两者并非互补关系 |
| 混淆凸集与凸函数 | 凸集是定义域的性质,凸函数是映射的性质;凸函数的定义域必须是凸集 |
| 忽略 Hessian 半正定的全域性 | Hessian 必须在整个定义域内半正定,而非仅在局部点成立 |
| 误判非凸约束为凸约束 | 如 wᵀΣw ≥ c 定义的是非凸集,需通过变换或松弛处理 |
| 忽视保凸运算的适用条件 | 非负加权要求权重非负;复合运算要求外层函数非减等条件 |
2.5.2 核心要点总结
- 凸集判定:验证任意两点的凸组合仍在集合内,或利用交集、仿射变换等保凸运算
- 凸函数判定:优先使用一阶条件(梯度单调)或二阶条件(Hessian 半正定)
- 保凸运算:非负加权、仿射复合、逐点取最大、透视函数是四大核心工具
- 金融建模流程:先验证目标函数凸性,再逐一检查约束集凸性,最后选择合适的求解算法
- 常见凸函数库:范数、指数、负熵、二次型(半正定矩阵)是最常用的构建模块