基于线性规划的分布式鲁棒优化中矩不确定集下的投资组合优化问题求解示例
我将为您讲解一个基于线性规划的分布式鲁棒优化问题,其中不确定集由矩信息(均值和协方差矩阵的不确定性)定义。这是一个经典的金融投资组合优化问题,其核心思想是在概率分布不确定的情况下,做出最坏情况下的最优决策。
1. 问题描述
问题背景:
在传统的投资组合优化(如Markowitz模型)中,我们假设资产的收益率服从已知的均值和协方差矩阵的正态分布。然而现实中,这些参数往往是估计得到的,存在估计误差。分布式鲁棒优化(Distributionally Robust Optimization, DRO)不假设收益率服从某个特定分布,而是假设其分布属于一个“不确定集”——由一阶矩(均值)和二阶矩(协方差)的某些信息约束的分布集合。我们要找到一个投资组合权重,使得在最坏的分布下(即满足矩约束的所有分布中),期望收益最大(或风险最小)。
数学模型:
假设有 \(n\) 种资产,其随机收益率为向量 \(r \in \mathbb{R}^n\)。我们不知道 \(r\) 的确切分布,但知道其真实分布的均值 \(\mu\) 和协方差矩阵 \(\Sigma\) 位于某个不确定集 \(U\) 内。例如,不确定集可以定义为:
- 均值 \(\mu\) 属于一个椭球集:\(\mu \in \{ m : (m - \bar{\mu})^T S^{-1} (m - \bar{\mu}) \leq \gamma_1 \}\),其中 \(\bar{\mu}\) 是名义(估计)均值,\(S\) 是正定矩阵,\(\gamma_1\) 控制不确定性大小。
- 协方差 \(\Sigma\) 属于一个矩阵集:\(\Sigma \in \{ C : \underline{\Sigma} \preceq C \preceq \overline{\Sigma} \}\),即介于下界矩阵 \(\underline{\Sigma}\) 和上界矩阵 \(\overline{\Sigma}\) 之间(Löwner序)。
目标:
我们希望在满足矩约束的所有分布中,最大化最坏情况下的期望效用(或最小化最坏情况下的风险)。这里我们考虑一个常见形式:最大化最坏情况下的期望收益率,同时限制最坏情况下的方差(风险)不超过一个阈值 \(\sigma^2\)。
用数学表达为:
\[\max_{x \in \mathbb{R}^n} \min_{\mu, \Sigma \in U} \mu^T x \]
\[ \text{subject to} \quad \sup_{\mu, \Sigma \in U} x^T \Sigma x \leq \sigma^2, \quad \sum_{i=1}^n x_i = 1, \quad x_i \geq 0. \]
其中 \(x\) 是投资权重向量。第一行是最大化最坏情况期望收益,第二行的上确界(sup)表示在最坏的协方差矩阵下,投资组合的方差不超过给定阈值 \(\sigma^2\)。这是一个min-max问题。
2. 问题简化与线性规划转换
原问题是一个min-max问题,不易直接求解。但通过鲁棒优化中的对偶化技巧,可以将内部的最小化(对分布)转化为一个可处理的优化问题。
步骤1:处理方差约束
对固定的 \(x\),最坏情况下的方差是 \(\sup_{\Sigma: \underline{\Sigma} \preceq \Sigma \preceq \overline{\Sigma}} x^T \Sigma x\)。这个上确界实际上在 \(\Sigma = \overline{\Sigma}\) 时取到(因为 \(x^T \Sigma x\) 关于 \(\Sigma\) 是线性的,且矩阵不等式是分量的)。因此,方差约束等价于 \(x^T \overline{\Sigma} x \leq \sigma^2\)。这是一个凸二次约束,不是线性约束。
步骤2:处理目标函数中的最坏情况均值
目标函数是 \(\min_{\mu \in M} \mu^T x\),其中 \(M = \{ m : (m - \bar{\mu})^T S^{-1} (m - \bar{\mu}) \leq \gamma_1 \}\)。这是一个凸二次约束下的线性函数最小化。由凸优化理论,其最优值可以通过求解对偶问题得到。具体地:
\[\min_{m \in M} m^T x = \bar{\mu}^T x - \sqrt{\gamma_1} \cdot \sqrt{x^T S x}. \]
这个等式的推导利用了二次约束的对偶(相当于椭球不确定集下的最坏情况线性函数)。这里 \(\sqrt{x^T S x}\) 是欧几里得范数。
步骤3:得到等价的确定性优化问题
将上述两个表达式代入原问题,我们得到:
\[\max_{x} \left( \bar{\mu}^T x - \sqrt{\gamma_1} \cdot \sqrt{x^T S x} \right) \]
\[ \text{subject to} \quad x^T \overline{\Sigma} x \leq \sigma^2, \quad \sum_i x_i = 1, \quad x_i \geq 0. \]
目标函数包含一个范数项 \(\sqrt{x^T S x}\),这仍然是非线性的。但我们可以通过引入辅助变量将其转化为线性规划(LP)或二阶锥规划(SOCP)。不过,如果 \(S\) 是对角矩阵(即各资产收益的不确定性独立),则 \(\sqrt{x^T S x} = \sqrt{\sum_i S_{ii} x_i^2}\),这还不是线性。但通过适当简化,我们可以得到线性规划形式。
一个关键的简化:
如果我们考虑一个更简单的不确定集——均值属于一个多面体集,例如盒约束:\(\mu_i \in [\underline{\mu}_i, \overline{\mu}_i]\),而协方差矩阵固定为 \(\overline{\Sigma}\)(最坏情况)。那么:
- 最坏情况均值变为:\(\min_{\mu} \mu^T x = \sum_i \underline{\mu}_i x_i\)(因为每个分量独立取下界)。
- 方差约束仍为 \(x^T \overline{\Sigma} x \leq \sigma^2\)。
但方差约束仍然是二次的。为了得到纯线性规划,我们进一步简化:假设我们只关心收益,而用绝对偏差(如平均绝对偏差,MAD)作为风险度量,而不是方差。MAD可以表示为 \(E[|r^T x - E[r^T x]|]\),在一些分布假设下可以线性化。但更常见的线性风险度量是条件风险价值(CVaR) 或最小化最大损失。
为了教学,我们转而考虑一个更典型的、可线性化的DRO模型:
假设我们使用平均绝对偏差(MAD) 作为风险度量,并且不确定集由一阶矩的盒约束定义。此时,问题可以完全线性化。
新模型:
设随机收益率 \(r\) 的分布属于集合:
\[\mathcal{P} = \{ P : E_P[r] = \mu, \ \mu_i \in [\underline{\mu}_i, \overline{\mu}_i] \ \forall i, \ E_P[|r^T x - \mu^T x|] \leq \delta \}. \]
这里我们不仅约束均值在盒内,还约束绝对偏差的期望不超过 \(\delta\)(这是一个简化,实际中 \(\delta\) 可能也与不确定集有关)。但为了线性化,我们采用另一种常见方法:考虑有限样本场景下的分布式鲁棒优化,并使用线性对偶。
更实用的线性规划形式:
考虑一个基于矩不确定集的线性规划DRO模型。假设我们有 \(T\) 个历史收益率场景 \(r^1, \dots, r^T\)。我们构建一个不确定集 \(U\) 包含所有概率分布 \(p = (p_1,\dots,p_T)\)(每个场景的概率)满足:
- 概率单纯形:\(\sum_{t=1}^T p_t = 1, p_t \geq 0\)。
- 均值约束:\(\left| \sum_{t=1}^T p_t r^t - \bar{\mu} \right| \leq \gamma\)(分量形式或范数形式)。
- 方差约束:\(\sum_{t=1}^T p_t (r^t - \bar{\mu})(r^t - \bar{\mu})^T \preceq \Gamma\)(矩阵不等式)。
然后,最坏情况下的期望收益为:
\[\min_{p \in U} \sum_{t=1}^T p_t (r^t)^T x. \]
这是一个关于 \(p\) 的线性目标,约束为线性(或二次锥)。通过线性对偶,可以将min问题转化为一个最大化问题,其变量包括拉格朗日乘子,最终得到一个线性规划(如果矩约束是线性的)或二阶锥规划。由于我们希望得到线性规划,我们采用一阶矩不确定集,即只约束均值,不约束方差。
最终采用的线性规划模型:
我们假设均值向量 \(\mu\) 属于多面体集(例如盒约束或椭球的线性近似),并且我们最小化最坏情况下的期望收益的相反数(即最大化收益)。问题写为:
\[\min_{x, t} t \]
\[ \text{s.t.} \quad \mu^T x \geq R_0, \ \forall \mu \in U, \]
\[ \sum_i x_i = 1, \ x_i \geq 0, \]
其中 \(R_0\) 是要求的最小期望收益。这个约束是“对于所有 \(\mu \in U\)”都成立,是半无限约束。如果 \(U\) 是多面体,则它可以等价表示为有限个线性约束(通过取 \(U\) 的极值点)。例如,若 \(U = \{ \mu : A \mu \leq b \}\),则 \(\mu^T x \geq R_0, \forall \mu \in U\) 等价于 \(\min_{\mu: A\mu \leq b} \mu^T x \geq R_0\)。这个内部最小化问题是一个线性规划,其对偶给出等价表示。
对偶化内部最小化:
对固定的 \(x\),考虑线性规划:
\[\min_{\mu} \mu^T x \quad \text{s.t.} \ A \mu \leq b. \]
其对偶为:
\[\max_{\lambda \geq 0} -b^T \lambda \quad \text{s.t.} \ A^T \lambda = -x. \]
由强对偶定理,内部最小值等于对偶最大值。因此,约束 \(\min_{\mu \in U} \mu^T x \geq R_0\) 等价于存在 \(\lambda \geq 0\) 使得 \(A^T \lambda = -x\) 且 \(-b^T \lambda \geq R_0\)。于是原问题转化为:
\[\min_{x, \lambda} 0 \quad (\text{或无目标,但我们需要最大化收益,所以通常有目标}) \]
实际上,如果我们希望最大化最坏情况收益,我们可以将其表述为:
\[\max_{x, \lambda, R} R \]
\[ \text{s.t.} \quad -b^T \lambda \geq R, \]
\[ A^T \lambda = -x, \]
\[ \lambda \geq 0, \]
\[ \sum_i x_i = 1, \ x_i \geq 0. \]
这就是一个线性规划!因为所有约束和目标都是线性的。
3. 具体数值例子
为了具体说明,我们简化设定。假设有2种资产(\(n=2\)),收益率的均值 \(\mu = (\mu_1, \mu_2)\) 属于不确定集:
\[U = \{ (\mu_1, \mu_2) : 0.08 \leq \mu_1 \leq 0.12, \ 0.10 \leq \mu_2 \leq 0.14 \}. \]
这是盒约束,可以写成线性不等式: \(A \mu \leq b\) 为:
\[\begin{pmatrix} 1 & 0 \\ -1 & 0 \\ 0 & 1 \\ 0 & -1 \end{pmatrix} \begin{pmatrix} \mu_1 \\ \mu_2 \end{pmatrix} \leq \begin{pmatrix} 0.12 \\ -0.08 \\ 0.14 \\ -0.10 \end{pmatrix}. \]
我们想最大化最坏情况期望收益 \(R = \min_{\mu \in U} (\mu_1 x_1 + \mu_2 x_2)\),满足 \(x_1 + x_2 = 1, x_1, x_2 \geq 0\)。
应用上述对偶化方法:
内部问题: \(\min_{\mu} \mu_1 x_1 + \mu_2 x_2\) s.t. \(\mu_1 \leq 0.12, -\mu_1 \leq -0.08, \mu_2 \leq 0.14, -\mu_2 \leq -0.10\)。
引入拉格朗日乘子 \(\lambda_1, \lambda_2, \lambda_3, \lambda_4 \geq 0\) 对应四个约束。对偶为:
\[\max_{\lambda \geq 0} 0.12 \lambda_1 - 0.08 \lambda_2 + 0.14 \lambda_3 - 0.10 \lambda_4 \]
s.t.
\[\lambda_1 - \lambda_2 = -x_1, \]
\[ \lambda_3 - \lambda_4 = -x_2. \]
因此,原问题等价于:
\[\max_{x, \lambda, R} R \]
s.t.
\[0.12 \lambda_1 - 0.08 \lambda_2 + 0.14 \lambda_3 - 0.10 \lambda_4 \geq R, \]
\[ \lambda_1 - \lambda_2 = -x_1, \]
\[ \lambda_3 - \lambda_4 = -x_2, \]
\[ x_1 + x_2 = 1, \quad x_1, x_2 \geq 0, \quad \lambda_1, \lambda_2, \lambda_3, \lambda_4 \geq 0. \]
这是一个线性规划,变量为 \(x_1, x_2, \lambda_1, \lambda_2, \lambda_3, \lambda_4, R\),共7个变量,6个线性约束。
4. 求解与分析
我们可以用单纯形法求解上述线性规划。
手动推导:由于只有两种资产,我们也可以直接分析。最坏情况收益为:
\[R = \min_{\mu_1 \in [0.08,0.12], \mu_2 \in [0.10,0.14]} (\mu_1 x_1 + \mu_2 x_2). \]
由于 \(\mu_1, \mu_2\) 独立地取下界时目标最小,所以 \(R = 0.08 x_1 + 0.10 x_2\)。于是原问题变为:
\[\max_{x_1, x_2} 0.08 x_1 + 0.10 x_2 \quad \text{s.t.} \ x_1 + x_2 = 1, x_1, x_2 \geq 0. \]
显然,最优解是 \(x_1 = 0, x_2 = 1\),最大最坏情况收益 \(R = 0.10\)。
将 \(x_1=0, x_2=1\) 代入对偶约束:
由 \(\lambda_1 - \lambda_2 = -x_1 = 0\),可取 \(\lambda_1 = \lambda_2 = 0\)。
由 \(\lambda_3 - \lambda_4 = -x_2 = -1\),且 \(\lambda_3, \lambda_4 \geq 0\),为最大化对偶目标 \(0.12\lambda_1 -0.08\lambda_2 +0.14\lambda_3 -0.10\lambda_4 = 0.14\lambda_3 -0.10\lambda_4\) 且满足 \(\lambda_3 - \lambda_4 = -1\),容易验证取 \(\lambda_3=0, \lambda_4=1\) 时,对偶目标为 \(-0.10\),但注意对偶目标应该等于原始内层问题的最小值 \(0.10\)?这里符号需要小心。
检查符号:
在推导中,内部问题为 \(\min \mu^T x\),对偶为 \(\max -b^T \lambda\) 满足 \(A^T \lambda = -x\)。我们对偶目标写成了 \(0.12\lambda_1 -0.08\lambda_2 +0.14\lambda_3 -0.10\lambda_4\),但 \(b = (0.12, -0.08, 0.14, -0.10)^T\),所以 \(-b^T \lambda = -0.12\lambda_1 +0.08\lambda_2 -0.14\lambda_3 +0.10\lambda_4\)。因此约束应为 \(-b^T \lambda \geq R\),即:
\[-0.12\lambda_1 +0.08\lambda_2 -0.14\lambda_3 +0.10\lambda_4 \geq R. \]
代入 \(x_1=0, x_2=1\) 和对偶等式约束,取 \(\lambda_1=\lambda_2=0, \lambda_3=0, \lambda_4=1\),则左边 = 0.10,所以 \(R \leq 0.10\),且可以取等。因此最优解为 \(R=0.10\),与直接分析一致。
求解线性规划:用单纯形法求解上述线性规划,会得到相同结果。
5. 扩展与讨论
- 更复杂的不确定集:如果加入协方差信息,问题会变成二阶锥规划或半定规划,不再是线性规划。但一阶矩的椭球不确定集通过适当线性近似(如多面体逼近)仍可保持线性。
- 实际应用:在投资组合中,这种分布式鲁棒模型可以更保守地对待参数不确定性,避免对极端场景过于敏感。
- 计算优势:线性规划形式可以利用成熟的LP求解器高效求解,适合大规模资产数量。
总结:
本示例展示了如何将矩不确定集下的分布式鲁棒投资组合问题,通过将对内部分布的优化进行对偶化,转化为一个线性规划。关键在于利用线性约束下的线性规划对偶理论,将半无限约束转化为有限个线性约束,从而得到可直接求解的线性规划模型。