第6章资产组合计算.docx

上传人:b****1 文档编号:13738185 上传时间:2023-06-16 格式:DOCX 页数:18 大小:46.19KB
下载 相关 举报
第6章资产组合计算.docx_第1页
第1页 / 共18页
第6章资产组合计算.docx_第2页
第2页 / 共18页
第6章资产组合计算.docx_第3页
第3页 / 共18页
第6章资产组合计算.docx_第4页
第4页 / 共18页
第6章资产组合计算.docx_第5页
第5页 / 共18页
第6章资产组合计算.docx_第6页
第6页 / 共18页
第6章资产组合计算.docx_第7页
第7页 / 共18页
第6章资产组合计算.docx_第8页
第8页 / 共18页
第6章资产组合计算.docx_第9页
第9页 / 共18页
第6章资产组合计算.docx_第10页
第10页 / 共18页
第6章资产组合计算.docx_第11页
第11页 / 共18页
第6章资产组合计算.docx_第12页
第12页 / 共18页
第6章资产组合计算.docx_第13页
第13页 / 共18页
第6章资产组合计算.docx_第14页
第14页 / 共18页
第6章资产组合计算.docx_第15页
第15页 / 共18页
第6章资产组合计算.docx_第16页
第16页 / 共18页
第6章资产组合计算.docx_第17页
第17页 / 共18页
第6章资产组合计算.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

第6章资产组合计算.docx

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

第6章资产组合计算.docx

第6章资产组合计算

第6章资产组合计算

6.1收益率序列与价格序列转换

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

格式:

[Tickseries,Ticktimes]=ret2tick(Retseries,Startprice,Retintervals,Starttime,Method)

输入参数:

Retseries:

收益率序列

Startprice:

起始价格,默认值为1

Retintervals:

收益率序列的时间间隔,默认值为1

Starttime:

价格开始计算的时间,默认值为0

Method:

转换方法。

Method=’simple’表示简单方法,

Method=’continuous’表示连续法,

输出参数

Tickseries:

价格序列

Ticktimes:

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

例6-1:

已知资产收益率及时间间隔如下

收益率

0.10

0.05

-0.05

时间间隔(天)

182

91

92

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

MATLAB命令:

RetSeries=[0.100.05-0.05]';

RetIntervals=[1829192]';

StartPrice=10;

StartTime=datenum('18-Dec-2000');%把字符串型日期转换为序数型日期

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

运行结果:

TickSeries=

10.0000

11.0000

11.5500

10.9725

TickTimes=

730838

731020

731111

731203

datestr(TickTimes)%把序数型日期转换为字符串型日期

ans=

18-Dec-2000

18-Jun-2001

17-Sep-2001

18-Dec-2001

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

调用方式

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

例6-2:

已知股票价格时间序列如下

时间

0

6

9

12

价格

100

110

115

110

求该股票的收益率时间序列

程序:

TickSeries=[100110115110]';

TickTimes=[06912]';

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

结果:

RetSeries=

0.1000

0.0455

-0.0435

RetIntervals=

6

3

3

6.2协方差与相关系数矩阵互换

(1)标准差和相关系数变为协方差

格式:

Covariances=corr2cov(STDs,Correlations)

输入参数

STDs标准差矩阵

Correlations相关系数矩阵

输出参数

Covariances协方差矩阵

例6-3已知资产组合中有三个品种,每个品种的资产收益率、标准差和相关系数如下

资产A

资产B

资产C

预期回报

0.1

0.15

0.12

标准差

0.2

0.25

0.18

相关系数矩阵

资产A

1

0.8

0.4

资产B

0.8

1

0.3

资产C

0.4

0.3

1

求该资产的协方差矩阵

STDs=[0.20.250.18]

Correlations=[10.80.4;0.810.3;0.40.31]

Covariances=corr2cov(STDs,Correlations)

Covariances=

0.04000.04000.0144

0.04000.06250.0135

0.01440.01350.0324

 

(2)协方差变为标准差和相关系数

格式:

[STDs,Correlations]=cov2corr(Covariances)

如上例

Covariances=[0.04000.04000.0144

0.04000.06250.0135

0.01440.01350.0324]

[STDs,Correlations]=cov2corr(Covariances)

STDs=

0.20000.25000.1800

Correlations=

1.00000.80000.4000

0.80001.00000.3000

0.40000.30001.0000

6.3资产组合收益率与方差

格式:

[PortRisk,PortReturn]=portstats(ExpReturn,ExpCovariance,PortWts)

输入参数:

ExpReturn:

期望收益向量

ExpCovariance:

资产的协方差矩阵

PortWts:

资产权重向量

输出参数:

PortRisk:

总资产标准差

PortReturn:

总资产收益

例6-4ExpReturn=[0.1,0.2,0.15]

ExpCovariance=[0.0100-0.00610.0042

-0.00610.0400-0.0252

0.0042-0.02520.0225]

PortWts[0.40.20.4;0.20.40.2]

[PortRisk,PortReturn]=portstats(ExpReturn,ExpCovariance,…PortWts)

PortRisk=

0.0560

0.0550

PortReturn=

0.1400

0.1300

例6-5考虑一个由三种证券A,B,C构成的组合,投资者对它们的期望收益率分别估计为15%,22%,18%,期初总投资为11250元,对这些证券的投资和它们的价格如下表所示:

证券

股数

n

每股期初价格

(元)

每股期末价格

(元)

期初总价值(元)

期末总价值(元)

A

100

30

40

3000

4000

B

150

25

35

3750

5250

C

100

45

60

4500

6000

又设它们的方差---协方差矩阵为

分别求该证券组合、组合的期望收益率和组合的标准差。

解先求得证券A,B,C在总投资中所占的比例分别为

故该证券组合为

Expreturn=[0.15,0.22,0.18];

Expcovariance=[140200150;200800120;150120300];

PortWts=[0.26670.33330.4];

[PortRisk,PortReturn]=portstats(Expreturn,Expcovariance,PortWts)

PortRisk=

15.6967

PortReturn=

1.1853

6.4均值方差有效前沿

(1)frontcon函数

调用方式

[PortRink,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,上限为1

输出参数:

PortRink:

组合的标准差

PortReturn:

组合的回报

PortWts:

组合中每种资产的权重

例6-6考虑一个3资产组合,预期收益率分别为0.1,0.2,0.15,资产协方差矩阵如下:

求该资产组合有效前沿。

项目

资产1

资产2

资产3

资产1

0.01

-0.0061

0.0042

资产2

-0.0061

0.04

-0.0252

资产3

0.0042

-0.0252

0.0225

命令:

ExpReturn=[0.10.20.15];

ExpCovariance=[0.01-0.00610.0042;-0.00610.04-0.0252;0.0042-0.02520.0225];

NumPorts=4;

[PortRink,PortReturn,PortWts]=frontcon(ExpReturn,ExpCovariance,NumPorts)

结果:

PortRink=

0.0426

0.0483

0.1089

0.2000

PortReturn=

0.1569

0.1713

0.1856

0.2000

PortWts=

0.21340.35180.4348

0.00960.43520.5552

00.71280.2872

01.00000

(2)portopt函数

目的有效边界制约的投资组合,约束性的有效前沿证券组合

格式[PortRisk,PortReturn,PortWts]=portopt(ExpReturn,ExpCovariance,NumPorts,

PortReturn,ConSet)

参数ExpReturn资产的期望回报

ExpCovariance资产回报的方差

NumPorts沿有效边界产生的资产组合的数量。

回报在可能的最大回报和最小风险点之间。

若NumPorts是空的(键入[]),计算10个空间点。

PortReturn每个投资组合的期望回报。

ConSet一个资产投资组合的限制,产生portcons。

若没有说明,使用默认值。

描述[PortRisk,PortReturn,PortWts]=portopt(ExpReturn,ExpCovariance,NumPorts,

PortReturn,ConSet)返回有效边界的方差,有用户指定的协方差、回报、资产限制条件(ConSet)。

给定一个风险资产(NASSETS)的集合,计算投资组合的权重组合,它使得期望回报有最小风险。

投资组合风险被最小化,这限制在总投资价值,个人资产最小和最大分拨,资产组中的最小和最大分拨,或资产组对组的比较。

若portopt是没有争议下产生的,它返回一个有效边界的策略。

例6-7在三种资产中分配的资产组合的有效边界的风险收益。

沿着连接20个文件夹。

默认状态是,在无法短期卖出的资产组合中进行选择,并对其附值1。

ExpCovariance=[0.005-0.0100.004

-0.0100.040-0.002

0.004-0.0020.023];

NumPorts=20;

Portopt(ExpReturn,ExpCovariance,NumPorts)

返回两个具有16%和17%的回报率的有效投资组合。

限制一种在第一种资产中的分拨至少为20%的组合,使在第一和第三种资产中的总值为组合的50%。

ExpReturn=[0.10.20.15];

ExpCovariance=[0.005-0.0100.004

-0.0100.040-0.002

0.004-0.0020.023]

PortReturn=[0.16

0.17];

NumAssets=3;

AssetMin=[0.20NaNNaN];

Group=[101];

GroupMax=0.50;

ConSet=portcons(‘Default’,NumAssets,’AssetLims’,AssetMin….NaN,

’GroupLims’,Group,NaN,GroupMax);

[PortRisk,PortReturn,PortWts]=portopt(ExpReturn,….ExpCovariance,[],

PortReturn,ConSet)

PortRisk=

0.0919

0.1138

PortReturn=

0.1600

0.1700

PorWts=

0.30000.50000.2000

0.20000.60000.2000

(3)Portrand函数

目的随机投资组合的风险,收益,权数

格式[PortRisk,PortReturn,PortWts]=portrand(Asset,Return,Points)

Portrand(Asset,Return,Points)

参数Asset时间序列数据的基体。

每排为一个观察值,每一栏代表一个单一的安全。

Return(任意排)矢量。

其中,每栏代表在Asset在中的相应安全的收益率。

默认情况下,Return用Asset的每栏的平均值计算。

Points(任意)标量指定了有多少随机点产生。

默认值是1000。

描述[PortRisk,PortReturn,PortWts]=portrand(Asset,Return,Points)返回随机投资组合构造的风险,收益率和权重。

PortRisk标准偏离的Point-by-1矢量。

PortReturn期望收益率的Point-by-1矢量。

PortWtsPoints以资产权重的安全基体的数量。

PortWts每排是不同的资产组合构造。

Portrand(Asset,Return,Point)点出了代表不同资产组合构造的点。

在MATLAB工作空间内不会返回任何数据。

另外frontcon

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

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

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

MATLAB中投资者目标函数为:

其中,

表示未来回报,A表示投资者风险厌恶系数,一般在2到4之间,

是资产标准差。

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

函数portalloc,就是根据风险-收益最优原则配置每项资产。

调用方式:

[RiskyRink,RiskyReturn,RiskyWts,RiskyFraction,OverallRick,OverallReturn]

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

输入参数:

PortRisk:

有效前沿上每项资产的标准差

PortReturn:

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

PortWts:

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

RisklessRate:

无风险利率

BorrowRate:

借款利率,默认为没有借贷

RiskAversion:

投资者的风险厌恶系数,通常选3

输出参数:

RiskyRisk:

风险资产部分标准差

RiskyReturn:

风险资产部分的回报

RiskyWts:

风险资产的权重

RiskyFraction:

总资产中风险资产的回报

OverallRisk:

总资产的标准差

OverallReturn:

总资产的回报

注:

RiskyFraction=1,没有借贷关系,全部是风险资产;

RiskyFraction=1.5,有50%的资金是借来的;

RiskyFraction=0.8,风险投资比率80%,20%投资于无风险资产。

例6-8考虑一个3资产组合,预期收益率分别为0.1,0.2,0.15,资产协方差矩阵如下:

项目

资产1

资产2

资产3

资产1

0.005

-0.01

0.004

资产2

-0.01

0.04

-0.002

资产3

0.004

-0.002

0.023

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

ExpReturn=[0.10.20.15];

ExpCovariance=[0.005-0.010.004;-0.010.04-0.002;0.004-0.0020.023];

RisklessRate=0.08;

BorrowRate=0.12;

RiskAversion=3;

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

[RiskyRink,RiskyReturn,RiskyWts,RiskyFraction,OverallRick,OverallReturn]=portalloc(PortRisk,...

PortReturn,PortWts,RisklessRate,BorrowRate,RiskAversion)

RiskyRink=

0.1283

RiskyReturn=

0.1788

RiskyWts=

0.02650.60230.3712

RiskyFraction=

1.1898

OverallRick=

0.1527

OverallReturn=

0.1899

6.6证券组合在险价值,风险性组合价值

格式ValueAtRisk=portvrisk(PortRisk,PortReturn,RiskThreshold,Portvalue)

参数PortReturn由时期内每种证券期望收益的矢量或标量决定

PortRisk时期内每个证券组合的标准差。

RiskThreshold表明损失概率的矢量或标量。

缺省值=0.05(5%)

Portvalue表明总的资产价值的矢量或标量。

XXX

描述ValueAtRisk=portvrisk(PortRisk,PortReturn,RiskThreshold,Portvalue)

返回一定时期内证券组合价值的最大潜在损失,给定损失概率RiskThreshold。

在险价值是证券组合中估计的最大损失向量,用1-RiskThreshold置信概率预测。

如果组合价值没有给定,在险价值由一个基本单位表示。

0值表示没有损失。

例6-9

(1)计算单位基础上的在险价值。

PortReturn=0.29/100;

PortRisk=3.08/100

RiskThreshold=[0.01;0.05;0.01]

Portvalue=1

ValueAtRisk=portvrisk(PortRisk,PortReturn,…RiskThreshold,Portvalue)

ValueAtRisk=

0.0688

0.0478

0.0366

(2)计算关于实际价值的在险价值。

PortReturn=[0.29/100;0.30/100];

PortRisk=[3.08/100;3.15/100];

RiskThreshold=0.10;

Portvalue=[1000000000;5000000000];

ValueAtRisk=portvrisk(PortRisk,PortReturn,…RiskThreshold,Portvalue)

ValueAtRisk=

1.0e+007*

3.6572

1.8684

6.7相关资产收益的随机模拟

格式RetSeries=portsim(ExpReturn,ExpCovariance,NumObs,RetIntervals,NumSim)

参数ExpReturn资产编号为一的矢量指明每种资产的期望收益

ExpCovarance资产编号矩阵和资产协方差.收益的标准差是:

Numobs(可选)在收益时间序列中执行观察值的号码。

如果观察值作为空矩阵进入,就使用回车长度.

RetIntervals(可选)观察值之间时间间隔的矢量的标量或观察值编号.如果回车间隔不明确,所有的间隔都假定为1。

NumSim(可选)分离的执行观察值。

缺省值=1。

描述在连续时间间隔下资产收益的模拟.收益被模拟作为常数增量和波动布朗运动.

序列是一组增加的收益观察值.DT长度的收益表示为:

ExpReturn*DT+ExpSigma*randn,在这里,模块提供一个随机标量,它的值随每个参照时间改变。

被列字模块中的实现自证券组合的收益由下式给出:

收益=模块*序列(:

:

1),在这里,模块是一个矩阵,其中每一行包含资产分配,没一行收益相应于模块中识别的一种证券,每一列对应于序列中的一组观察值。

例6-10创建有个10时期3种股票的收益样本。

ExpReturn=[0.10.20.15]

ExpCovariance=[0.005-0.0100.004

-0.0100.040-0.002

0.004-0.0020.023]

Numobs=10

RetSeries=portsim(ExpReturn,ExpCovariance,NumObs)

RetSeries=

0.14290.26260.2365

0.08210.1599-0.1796

0.00540.61260.1072

0.1719-0.06690.1913

0.1518-0.08430.0442

0.01120.27090.1501

0.04090.16830.1932

0.14850.25220.2774

0.04630.32220.954

0.19900.10240.3843

注意不同序列每个时间这个例子被执行.模块端口函数使用随机生成序列.

6.8线性规划求解资产组合问题

MATLAB形式:

调用方式

x=linprog(f,A,b)

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

例6-11某资产组合有3种资产,各资产收益率分别为0.2,0.1,0.15,要求资产1与资产3权重之和小于资产2权重,且没有卖空。

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

首先确定目标函数

约束条件:

MATLAB命令:

f=[-0.2-0.1-0.15];

A=[1-11];

b=0;

Aeq=[111];

beq=1;

lb=[000.1];

ub=[111];

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

结果:

Optimiza

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

当前位置:首页 > 自然科学

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

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