主要内容

portsim

蒙特卡罗模拟的相关资产的回报

描述

例子

RetSeries= portsim (ExpReturn,ExpCovariance,NumObs)模拟相关的回报NASSETS资产超过NUMOBS连续观测间隔。模拟资产回报的比例增加不断漂移,常数波动随机过程,从而近似连续时间几何布朗运动。

请注意

另一种投资组合优化是使用投资组合均值-方差投资组合优化的对象。这个对象支持或净投资组合金宝app总值返回返回代理,投资组合收益的方差作为风险代理,和一套组合的任意组合指定的约束,形成一套组合。在工作流在使用信息投资组合对象,看到组合对象的工作流

例子

RetSeries= portsim (___,RetIntervals,NumSim,方法)指定选择使用一个或多个可选参数除了输入参数在前面的语法。

例子

全部折叠

这个例子显示了区别确切的预期模拟的方法。

考虑的五资产组合预期收益后,标准偏差,并根据每日资产回报(相关矩阵ExpReturn(开关)除以100转换百分比回报)。

ExpReturn = (0.0246 0.0189 - 0.0273 0.0141 - 0.0311) / 100;(= (0.9509 1.4259 - 1.5227 1.1062 - 1.0877)/ 100;相关性= [1.0000 0.4403 0.4735 0.4334 0.6855 0.4403 1.0000 0.7597 0.7809 0.4343 0.4735 0.7597 1.0000 0.6978 0.4926 0.4334 0.7809 0.6978 1.0000 0.4289 0.6855 0.4343 0.4926 0.4289 - 1.0000);

将相关性和标准差协方差矩阵。

ExpCovariance = corr2cov((相关性)
ExpCovariance =5×5103×0.0904 0.0597 0.0686 0.0456 0.0709 0.0597 0.2033 0.1649 0.1232 0.0674 0.0686 0.1649 0.2319 0.1175 0.0816 0.0456 0.1232 0.1175 0.1224 0.0516 0.0709 0.0674 0.0816 0.0516 0.1183

假设在一个日历年,有252个交易日和模拟两个样本路径(实现)的日常返回在两年的时间。自ExpReturnExpCovariance在日常生活中表达了,准备好了吗RetIntervals = 1

StartPrice = 100;NumObs = 504;%两个日历年的每日返回NumSim = 2;RetIntervals = 1;%一个交易日NumAssets = 5;

为了说明方法的区别,每个方法模拟两条路径,从相同的随机数。

rng (“默认”);RetExact = portsim (ExpReturn ExpCovariance NumObs,RetIntervals NumSim,“准确”);rng (0);RetExpected = portsim (ExpReturn ExpCovariance NumObs,RetIntervals NumSim,“预期”);

比较的均值和协方差RetExact输入(ExpReturnExpCovariance),你会观察到,他们几乎是相同的。

在这一点上,RetExactRetExpected都是504 -通过- 5 - 2数组。现在假设一个同样加权组合由五个资产组合和创建数组的回报的投资组合回报率,其中每一列表示相应的模拟样本路径返回的5个资产。投资组合数组PortRetExactPortRetExpected由- 2 504 -矩阵。

重量= 1 (NumAssets 1) / NumAssets;PortRetExact = 0 (NumObs NumSim);PortRetExpected = 0 (NumObs NumSim);i = 1: NumSim PortRetExact(:,我)= RetExact(:,:我)*权重;PortRetExpected(:,我)= RetExpected(:,:我)*权重;结束

最后,将模拟投资组合收益价格和情节的数据。特别是,注意自确切的方法匹配预期回报和协方差,终端组合价格为每个样本路径几乎是相同的。这是不正确的预期仿真方法。尽管这个示例检查组合,同样的方法也适用于个人资产。因此,确切的模拟是最合适当独特的路径需要达到同样的终端价格。

PortExact = ret2tick (PortRetExact,repmat (StartPrice 1 NumSim));PortExpected = ret2tick (PortRetExpected,repmat (StartPrice 1 NumSim));次要情节(2,1,1),情节(PortExact,“- r”)ylabel (的投资组合的价格)标题(的具体方法次要情节(2,1,2),图(PortExpected,“- b”)ylabel (的投资组合的价格)标题(“预计方法”)

图包含2轴对象。坐标轴对象1标题准确方法,ylabel组合价格包含2线类型的对象。坐标轴对象与标题2预计方法,ylabel组合价格包含2线类型的对象。

这个例子显示了之间的相互作用ExpReturn,ExpCovariance,RetIntervals。回想一下,portsim模拟相关资产回报率超过一个区间的长度dt,给出的方程

d 年代 年代 = μ d t + σ d z = μ d t + σ ε d t ,

在哪里年代资产价格,μ是预期的回报率,σ资产价格的波动,ε代表标准正态分布的随机图。

时间增量dt是由可选输入RetIntervals作为一个显式输入参数或作为一个单元默认时间增量。无论如何,周期性的ExpReturn,ExpCovariance,RetIntervals必须是一致的。例如,如果ExpReturnExpCovariance年,那么RetIntervals必须在年。这一点经常被误解。

说明之间的相互作用ExpReturn,ExpCovariance,RetIntervals5,考虑一个投资组合资产的预期回报率后,标准偏差,基于日常资产回报的相关矩阵。

ExpReturn = (0.0246 0.0189 - 0.0273 0.0141 - 0.0311) / 100;(= (0.9509 1.4259 - 1.5227 1.1062 - 1.0877)/ 100;相关性= [1.0000 0.4403 0.4735 0.4334 0.6855 0.4403 1.0000 0.7597 0.7809 0.4343 0.4735 0.7597 1.0000 0.6978 0.4926 0.4334 0.7809 0.6978 1.0000 0.4289 0.6855 0.4343 0.4926 0.4289 - 1.0000);

将相关性和标准差的协方差矩阵的日常的回报。

(开关)ExpCovariance = corr2cov(相关性);

假设每个日历年度252个交易日,和模拟单个样本路径在四年期间的日常的回报。自ExpReturnExpCovariance每天输入表达,集RetIntervals = 1

StartPrice = 100;NumObs = 1008;% 4日历年的日常的回报RetIntervals = 1;%一个交易日NumAssets =长度(ExpReturn);randn (“状态”,0);RetSeries1 = portsim (ExpReturn ExpCovariance NumObs,RetIntervals 1“预期”);

现在按年计算每日数据,从而改变数据的周期性,乘以ExpReturnExpCovariance到252年,将RetIntervals到252年(RetIntervals= 1/252年)。重置随机数发生器的初始状态,您可以复制的结果。

rng (“默认”);RetSeries2 = portsim (ExpReturn * 252, ExpCovariance * 252,NumObs RetIntervals / 252 1,“预期”);

假设一个同样加权组合,计算投资组合的回报与每个模拟返回相关系列。

重量= 1 (NumAssets 1) / NumAssets;PortRet1 = RetSeries2 *权重;PortRet2 = RetSeries2 *权重;

数据显示的比较PortRet1PortRet2都是相同的。

这个例子展示了如何模拟一个单变量几何布朗运动的过程。它是基于船体中找到一个例子,期权、期货和其他衍生品第五版(见例12.2 236页)。除了验证船体的例子,还生动地说明了终端股票价格的对数正态属性的一个相当大的蒙特卡罗模拟。

假设您拥有一个股票初始价格的20美元,20%的年化预期回报和波动性的40%。这只股票的每日价格过程模拟的一个完整的日历年度(252个交易日)。

StartPrice = 20;ExpReturn = 0.2;ExpCovariance = 0.4 ^ 2;NumObs = 252;NumSim = 10000;RetIntervals = 1/252;

RetIntervals表示,符合这一事实吗ExpReturnExpCovariance是按年计算的。同时,ExpCovariance作为一个输入方差而不是更熟悉的标准差(波动)。

随机数发生器的状态,模拟10000次试验(实现)的股票收益超过252个交易日的一个完整的日历年度。

rng (“默认”);RetSeries =挤压(portsim (ExpReturn、ExpCovariance NumObs,RetIntervals NumSim,“预期”));

挤压函数重新格式化输出模拟返回的数组252年——- - - - - -1——- - - - - -10000年数组来更方便252年——- - - - - -10000年数组中。(回想一下,portsim从根本上是一个多变量模拟引擎)。

依照船体的方程12.4和12.5在236页

E ( 年代 T ) = 年代 0 e μ T v 一个 r ( 年代 T ) = 年代 0 2 e 2 μ T ( e σ 2 T 1 )

将模拟返回系列价格系列和样本均值和方差的计算终端股票价格。

上涨空间= ret2tick (RetSeries repmat (StartPrice 1 NumSim));SampMean =意味着(上涨空间(最终,:))SampVar = var(上涨空间(最终,:))
SampMean SampVar = 101.4243 = 24.4489

比较这些值与值获得使用船体的方程。

ExpValue = StartPrice * exp (ExpReturn) ExpVar =StartPrice * StartPrice * exp (2 * ExpReturn) * (exp ((ExpCovariance)) - 1)
ExpValue ExpVar = 103.5391 = 24.4281

这些结果非常接近12.2船体的例子所示的结果。

显示终端的样本密度函数后股票价格一个日历年度。从样本密度函数,终端股票价格的对数正态分布明显。

[计数,BinCenter] =嘘(上涨空间(最终,:),30);图酒吧(BinCenter计数/总和(计数),1,“r”)包含(“终端股票价格”)ylabel (“概率”)标题(“股价对数正态终端”)

输入参数

全部折叠

每个资产的预期(平均)返回,指定为一个1——- - - - - -NASSETS向量。

数据类型:

资产收益协方差,指定为一个NASSETS——- - - - - -NASSETS矩阵。ExpCovariance必须对称半正定(无负特征值)。回报率的标准差ExpSigma =√诊断接头(ExpCovariance))。如果ExpCovariance不是一个对称半正定矩阵,使用nearcorr创建一个相关矩阵的半正定矩阵。

数据类型:

返回时间序列的连续观测,指定为一个积极的标量整数。如果NumObs输入为空矩阵[]的长度,RetIntervals使用。

数据类型:

(可选)之间的间隔时间观察,指定为一个积极的标量或观察NUMOBS——- - - - - -1向量。如果RetIntervals没有指定,所有的间隔都是假定有长度吗1

数据类型:

(可选)的模拟样本路径(实现)NUMOBS观察,指定为一个积极的标量整数。的默认值NumSim1(单一的实现NUMOBS相关资产的回报)。

数据类型:

(可选)类型的蒙特卡罗模拟,指定为一个特征向量与下列值之一:

  • “准确”(默认)生成相关资产回报的样本均值和协方差匹配输入的意思(ExpReturn)和协方差(ExpCovariance)规范。

  • “预期”生成相关资产回报的样本均值和协方差统计等于输入均值和协方差的规范。(预期值的样本均值和协方差等于输入的意思(ExpReturn)和协方差(ExpCovariance)规范。)

无论是方法,返回的样本均值和协方差是适当的比例RetIntervals

数据类型:字符

输出参数

全部折叠

三维数组的相关、正态分布比例的资产回报,作为一个返回NUMOBS——- - - - - -NASSETS——- - - - - -NUMSIM三维数组。

资产回报率超过一个区间的长度dt是由

d 年代 年代 = μ d t + σ d z = μ d t + σ ε d t ,

在哪里年代资产价格,μ是预期的回报率,σ资产价格的波动,ε代表标准正态分布的随机图。

笔记

  • 方法“准确”样本均值和协方差的实现(按比例缩小的RetIntervals)匹配输入均值和协方差。然后转化为资产价格的回报时,终端价格对于一个给定的资产都在密切的协议。尽管所有实现都独立了,他们生产类似的终端资产价格。集方法“预期”为了避免这种行为。

  • 投资组合的回报PortWts是由PortReturn = PortWts * RetSeries (:,: 1)”,在那里PortWts是一个矩阵的每一行包含一个投资组合的资产配置。每一行的PortReturn对应于一个组合中确定PortWts,每一列对应一个观察来自第一个实现(第一架飞机)RetSeries。看到portoptportstats为规范和优化投资组合。

引用

[1]船体,j . C。期权、期货和其他衍生品。普伦蒂斯·霍尔出版社,2003年。

版本历史

之前介绍过的R2006a