第6章 资产组合计算.docx
- 文档编号:8445276
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:15
- 大小:46.23KB
第6章 资产组合计算.docx
《第6章 资产组合计算.docx》由会员分享,可在线阅读,更多相关《第6章 资产组合计算.docx(15页珍藏版)》请在冰豆网上搜索。
第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)
结果:
Optimiz
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 资产组合计算 资产 组合 计算