【推导】Modern Portfolio Theory

构造拉格朗日函数公式研究马科维茨投资模型;

目前包含:

  1. 求最小 sigma_p;

  2. 最优组合下每个资产的权重;

  3. 加入 risk free security 后的权重;

前情提要

原模型等价于固定预期收益率为常数、权重之和为1的限制条件下求最小方差的线性规划问题如下:

Part 1:

构造的拉格朗日函数公式如下:

对$w_i,\lambda_1,\lambda_2$分别求导取0,满足条件如下:

整合$w_j => w,r_i => R,Cov(r_i,r_j)=>\Sigma$

假设收益率协方差可逆

将(2),(3)代入(1)

转为矩阵格式

由于目标函数$=>min\quad\sigma_p^2$

联立(4),(5)得

设 $a = R^T\Sigma^{-1}R,b = R^T\Sigma^{-1}1_n,c = 1_n^T\Sigma^{-1}1_n$ , 化简得

1
2
3
4
5
6
7
8
9
function [P_return] = optimal_portfolio_e(mu,Sigma,sigma)
n = size(Sigma,1);
V = Sigma^(-1);
e = ones(n,1);
A = mu'*V*mu;
B = e'*V*mu;
C = e'*V*e;
P_return = fzero(@(x) C*x^2-2*B*x+A-sigma^2*(A*C-B^2),1);
end

Part 2:

从矩阵形式得到

代入$w$得

求得$w^T\Sigma w$

Part 3:

加入收益率是 $r_f$ 的 risk free security 之后

Solution


MATLAB代码:

1
2
3
4
5
6
7
8
9
10
11
function[w] = optimal_portfolio_1(R,Sigma,ER)
% no risk-free asset
n = size(Sigma,1); % the number of risky shares
V = Sigma^(-1); %inverse of variance-covariance matrix
e = ones(n,1); % unit vector, column
A = e'*V*R;
B = R'*V*R;
C = e'*V*e;
K = [A C; B A];
LM = K^(-1)*[1; ER];
w = [V*R, V*e]*LM; % optimal weight
1
2
3
4
5
6
7
8
9
10
function[w] = optimal_portfolio_2(mu,Sigma,rf,p)
% with risk free asset
n = size(Sigma,1); % the number of risky shares
V = Sigma^(-1); %inverse of variance-covariance matrix
e = ones(n,1); % unit vector, column

sigma2min = (p - rf)^2/((mu-rf*e)'*V*(mu-rf*e));
xi = sigma2min/(p - rf);% tangency

w = xi*V*(mu-rf*e); % optimal weight

Reference

  1. 投资组合理论学习之马科维茨投资模型(一)
  2. 矩阵求导公式的数学推导(矩阵求导——基础篇)

【推导】Modern Portfolio Theory
http://achlier.github.io/2021/02/15/Modern_Portfolio_Theory/
Author
Hailey
Posted on
February 15, 2021
Licensed under