从均值方差到有效前沿

本文探讨了有效前沿在投资组合优化中的应用,从均值方差分析开始,介绍了有效前沿的敏感性问题,并通过Python代码展示实际策略实验。文章指出,尽管有效前沿存在敏感性,但仍是风险厌恶投资者的重要工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇文章的主要目的是介绍有效前沿这个理论工具和分析框架。我们由均值方差分析展开,逐步推演到有效前沿。然后,我们又说到有效前沿在投资或者量化中的应用场景,最后我们也总结了有效前沿的一些问题,尤其是敏感性问题。在教程中,特意加入了一些实验代码,可以让大家在阅读的过程中有更好的理解。

有效前沿

说到有效前沿(有些叫效率边界),就要提到马科维茨的投资组合理论了。

首先介绍下它的三大假设:

单一投资期,比如一年
流动性很高,无交易成本
投资者的选择基于最优均值方差
于是,我们可以开始推导有效前沿,在这之前,我们先约定一些数学符号:

  • rf:无风险利率
  • μ:风险资产预期收益率向量
  • f:风险资产预期超额收益率向量,即μ−rfμ−rf
  • Σ:风险资产协方差矩阵
  • w:风险资产组合权重向量

我们采用三个步骤来得到我们的有效市场前沿,分别是最小方差组合、最优均值方差组合(夏普组合)以及有效前沿。当我们推导完,大家就会发现有效前沿与前两个组合之间存在有趣的关系,最后我们将用python代码的方式来实现并检验我们得到的结果。

在下面我们模拟了三个风险资产,并用python画出了有效前沿曲线。图1还标注了最小方差组合(C组合)、最优夏普组合(Q组合)以及全额等权组合(E组合)。

在金融领域,均值方差优化是一种常见的投资组合选择方法,它通过最小化投资组合的风险(标准差)同时最大化预期收益(期望收益率),也就是找到一个有效前沿。`quadprog`是Matlab的一个函数库,专门用于求解二次规划问题,包括线性和非线性最优化问题。 要使用`quadprog`解决均值方差问题,你需要遵循以下步骤: 1. **构建目标函数**:目标函数通常形式为 `-1 * (w' * Cov * w - mu' * w) + lambda * sum(w)`,其中 `w` 是权重向量,`mu` 是预期收益率向量,`Cov` 是协方差矩阵,`lambda` 是正则化项,用于控制风险厌恶程度。 2. **设定约束条件**:需要保证所有资产权重之和等于1(投资比例总和为100%),以及权重非负(不允许卖空)。 ``` A = [ones(1, n_assets), -eye(n_assets)]; b = ones(1, 2); lb = zeros(n_assets, 1); ub = ones(n_assets, 1); ``` 3. **调用`quadprog`函数**:将上述信息作为输入传递给`quadprog`,包括目标函数系数矩阵、A和b数组,还有权重向量的初始估计(如果有的话)。 ```matlab x0 = randn(n_assets, 1); % 初始权重猜测 options = optimoptions('quadprog', 'Display', 'none'); [w_opt, fval] = quadprog(H, f, A, b, [], [], lb, ub, x0, options); ``` 这里 `H` 表示目标函数的Hessian矩阵,`f` 是常数项。 4. **有效前沿**:`w_opt`即为最优权重,你可以通过改变`lambda`值来绘制出一系列有效的资产配置,形成有效前沿
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值