第章资产组合计算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5章资产组合计算
资产组合是实务性比较强的内容,通过本章的学习,要求读者掌握协方差与相关系数之间的相互推导,熟悉资产组合基本理论,学会用MATLAB计算投资组合基本参数,如均值与方差、资产组合VaR,重点掌握资产组合有效前沿的计算,能够处理无风险利率以及借贷关系情况下的最优投资组合,会用MATLAB规划工具箱求解投资组合最优化问题。
资产组合基本原理
证券投资组合理论(Portfolio Theory)主要研究如何配置各种不同的金融资产,实现资产组合的最佳投资配置。1952年美国学者马克维茨创立了资产组合理论,该理论在实践中得到广泛运用。
收益率序列与价格序列间的转换
1.将收益率序列转换为价格序列
在处理金融时间序列时,有时需要把收益率序列转换为价格序列。在MATLAB中将收益率序列转换为价格序列的函数是ret2tick。
调用方式
[TickSeries,TickTimes]=ret2tick(RetSeries,StartPrice,RetIntervals,StartTime,Meth od)
输入参数
RetSeries %收益率序列
StartPrice %(0ptional)起始价格,默认值是1
RetIntervals %(0ptional)收益率序列的时间间隔,默认值是l
StartTime %(optional)价格开始计算的时间,默认值是0
Method %(Optionl)转换方法。Method='Simple'表示简单,)r 1(P p 1t t 1t +++=;Method ='Continous'表示连续法,1t r t 1t e P P +=+。 输出参数
TickSeries %价格序列
TickTimes %与价格对应的时间序列 例5-1己知资产收益率以及时间间隔如表所示
表 资产收益率及时间
起始价格为10元,起始时间为2000年12月18日,试求该资产价格时间序列,收益率采用离散方法。
在MATLAB 中执行以下命令:
RetSeries=[,,]';
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
这样就把收益率时间序列转换为价格时间序列,结果如表所示。
表 资产各时间的价格
2.将价格序列转换为收益率序列
MATLAB 中将价格序列转换为收益率序列的函数是tick2ret 。 调用方式
[RetSeries,RetIntervals]=tick2ret(TickSeries,TickTimes,Method) 输入参数
TickSeries %价格序列
TimeTimes % 价格序列对应的时间
Method
%(Optionl)计算收益率的,Method='Simple'表示算术收益率;Method ='Continous'表示连续法,即为对数计算法。
输出参数
RetSeries %收益率序列 RetIntervals %收益率时间间隔 例5-2已知股票的价格时间序列如表所示。
表 股票各时间对应的价格
求出该股票的收益率时日序列。 在MATLAB 中执行以下命令:
TickSeries=[100;110;115;110];
TickTimes=[0;6;9;12];
[RetSeries,RetIntervals]=tick2ret(TickSeries,TickTime)
协方差矩阵与相关系数矩阵间的转换
MATLAB中的corr2cov函数可以把相关系数矩阵转换为协方差矩阵
调用方式
Covariances=corr2cov(STDs,Correlations)
输入参数
STDs %标准差矩阵
Correlations %相关系数矩阵
输出参数
Covariance % 协方差矩阵
例5-3 已知资产组合中有3个品种,每个品种的资产收益率、标准差和相关系数如表所示。
表的相关数据
Returns=[,,];
STDs=[1,,];
Correlations=[1,,;,1,;,,1];
Covariances=corr2cov(STDs,Correlations)
资产组合收益率与方差
MATLAB中计算资产组合回报与方差的函数是portstats。
调用方式
[PortRisk,PortReturn]=portstats(ExpReturn,ExpCovariance,PortWts)
输入参数
ExpReturn % 期望收益率向量
ExpCovariance % 资产的协方差矩阵
PortWts % 资产权重向量
输出参数
PortRisk % 总资产的标准差
PortReturn % % 总资产的收益
例5-4 某资产组合中有3种资产A、B、C.组合中各资产的预期收益率分别为,,,权重分别为0.4,0.2,0.4,具体数据见程序
ExpReturn=[,,];
ExpCovariance=[,,;,,;,,]
PortWts=[,,;,,];
[PortRisk,PortReturn]=portstats(ExpReturn,ExpCovariance,PortWts)
PortRisk =
PortReturn =
从上述结果可以看到,这两个资产组合的标准差分别为、,资产回报分别,
例5-5假设资产组合中有5种资产,收益分别为,,,,,方差分别为,,,,,资产收益率各不相关,各资产权重分别为,,,,,计算该组合的收益率与方差。
returns=[0,1,,,,];
variances=[,,,,];
ws=[,,,,];
mean=sum(returns.*ws)
variance=sum(variance.*ws.^2)
资产组合VaR(Value At Risk)
一般被称为“风险价值”或“在险价值”,指在一定的置信水平下,某一金融资产(或证券组合)在未来特定的一段时间内的最大可能损失。假定JP摩根公司在2004年置信水平为