【基金量化研究系列】大类资产配置研究(四)——基于马科维茨模型的资产配置研究


1. 引言

1.1 前文回顾

在上一篇文章中,我们简单介绍了基于股票、债券、黄金和现金四类资产的均衡配置策略。(详情请见【基金量化研究系列】大类资产配置研究(三)——多资产均衡配置策略)。到目前为止,前三篇文章中涉及的所有配置策略的思想均比较简单直观,而策略表现也还算不错,因此笔者认为这些策略对那些经验不足的小白投资者,或者资产管理时间有限的非专业投资者来说具有一定的参考意义。

然而,这些“简单”的资产配置策略却不免显得有些“粗糙”。例如在四资产均衡配置策略中,我们对各类资产的投资比例均为25%,但有读者可能会质疑:能不能将权重分配改为30%-30%-30%-10%呢?配置为35.2%-41.3%-13.5%-10%会不会更好呢?

因此,为了避免在资产配置过程中存在类似这样“拍脑门”的嫌疑,以进一步提升策略表现和科学性,我们需要借助更多的工具和模型。当然,这也就要求资管人有更多的量化手段和更高的量化水平。

在这篇文章中,我们就来简要探讨一下经典的马科维茨模型在中国市场资产配置中的应用吧~

1.2 数据收集与标的资产选取

本文以开源的Choice数据库作为本文的数据来源。

对于标的资产的选择,我们仍以“易方达沪深300ETF(510310)”与“国泰上证5年国债ETF(511010)”作为股票市场与债券市场的基准可投标的,并以“华安黄金易ETF(518880)”和“七日深圳国债逆回购R-007(131801)”作为商品和无风险资产的基准可投资标的。这些标的均可以在券商账户中进行交易。

1.3 基本假设

本文仍延续前文的基本假设,规定:
(1)市场中不允许融资做多与融券做空;
(2)建仓调仓过程中不允许借款、参与国债回购;
(3)每日仅在收盘时间以收盘价格进行交易;
(4)未特别规定,忽略调、建仓手续费。


2. 马科维茨模型简介

2.1 模型的建立

简单来说,所谓 马科维茨模型(Markowitz Model) ,是以期望收益-标准差作为衡量各资产的两个指标,并认为所有的投资组合都可以在这一框架之中找到相对应的坐标位置。而最优的投资策略则是投资者效用达到最大值的那一只组合。

:囿于篇幅限制,本文不对该模型的具体细节进行展开,感兴趣的读者可以关注我的后续文章。在此预留一个接口:某篇后续文章

在加入无风险资产的前提下,可以将效用函数设定为夏普比率(Sharpe Ratio)。则可构造优化问题:
max r p − r f σ p = ω T r − ( 1 − ω f ) r f ( ω T Σ ω ) 1 2 \text{max} \frac{r_p - r_f}{σ_p} = \frac{\omega^Tr - (1 - \omega_f) r_f} { (\omega^T \Sigma \omega)^{\frac{1}{2}}} maxσprprf=(ωTΣω)21ωTr(1ωf)rf

s.t.

ω T 1 = 1 − ω f ω i ≥ 0 , i = 1 , . . . , N , f \omega^T\bold{1} = 1 - \omega_f \\ \omega_i ≥ 0,i= 1, ..., N,f ωT1=1ωfωi0i=1,...,N,f
其中,ωi 表示第 i 类风险资产的权重;
ω 表示 n 类风险资产的权重向量;
ωf 表示无风险资产的权重;
ri 表示第 i 类风险资产的预期收益率;
r 表示 n 类风险资产的预期收益向量;
rf 表示无风险利率;
rp 表示资产组合的预期收益率;
σp 表示资产组合的波动率;
Σ 表示 n 类风险资产的协方差矩阵。

​或者写成如下的标准形式:

min − ω T r − ( 1 − ω f ) r f ( ω T Σ ω ) 1 2 \text{min} - \frac{\omega^Tr - (1 - \omega_f) r_f} { (\omega^T \Sigma \omega)^{\frac{1}{2}}} min(ωT

  • 10
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
马科维茨模型是一种用于资产配置的数学模型,该模型能够帮助投资者在风险和收益之间进行平衡。在MATLAB中,可以使用优化工具箱来实现马科维茨模型。 以下是一个简单的MATLAB代码示例,演示如何使用马科维茨模型进行资产配置: ```matlab % 定义投资组合 stocks = {'Stock1', 'Stock2', 'Stock3', 'Stock4', 'Stock5'}; expReturns = [0.05, 0.1, 0.12, 0.07, 0.08]; % 预期收益率 expCovariance = [0.0064, 0.0008, 0.0012, -0.0016, 0.0020; % 预期协方差 0.0008, 0.0025, 0.0002, 0.0010, -0.0010; 0.0012, 0.0002, 0.0049, 0.0016, 0.0020; -0.0016, 0.0010, 0.0016, 0.0100, -0.0030; 0.0020, -0.0010, 0.0020, -0.0030, 0.0049]; % 定义目标函数 fun = @(w) -sum(w.*expReturns)/sqrt(w'*expCovariance*w); % 定义约束条件 Aeq = ones(1,5); beq = 1; lb = zeros(5,1); ub = ones(5,1); % 使用优化工具箱解决问题 w0 = ones(5,1)/5; options = optimoptions('fmincon','Algorithm','interior-point'); w = fmincon(fun,w0,[],[],Aeq,beq,lb,ub,[],options); % 输出结果 disp('投资组合的权重:') disp(w') ``` 在上面的代码中,`expReturns`和`expCovariance`分别是预期收益率和协方差矩阵。然后,我们定义了一个目标函数,即最小化投资组合的风险,同时最大化预期收益率。最后,我们使用`fmincon`函数来解决问题,它是MATLAB优化工具箱中的一个函数,可以用于求解非线性约束的最小化问题。函数的输出是投资组合的权重,即每个股票在总投资中的占比。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值