第5章资产组合计算.docx

上传人:b****1 文档编号:14063965 上传时间:2023-06-20 格式:DOCX 页数:21 大小:168.91KB
下载 相关 举报
第5章资产组合计算.docx_第1页
第1页 / 共21页
第5章资产组合计算.docx_第2页
第2页 / 共21页
第5章资产组合计算.docx_第3页
第3页 / 共21页
第5章资产组合计算.docx_第4页
第4页 / 共21页
第5章资产组合计算.docx_第5页
第5页 / 共21页
第5章资产组合计算.docx_第6页
第6页 / 共21页
第5章资产组合计算.docx_第7页
第7页 / 共21页
第5章资产组合计算.docx_第8页
第8页 / 共21页
第5章资产组合计算.docx_第9页
第9页 / 共21页
第5章资产组合计算.docx_第10页
第10页 / 共21页
第5章资产组合计算.docx_第11页
第11页 / 共21页
第5章资产组合计算.docx_第12页
第12页 / 共21页
第5章资产组合计算.docx_第13页
第13页 / 共21页
第5章资产组合计算.docx_第14页
第14页 / 共21页
第5章资产组合计算.docx_第15页
第15页 / 共21页
第5章资产组合计算.docx_第16页
第16页 / 共21页
第5章资产组合计算.docx_第17页
第17页 / 共21页
第5章资产组合计算.docx_第18页
第18页 / 共21页
第5章资产组合计算.docx_第19页
第19页 / 共21页
第5章资产组合计算.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

第5章资产组合计算.docx

《第5章资产组合计算.docx》由会员分享,可在线阅读,更多相关《第5章资产组合计算.docx(21页珍藏版)》请在冰点文库上搜索。

第5章资产组合计算.docx

第5章资产组合计算

第5章-资产组合计算

第5章资产组合计算

资产组合是实务性比较强的内容,通过本章的学习,要求读者掌握协方差与相关系数之间的相互推导,熟悉资产组合基本理论,学会用MATLAB计算投资组合基本参数,如均值与方差、资产组合VaR,重点掌握资产组合有效前沿的计算,能够处理无风险利率以及借贷关系情况下的最优投资组合,会用MATLAB规划工具箱求解投资组合最优化问题。

5.1资产组合基本原理

证券投资组合理论(PortfolioTheory)主要研究如何配置各种不同的金融资产,实现资产组合的最佳投资配置。

1952年美国学者马克维茨创立了资产组合理论,该理论在实践中得到广泛运用。

5.1.1收益率序列与价格序列间的转换

1.将收益率序列转换为价格序列

在处理金融时间序列时,有时需要把收益率序列转换为价格序列。

在MATLAB中将收益率序列转换为价格序列的函数是ret2tick。

调用方式

[TickSeries,TickTimes]=ret2tick(RetSeries,StartPrice,RetIntervals,StartTime,Method)

输入参数

RetSeries%收益率序列

StartPrice%(0ptional)起始价格,默认值是1

RetIntervals%(0ptional)收益率序列的时间间隔,默认值是l

StartTime%(optional)价格开始计算的时间,默认值是0

Method%(Optionl)转换方法。

Method='Simple'表示简单,

;Method='Continous'表示连续法,

输出参数

TickSeries%价格序列

TickTimes%与价格对应的时间序列

例5-1己知资产收益率以及时间间隔如表5.1所示

表5.1资产收益率及时间

收益率

0.10

0.05

-0.05

时间间隔(天)

182

91

92

起始价格为10元,起始时间为2000年12月18日,试求该资产价格时间序列,收益率采用离散方法。

在MATLAB中执行以下命令:

RetSeries=[0.10,0.05,-0.05]';

RetIntervals=[182,91,92]';

StartPrice=10;

StartTime=datenum('18-Dec-2000');

[TickSeries,TickTime]=ret2tick(RetSeries,StartPrice,RetIntervals,StartTime)

datestr(TickTimes)

ans=

18-Dec-2000

18-Jun-2001

17-Sep-2001

18-Dec-2001

这样就把收益率时间序列转换为价格时间序列,结果如表5.2所示。

表5.2资产各时间的价格

时间

18-Dec-2000

18-Jun-2001

17-Sep-2001

18-Dec-2001

价格

10.0000

11.0000

11.5500

10.9725

收益率

-

0.10

0.05

-0.05

时间间隔

-

182

91

92

2.将价格序列转换为收益率序列

MATLAB中将价格序列转换为收益率序列的函数是tick2ret。

调用方式

[RetSeries,RetIntervals]=tick2ret(TickSeries,TickTimes,Method)

输入参数

TickSeries%价格序列

TimeTimes%价格序列对应的时间

Method%(Optionl)计算收益率的,Method='Simple'表示算术收益率;Method='Continous'表示连续法,即为对数计算法。

输出参数

RetSeries%收益率序列

RetIntervals%收益率时间间隔

例5-2已知股票的价格时间序列如表5.3所示。

表5.3股票各时间对应的价格

时间

0

6

9

12

价格

100

110

115

110

求出该股票的收益率时日序列。

在MATLAB中执行以下命令:

TickSeries=[100;110;115;110];

TickTimes=[0;6;9;12];

[RetSeries,RetIntervals]=tick2ret(TickSeries,TickTime)

5.1.2协方差矩阵与相关系数矩阵间的转换

PortReturn=

0.1400

0.1300

从上述结果可以看到,这两个资产组合的标准差分别为0.056、0.055,资产回报分别0.1400,0.1300

例5-5假设资产组合中有5种资产,收益分别为0.1,0.12,0.14,0.16,0.2,方差分别为0.02,0.03,0.01,0.05,0.02,资产收益率各不相关,各资产权重分别为0.1,0.2,0.3,0.2,0.2,计算该组合的收益率与方差。

returns=[0,1,0.12,0.14,0.16,0.2];

variances=[0.02,0.03,0.01,0.05,0.02];

ws=[0.1,0.2,0.3,0.2,0.2];

mean=sum(returns.*ws)

variance=sum(variance.*ws.^2)

 

5.1.4资产组合VaR(ValueAtRisk)

一般被称为“风险价值”或“在险价值”,指在一定的置信水平下,某一金融资产(或证券组合)在未来特定的一段时间内的最大可能损失。

假定JP摩根公司在2004年置信水平为95%的日VaR值为960万美元,具含义指该公司可以以以95%的把握保证,2004年某一特定时点上的金融资产在未来24小时内,由于市场价格变动带来的损失不会越过960万美元,或者说,只有5%的可能损失超过960万美元。

与传统风险度量手段不同,VaR完全是基于统计分析基础上的的风险度量技术,它的产生足JP摩根公司用来计算市场风险的产物。

例5-6假设投资者拥有两种资产,资产总价他为10000000元,资产权重分别为1/4与3/4,这两种资产日波动率的均值分别为0.003,0.002,标准差分别为0.02,0.01,这两种资产之间的相关系数为0.8,时间为10天,给定置信度为99%,求该资产VaR。

首先求总资产方差,公式如下

其中,

分别为资产组合权重,

为单个资产标准差,

为为这两种资产之间的相关系数。

一般地,可将式(5.1)用向量与矩阵形式表示,记

,表示各资产的权重,

表示各种资产的标准差,资产协方差矩阵记入cov,则式(5.1)可以改写为如下形式:

(5.2)

记号

表示向量转置。

如果记

,则有

有了资产组合方差,就可以计算出Var数值。

从正态分布表中可以查到对应于置信度99%(

)的

,在各种资产都是服从正态分布的假设下,资产Var值为

(5.4)

具体来讲,计算Var的步骤如下。

第1步:

输入资产权重向量w、各资产的标准差sigma、资产之间的相关系数cov,注意协方差矩阵一定是对称矩阵,需要计算时间长度

第2步:

权重向量点乘标准差向量。

第3步:

计算资产总的标准差

第4步:

对于给定置信度

,查正态分布表找到

第5步:

计算Varmit算Vat,

在Command窗口中执行如下命令:

w=[1/4,3/4];ret=[0.003,0.002];sigma=[0.02,0.01];

corrcoef=[1,0.8;0.8,1];delta=10;

pret=delta*dot(w,ret)

sig=w.*sigma;

tsig=sig*cov*sig'*delta;

var=10^7*(pret-2.3263*sqrt(tsig))

10天VaR值为649300元。

实际上MATLAB中有专门计算Var值的函数,MATLAB巾的portrisk函数可以计算资产组合Var值,注意输入总资产期望收益与标准差,而不是组合中各种种资产的预期收益率与标准差。

调用方式

ValueAtRisk=portrrisk(PortReturn,PortRisk,RiskThreshold,PortValue)

输入参数

PortReturn%总资产的回报

PortRisk%总资产的标准差

RiskThreshold%概率阈值,默认值为0.05

PortValue%资产总的价值

输出参数

ValueAtRisk%概率阈值下的单资产var值

例5-7已知资产年回报率为0.0029,标准差为0.0308,资产现在价值为1亿,求1%水平下资产在险价值。

在MATLAB中执行以下命令:

PortReturn=0.0029;

PortRisk=0.0308;

RiskThreshold=0.01;

PortValue=1;

ValueAtRisk=portvrisk(PortReturn,PortRisk,RiskThreshold,PortValue)

该资产var等于0.0688,即该资产损失0.0688亿的可能性为1%。

需注意的是金融资产一般并不是正态,而是呈现出肥尾特征,其Var较正态分布大。

 

5.2资产组合有效前沿

由于证券市场投资存在巨大风险,一般不主张把投资集中在一种产品上。

如果一个投资者投资于深证东泰股份(000506),2001年8月10日收盘价为14.10元,到了2006年2月21日收盘价为1.54元,跌幅高达89.08%,如果再要回到原来价位需要上涨9.15倍,这样的机会是几乎不可能的,如果投资名踩中这样的陷阱恐怕很难再有翻身的机会。

运用组合理论可以有效地降低投资风险,其核心思想是在目标收益率给定的情况下,要求资产组合风险最小。

资产组合理论是由马克维茨(H.Markowitz)1952年提出均值方差理论模型

其中,

是协方差矩阵

表示第

种资产的收益率,

表示第

种资产在总资产中所占的份额。

5.2.1两种风险资产组台收益期望与方差

假设有两种资产A、B,其收益率分别用

表示,协方差分别为

,记资产组合组合为

,资产组合收益率、方差分别为

分别表示投资的权重,则有

该资产组合期望收益率与方差为

这样资产组合收益率均值与方差如图5.1所示。

图51资产组合收益率均值与方差

MATLAB工具箱中包含了资产均值方差有效前沿函数,这些都是基于MATLAB中的最优化理论工具箱。

马克维茨资产组合理论就是寻找一个有效组合。

所谓有效组合是指在同样风险水平下具有最高收益,这样不同收益及与最小风险构成有效前沿。

在不允许卖空情况下,求解有效组合目标函数为

这是一个约束条件为线性且含有不等式的二次规划方程,给定一个组合收益率就有个最小方差,组合收益与最小方差构成有效前沿关系,有效前沿如图5.2所示。

522均值方差有效前沿

MATLAB中计算均值方差有效前沿的函数为frontcon。

调用方式

[PortRisk,PortReturn,PortWts]=frontcon(ExpReturn,ExpCovariance,

NumPorts,PortReturn,AssetBounds,Groups,GroupBounds)

输入参数

ExpReturn%资产组合中每项资产预期回报,为一行向量

ExpCovariance%各种资产之间的协方差矩阵,为对称矩阵

NumPorts%(Optional)在资产组合有效前沿上的点的个数,默认值是10个点。

PortReturn%(Optional)有效前沿上每个点的回报

AssetBounds%(Optional)每种资产权重的上限、下限区间

Groups%(Optional)如果G(i,j)=1表示第i个资产属于第j个群,G(i,j)=0表示第i个资产不属于第j个群

GroupBounds%(Optional)每种种群权重约束区间,默认值规定下限为0,上限为l

输出参数

PortRisk%组合的标准差

PortReturn%组合的回报

PortWts%组合中每个资产的权重

例5-8考虑一个三资产组合,分别为资产1、资产2与资产3,其预期收益率分别为0.2、0.1、0.15,资产协方差矩阵如表5.7所示,求该资产组合有效前沿。

在MATLAB中执行如下命令

ExpReturn=[0.1,0.2,0.15];

ExpCovariance=[0.0100,-0.0061,0.0042;-0.0061,0.0400,-0.0252;0.0042,-0.0252,0.0225];

NumPorts=4;

[PortRisk,PortReturn,PortWts]=frontcon(ExpReturn,ExpCovariance,

NumPorts,PortReturn,AssetBounds,Groups,GroupBounds)

5.2.3带约束条件资产组合有效前沿

投资组合中的问题很少有简单的约束,大多数情况下是多种约束,例如监管当局为了控制风险,对资产组中每种资产的比例加以种种限制,这时就需要考虑多种约束条件下的最优组合问题。

MATLAB利用均值-方差理论求解资产组合问题,首先是将约束条件写成矩阵形式,例如

或者

形式。

下面用一个例了说明。

例5-9某资产组合中有5种资产构成,第i种资产的预期回报率为

为第

种资产在总资产中的权重,考虑

具有如下形式:

上述约束条件写成矩阵形式如下

A=[1,0,0,0,0,0.35;0,1,0,0,0,0.30;0,0,1,0,0,0.40;0,0,0,0,1,0.50

-1,0,0,0,0,0;0,-1,0,0,0,0;0,0,-1,0,0,0;0,0,0,-1,0,0;0,0,0,0,-1,0;-1,-1,0,0,0,-0.2;-1,-1,-1,0,0,-0.3;1,1,0,0,0,0.6;1,1,1,0,0,0.7]

注意约束条件

可以分解成两个约束条件:

,分别对应于矩阵的第l行和第6行。

下面我们计算约束条件下资产

组合有效前沿。

调用方式

[PortRisk,PortReturn,PortWts]=portopt(ExpReturn,ExpCovariance,NumPorts,PortReturn,ConSet)

输入参数

ExpReturn%资产的期望回报率

ExpCovariance%资产的协方差

NumPorts%(Optional)资产组合中投资品种的个数

PortReturn%Optional)要求组合的回报率

ConSet%(Optional)约束条件

输出参数

PortRisk%资产组合的风险

PortReturn%资产组合的回报

PortWts%组合中各种资产的权重

例5-10设有两种资产,其回报率分别为0.1,0.3,协方差矩阵为

约束条件为

,求该资产组合有效前沿。

在MATLAB中执行如下命令:

ret=[0.1,0.3];cov=[0.02,0;0,0.04];

constr=[1,1,1;1,0,0.2;-1,0,0;0,-1,-0.3];

portopt(ret,cov,[],[],constr)

图5.3含约束条件均值方差有效前沿示意图

例5-11各资产的相关系数矩阵、预期回报率和标准差如表5.8所示

试给出有效前沿。

在MATLAB中执行如下命令

Returns=[0.1,0.15,0.12];STDs=[0.2,0.25,0.18];Correlations=[1,0.8,0.4;0.8,1,0.3;0.4,0.3,1];

Covariances=corr2cov(STDs,Correlations)

portopt(Returns,Covariances,20)%绘出组合的有效前沿

%然后选择权重

rand('state',0);

Weights=rand(1000,3);

Total=sum(Weights,2);

Weights(:

1)=Weights(:

1)./Total;

Weights(:

2)=Weights(:

2)./Total;

Weights(:

3)=Weights(:

3)./Total;

输入资产组合有效前沿,以及相关资产组合,绘出各个资产组合风险与收益,代码如下:

[PortRisk,PortReturn]=portstats(Returns,Covariances,,Weights);

holdon

plot(PortRisk,PortReturn,'.r')

title('均值-方差有效前沿以及各个资产组合风险与收益')

xlabel('风险(标准差)')

ylabel('期望收益率')

holdoff

这样资产组合有效前沿和各种资产组合风险与收益点如图5.4所示。

均值-方差有效前沿以及各种资产组合风险与收益

5.2.4考虑无风险资产及借贷情况下的资产配置

资产组合有效前沿上的点很多,如何选择一个有效点呢?

投资者需要根据目标函数权衡风险与回报。

MATLAB中投资者目标函数如下:

其中,

表示未来回报,

表示投资者风险厌恶系数,一般在2-4之间,

是资产标准差。

投资者决策就是使目标函数最大化,然后对资产进行配置。

MATLAB中考虑无风险资产时的资产配置函数是portalloc,其功能是根据风险-收益最优原则配置每项资产,其中包括无风险资产。

调用方式

[RiskyRisk,RiskyReturn,RiskyFraction,OverallRisk,OverallReturn]

=portalloc(PortRisk,PortReturn,PortWts,RisklessRate,BorrowRate,RiskAversion)

输入参数

PortRisk%有效前沿上每项资产的方差

PortReturn%有效前沿上每项资产的回报

PortWts%有效前沿上每项资产的权重

RisklessRate%无风险利率

BorrowRate%(Optional)借款利率,默认为没有借贷

RiskAversion%(Optional)投资者的风险厌恶系数,大多数投资者的风险厌恶系数在2~4之间,通常选择3

输出参数

RiskyRisk%风险资产部分的标准差

RiskyReturn%风险资产部分的回报

RiskyWts%风险资产的权重

RiskyFraction%总资产中风险资产的分数

OverallRisk%总资产的标准差

Overa11Return%总资产的回报

例5.12已知一个组合中含有3种资产,每种资产的预期回报与协方差矩阵如表5.9所示。

表5.9各种资产的预期回报、协方差

资产A

资产B

资产C

预期回报

0.1

0.2

0.15

资产A

0.005

-0.010

0.004

资产B

-0.010

0.04

-0.002

资产C

0.004

-0.002

0.023

无风险利率为0.08,借贷利率为0.12,投资者的风险厌恶系数为3,要求考虑无风险资产和借贷情况下的最优资产配置。

在MATLAB中执行如下命令:

ExpReturn=[0.1,0.2,0.15];

ExpCovariance=[0.005,-0.010,0.004;-0.010,0.040,-0.002;0.004,-0.002,0.023];

[PortRisk,PortReturn,PortWts]=portopt(ExpReturn,ExpCovariance);

%由于没有输入位于有效前沿上的点的数目,MATLAB默认有效前沿上选取10个点,每个点代表一种组台,每个组合的标准差保存在PortRisk中,收益率保存在PortReturn中,组合中各资产的权重保存在PortWts中。

下面调用portalloc函数求出考虑无风险资产,以及允许借货时的资产配置,代码如下:

RisklessRate=0.08;

BorrowRate=0.12;

[RiskyRisk,RiskyReturn,RiskyFraction,OverallRisk,OverallReturn]=portalloc(PortRisk,PortReturn,PortWts,RisklessRate,BorrowRate,RiskAversion)

从结果表明,最优组合的标准差为0.1283,收益率为0.1788,每项资产的权重分别为0.0265、0.6023、0.3712。

总资产中风险资产配置的权重为1.1898,总资产的回报率为0.1899,总资产的标难差为0.1527。

如果选取有效前沿上的20个点,得到结果如下:

[PortRisk,PortReturn,PortWts]=portopt(ExpReturn,ExpCovariance,20);

[RiskyRisk,RiskyReturn,RiskyFraction,OverallRisk,OverallReturn]=portalloc(PortRisk,PortReturn,PortWts,RisklessRate,BorrowRate,3)

从结果中我们可以知道,最优组合的标准差为0.1283,组合的收益率为0.1791,每项资产的权重分别为0.0057、0.5879、0.4064,总资产中风险资产配置的权重为1.1869,总资产的回报为0.1902,总资的产标准差为0.15297,除了资产配置差别比较大,第一项资产配置进一步减小,其他差别并不大。

5.2.5线性规划求解资产组台问题

线性规划是研究目标函数和约束条件均为线性的最优化问题,线性规划的标准形式如下

其中,

是目标函数矩阵,

是约束条件矩阵,

是向量。

标准形式线性问题简称LP(LinearProgramming)问题,MATLAB中用lp函数求解线性规划问题。

MATLAB中的线性规划形式如下

其中,

是向量,

是不等式约束和等式约束的矩阵

调用方式

x=limprog(f,A,b)

x=linprog(f,A,b,Aeq,beq,lb,ub)

其中,

分别为标准线性规划模型中的参数;参数

分别为变量x的上界和下界。

例5-13某资产组合中有3种资产,各资产的收益率分别为0.2、0.1,、0.15。

要求资产l与资产3的权重小于资产2的权重,且没有卖空。

求解使得上述收益率最大的投资组合

首先确定目标函数为:

资产约束条件可写为

在MATLAB中执行如下命令:

f=[-0.2,-0.1,-0.15]';A=[1,-1,1];b=0,Aeq=[1,1,1];beq=1;lb=[0,0,0.1]';ub=[1,1,1]';

x=linprog(f,A,b,Aeq,beq,lb,ub)

最后得出资产1、资产2、资产3的权重分别为0.4、0.5、0.l。

下面我们考虑二次规划求解资产组合,二次规划问题(QuadraticProgramming)的标准形式如下

其中,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2