基于线性规划的“多目标鲁棒优化投资组合模型”求解示例
我将为您讲解一个结合了多目标优化与鲁棒优化的投资组合问题。这个问题不仅考虑收益和风险之间的权衡,还考虑未来收益的不确定性,并利用线性规划技术进行求解。我们逐步深入。
1. 问题描述
设想一位投资者,他希望在多种资产(如股票、债券等)中分配资金,面临两个常互相冲突的目标:
- 最大化预期投资组合收益。
- 最小化投资组合风险(通常用收益的方差或绝对偏差衡量)。
然而,未来的资产收益是不确定的。我们无法准确预测。如果仅基于历史平均收益做决策,当未来收益偏离预期时,可能导致投资表现远差于预期。
为解决此不确定性,我们引入鲁棒优化思想:假设每种资产的未来收益是一个未知数,但属于一个已知的“不确定集合”。我们的目标是,在最坏情况的收益情景下,依然能较好地平衡收益与风险。
核心挑战:如何在数学上刻画“不确定集合”和“最坏情况”,并将多目标鲁棒优化问题转化为可求解的(一系列)线性规划问题。
2. 模型建立:确定性的多目标均值-绝对偏差模型
首先,我们不考虑不确定性,建立一个基础的多目标模型。
- 决策变量:设共有 \(n\) 种资产。令 \(x_i\) 表示投资于资产 \(i\) 的资金比例,满足 \(\sum_{i=1}^{n} x_i = 1, \ x_i \ge 0\)。
- 参数:设资产 \(i\) 的期望收益为 \(r_i\)。我们用投资组合收益的平均绝对偏差来度量风险,这在某些情况下比方差更易线性化。
- 目标1(最大化收益):\(\max \sum_{i=1}^{n} r_i x_i\)
- 目标2(最小化风险):假设我们有 \(T\) 个历史收益率样本。资产 \(i\) 在第 \(t\) 个时期的收益为 \(r_{it}\),其样本均值为 \(r_i = \frac{1}{T} \sum_{t=1}^{T} r_{it}\)。则投资组合在时期 \(t\) 的偏差为 \(|\sum_{i=1}^{n} (r_{it} - r_i)x_i|\)。风险(平均绝对偏差)为:
\[ \text{MAD} = \frac{1}{T} \sum_{t=1}^{T} |\sum_{i=1}^{n} (r_{it} - r_i)x_i| \]
我们可以通过引入辅助变量 \(d_t \ge 0\) 将其线性化,使得 \(d_t \ge |\sum_{i=1}^{n} (r_{it} - r_i)x_i|\)。最小化 MAD 等价于最小化 \(\frac{1}{T} \sum_{t=1}^{T} d_t\)。
确定性的线性规划模型(对于给定的收益数据 \(r_{it}\))为:
\[\begin{aligned} & \text{Maximize} \quad \sum_{i=1}^{n} r_i x_i \quad \text{(目标1)} \\ & \text{Minimize} \quad \frac{1}{T} \sum_{t=1}^{T} d_t \quad \text{(目标2)} \\ & \text{subject to} \\ & \quad \sum_{i=1}^{n} x_i = 1, \\ & \quad x_i \ge 0, \quad i=1,\ldots,n, \\ & \quad d_t \ge \sum_{i=1}^{n} (r_{it} - r_i)x_i, \quad t=1,\ldots,T, \\ & \quad d_t \ge -\sum_{i=1}^{n} (r_{it} - r_i)x_i, \quad t=1,\ldots,T, \\ & \quad d_t \ge 0, \quad t=1,\ldots,T. \end{aligned} \]
这是一个双目标线性规划问题。通常的解法是采用加权和法或ε-约束法,将其转化为单目标问题。
3. 引入不确定性:鲁棒优化建模
现在,我们承认未来收益 \(r_i\) 是不确定的。鲁棒优化假设每个 \(r_i\) 属于一个给定的不确定集合 \(\mathcal{U}_i\)。这里我们采用盒式不确定集,这是最简单、最常用的一种:
\[r_i \in [\bar{r}_i - \hat{r}_i, \ \bar{r}_i + \hat{r}_i] \]
其中 \(\bar{r}_i\) 是名义收益(如历史均值),\(\hat{r}_i \ge 0\) 是最大可能偏差,反映了对资产 \(i\) 收益预测的不确定程度。
鲁棒优化的核心思想:我们决策时,要考虑最坏情况。即,在不确定集内,寻找一个使目标函数(或约束)最差的收益情景组合。
- 对于最大化收益这个目标,最坏情况是所有资产的收益都取下界 \(r_i = \bar{r}_i - \hat{r}_i\)。所以,在最坏情况下,目标1变为 \(\max \sum_{i=1}^{n} (\bar{r}_i - \hat{r}_i) x_i\)。这是一个确定的线性函数。
- 对于最小化风险(MAD) 这个目标,情况更复杂。偏差项 \(\sum_{i=1}^{n} (r_{it} - r_i)x_i\) 中的 \(r_{it}\) 是历史数据(已知),但 \(r_i\) 是未知的未来期望收益。在最坏情况下,我们希望找到使 MAD 最大的 \(r_i\)(因为我们要最小化这个最大的可能风险)。这需要仔细处理。
构建鲁棒风险项:
对于固定的投资组合 \(x\),其风险(MAD)在最坏情况下的值可以通过求解以下优化问题得到:
\[\max_{r_i \in [\bar{r}_i-\hat{r}_i, \bar{r}_i+\hat{r}_i]} \frac{1}{T} \sum_{t=1}^{T} |\sum_{i=1}^{n} (r_{it} - r_i)x_i| \]
注意到绝对值函数是凸的,且最大化一个凸函数在线性约束区间上,最优解必然在端点取得。我们可以为每个 \(t\) 独立地选择 \(r_i\) 的值,使得 \(|\sum_{i=1}^{n} (r_{it} - r_i)x_i|\) 最大化。通过一些推导(利用三角不等式和绝对值的线性可分性),可以证明,对于每个资产 \(i\) 和每个时期 \(t\),使偏差最大化的选择是让 \(r_i\) 偏离 \(r_{it}\) 的方向与 \(x_i\) 的符号(总是正)配合,使得偏差绝对值最大。最终,可以推导出:
最坏情况下的风险 = \(\frac{1}{T} \sum_{t=1}^{T} |\sum_{i=1}^{n} (r_{it} - \bar{r}_i)x_i| + \sum_{i=1}^{n} \hat{r}_i |x_i|\)
等号右边第一项是基于名义收益 \(\bar{r}_i\) 计算的MAD,第二项是一个惩罚项,反映了不确定性带来的额外风险。由于 \(x_i \ge 0\),\(|x_i| = x_i\)。
4. 鲁棒多目标线性规划模型
结合最坏情况收益和最坏情况风险,我们得到鲁棒多目标线性规划模型:
\[\begin{aligned} & \text{Maximize} \quad \sum_{i=1}^{n} (\bar{r}_i - \hat{r}_i) x_i \quad \text{(鲁棒收益)} \\ & \text{Minimize} \quad \left[ \frac{1}{T} \sum_{t=1}^{T} d_t + \sum_{i=1}^{n} \hat{r}_i x_i \right] \quad \text{(鲁棒风险)} \\ & \text{subject to} \\ & \quad \sum_{i=1}^{n} x_i = 1, \\ & \quad x_i \ge 0, \quad i=1,\ldots,n, \\ & \quad d_t \ge \sum_{i=1}^{n} (r_{it} - \bar{r}_i)x_i, \quad t=1,\ldots,T, \\ & \quad d_t \ge -\sum_{i=1}^{n} (r_{it} - \bar{r}_i)x_i, \quad t=1,\ldots,T, \\ & \quad d_t \ge 0, \quad t=1,\ldots,T. \end{aligned} \]
注意:这个模型与第2步的确定性模型非常相似,只有两处关键修改:
- 收益目标中的 \(r_i\) 被替换为 \((\bar{r}_i - \hat{r}_i)\)。
- 风险目标中增加了一个线性惩罚项 \(\sum_{i=1}^{n} \hat{r}_i x_i\)。
这个模型完全是一个线性规划模型,只是有两个目标。
5. 求解:转化为单目标线性规划序列
多目标线性规划通常没有单一最优解,而是一个帕累托最优解集。我们采用ε-约束法来求解:
- 选择风险作为首要最小化目标。
- 将收益目标转化为约束,要求鲁棒收益不低于某个阈值 \(\epsilon\)。
- 通过不断变化 \(\epsilon\) 的值,我们可以生成一系列帕累托最优解。
最终的线性规划问题(对于给定的 \(\epsilon\)):
\[\begin{aligned} & \text{Minimize} \quad \frac{1}{T} \sum_{t=1}^{T} d_t + \sum_{i=1}^{n} \hat{r}_i x_i \\ & \text{subject to} \\ & \quad \sum_{i=1}^{n} (\bar{r}_i - \hat{r}_i) x_i \ge \epsilon, \quad \text{(收益约束)} \\ & \quad \sum_{i=1}^{n} x_i = 1, \\ & \quad x_i \ge 0, \quad i=1,\ldots,n, \\ & \quad d_t \ge \sum_{i=1}^{n} (r_{it} - \bar{r}_i)x_i, \quad t=1,\ldots,T, \\ & \quad d_t \ge -\sum_{i=1}^{n} (r_{it} - \bar{r}_i)x_i, \quad t=1,\ldots,T, \\ & \quad d_t \ge 0, \quad t=1,\ldots,T. \end{aligned} \]
这是一个标准的单目标线性规划,可以用单纯形法等高效求解。
求解步骤:
- 确定 \(\epsilon\) 的取值范围:其最小值是当 \(x\) 仅投资于具有最小 \((\bar{r}_i - \hat{r}_i)\) 的资产时获得;最大值是当 \(x\) 仅投资于具有最大 \((\bar{r}_i - \hat{r}_i)\) 的资产时获得。
- 在此范围内选取一系列 \(\epsilon\) 值(例如,从 min 到 max 等间隔取10个点)。
- 对每个 \(\epsilon\) 值,求解上述线性规划,得到一个最优解 \((x^*, d^*)\),记录其目标函数值(鲁棒风险)和约束左侧值(实际鲁棒收益,通常等于 \(\epsilon\))。
- 将所有点(鲁棒收益,鲁棒风险)绘制在二维平面上,就得到了鲁棒有效前沿。
6. 示例与解释
假设有3种资产(n=3),5个历史时期(T=5)。
- 名义收益:\(\bar{r} = [0.09, 0.07, 0.05]\)(年化)
- 收益偏差:\(\hat{r} = [0.03, 0.02, 0.01]\)(不确定性依次递减)
- 历史收益率样本 \(r_{it}\)(略)。
求解过程:
- 计算 \((\bar{r}_i - \hat{r}_i) = [0.06, 0.05, 0.04]\)。所以 \(\epsilon\) 的范围是 [0.04, 0.06]。
- 设定 \(\epsilon = 0.04, 0.042, ..., 0.06\)。
- 对 \(\epsilon = 0.05\) 求解上述LP。求解器可能会给出一个解,例如:
\[ x^* = [0.4, 0.3, 0.3], \quad \text{鲁棒风险值} = 0.012 \]
这意味着,在最坏收益情景下(即每种资产收益都比名义值低 \(\hat{r}_i\)),该组合仍能获得至少5%的收益,且在最坏情景下的风险(MAD)为1.2%。
4. 改变 \(\epsilon\),当要求更高收益(如 \(\epsilon=0.058\))时,求解器给出的解会更多地配置高收益-高风险资产(资产1),导致鲁棒风险值上升(例如0.018)。这样就权衡了收益与风险。
最终输出:一条鲁棒有效前沿曲线。与不考虑不确定性的普通有效前沿相比,鲁棒前沿通常更偏向左下方(即在相同收益下风险更高,或在相同风险下收益更低),这反映了为对抗不确定性所必须付出的“稳健性成本”。
7. 核心思想总结
- 多目标:同时优化收益和风险,通过ε-约束法将双目标问题转化为一系列单目标线性规划。
- 鲁棒性:引入盒式不确定集描述收益的不确定性,以“最坏情况”下的表现作为优化基准,将不确定问题转化为一个确定的线性规划。
- 可求解性:通过巧妙的建模(特别是对风险项的处理),最终的鲁棒模型保持了线性形式,可直接利用成熟的线性规划求解器(如单纯形法、内点法)高效求解。
- 结果:得到一条“鲁棒有效前沿”,为决策者在不确定环境下进行风险收益权衡提供了稳健的投资组合选择。
这个方法结合了均值-绝对偏差模型的线性优势、鲁棒优化的稳健思想和多目标优化的权衡分析,是运筹学在金融工程中的一个典型应用。