凸集与凸函数基础

凸优化之所以在金融工程、投资组合管理、风险度量与衍生品定价等领域占据核心地位,根本原因在于其“局部最优即全局最优”的优良性质。无论是求解最小方差投资组合、计算条件风险价值(CVaR),还是进行最优交易执行策略设计,本质上都依赖于对凸集与凸函数的精确刻画。本节将系统建立凸集与凸函数的数学定义、判定准则与典型范例,为后续章节的优化建模与算法设计奠定坚实基础。

凸集与凸函数知识结构图 凸集定义 ∀x₁,x₂ ∈ C, θ∈[0,1] θx₁ + (1-θ)x₂ ∈ C 几何意义:连接任意两点的线段 完全包含在集合内 凸函数定义 f(θx₁+(1-θ)x₂) ≤ θf(x₁) + (1-θ)f(x₂) 几何意义:弦在弧上方 Jensen不等式成立 常见凸函数 • 范数:‖x‖ₚ (p≥1) • 指数:e^(ax) • 负熵:x·log x • 二次型:xᵀQx (Q⪰0) 凸函数判定方法 ① 一阶条件(梯度单调性) ② 二阶条件(Hessian半正定) ③ 保凸运算(非负加权、复合等) ④ 定义直接验证 金融应用场景 • 最小方差投资组合 • 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 保凸运算与复合规则

实际金融建模中,目标函数往往由多个基本函数复合而成。以下保凸运算使得我们可以从简单凸函数构造复杂凸函数:

  1. 非负加权和:若 f₁, f₂ 为凸函数且 w₁, w₂ ≥ 0,则 w₁f₁ + w₂f₂ 为凸函数
  2. 与仿射函数复合:若 f 为凸函数,则 f(Ax + b) 为凸函数
  3. 逐点取最大值:若 f₁, ..., fₘ 均为凸函数,则 max{f₁(x), ..., fₘ(x)} 为凸函数
  4. 透视函数:若 f 为凸函数,则 g(x, t) = t·f(x/t) 在 t > 0 上为凸函数
实战技巧:在构建金融优化模型时,优先将目标函数拆解为基本凸函数的组合,利用保凸运算快速验证凸性,而非直接计算 Hessian。例如,最小化 ‖Ax - b‖₂² + λ‖x‖₁ 可视为二次函数与范数函数的非负加权和,直接判定为凸问题。

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 为凸函数

在投资组合理论中,负熵函数用于:

  1. 熵约束投资组合:在组合权重上施加熵正则化,避免过度集中
  2. 风险中性概率估计:最小化与先验分布的 KL 散度
  3. 策略多样性度量:衡量投资策略的信息含量

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(未触及上限)
关键教训:若在建模时误将风险预算约束写为 wᵀΣw ≥ 0.02(要求最低风险),则该约束定义的是非凸集,问题将变为非凸优化,全局最优解无法保证。实际建模中必须仔细检查每个约束的凹凸方向。

2.4.4 复盘与扩展

该案例验证了凸性检查在金融建模中的核心价值。进一步扩展方向包括:

  • 引入交易成本项 λ‖w - w₀‖₁,利用 L₁ 范数的凸性保持问题可解性
  • 将风险度量替换为 CVaR,通过线性规划重构保持凸性
  • 加入因子暴露约束,利用仿射变换的保凸性

2.5 常见误区与总结

2.5.1 典型误区

误区描述正确理解
认为凹函数是凸函数的“反面”凹函数是凸函数的相反数(-f 为凸),两者并非互补关系
混淆凸集与凸函数凸集是定义域的性质,凸函数是映射的性质;凸函数的定义域必须是凸集
忽略 Hessian 半正定的全域性Hessian 必须在整个定义域内半正定,而非仅在局部点成立
误判非凸约束为凸约束如 wᵀΣw ≥ c 定义的是非凸集,需通过变换或松弛处理
忽视保凸运算的适用条件非负加权要求权重非负;复合运算要求外层函数非减等条件

2.5.2 核心要点总结

  1. 凸集判定:验证任意两点的凸组合仍在集合内,或利用交集、仿射变换等保凸运算
  2. 凸函数判定:优先使用一阶条件(梯度单调)或二阶条件(Hessian 半正定)
  3. 保凸运算:非负加权、仿射复合、逐点取最大、透视函数是四大核心工具
  4. 金融建模流程:先验证目标函数凸性,再逐一检查约束集凸性,最后选择合适的求解算法
  5. 常见凸函数库:范数、指数、负熵、二次型(半正定矩阵)是最常用的构建模块
实践建议:在金融优化建模中,建议建立“凸性检查清单”——对每个目标函数组件和约束条件,明确标注其凸性类型及判定依据。这一习惯可以避免大量因模型非凸而导致的求解失败或局部最优陷阱。