主要内容

Portsim.

蒙特卡罗相关资产回报仿真

描述

例子

Retseries.= portsim(expreturn.expcovariance.numobs.模拟相关回报尼索斯资产过度numobs.连续观察间隔。资产返回被模拟为恒定漂移,恒定波动性随机过程的比例增量,从而近似连续时间几何布朗运动。

例子

Retseries.= portsim(___Retintervals.numsim.方法除了上一个语法中的输入参数之外,使用一个或多个可选参数指定选项。

例子

全部收缩

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

考虑基于日常资产回报的以下预期返回,标准偏差和相关矩阵的五个资产的投资组合(其中expreturn.SIGMAS.除以100要将百分比转换为返回)。

expreturn = [0.0246 0.0189 0.0273 0.0141 0.0311] / 100;SIGMAS = [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 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(Sigmas,Colrelation)
expcovariance =5×510.-3×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个交易日,并在为期两年期间模拟每日退货的两个样本路径(实现)。自从expreturn.expcovariance.每天表达,设置Retintervals = 1

StartPrice = 100;numobs = 504;%两个日历年度回报numsim = 2;Retintervals = 1;%一个交易日numasset = 5;

为了说明方法之间的区别,通过每个方法模拟两个路径,从相同的随机数状态开始。

RNG('默认');Retexact = portsim(Expreturn,Expcovariance,numobs,......Retintervals,Numsim,'精确的');RNG(0);重新标准= portsim(expreturn,expcariance,numobs,......Retintervals,Numsim,'预期的');

比较均值和协方差重返者输入输入(expreturn.expcovariance.),您将观察到它们几乎相同。

在此刻,重返者重新标准均为504×5×2阵列。现在假设由五个资产形成的同等加权组合,并创建每个列代表五个资产的模拟回报的相应样本路径的投资组合返回的投资组合返回数组。投资组合阵列Portretexact.portretexpected.是504×2矩阵。

重量= =(numasset,1)/ numasset;Portrosexact = Zeros(numobs,numsim);Portrosexpected = Zeros(numobs,numsim);为了i = 1:numsim portretexact(:,i)= Retexact(:,:,i)*权重;PortrexedExpected(:,i)=重新标准(:,:,i)*权重;结尾

最后,将模拟的产品组合转换为价格并绘制数据。特别地,注意自以来精确的方法匹配预期的返回和协方差,终端组合价格对于每个样本路径几乎相同。这不是真的预期的仿真方法。虽然此示例审视了组合,但同样的方法也适用于各个资产。因此,精确的当需要独特的路径达到相同的终端价格时,模拟最合适。

portExact = Ret2Tick(Portretexact,......Repmat(StartPrice,1,NumSim)));portexpected = ret2tick(portrezexpected,......Repmat(StartPrice,1,NumSim)));子图(2,1,1),plot(portexact,'-R')ylabel('投资组合价格') 标题('确切的方法')子图(2,1,2),plot(portexpected,'-b')ylabel('投资组合价格') 标题('预期方法'

此示例显示了之间的相互作用expreturn.expcovariance., 和Retintervals.。回顾Portsim.模拟相关资产在长度间隔内返回DT.,由等式给出

D. S. S. = μ. D. T. + σ. D. Z. = μ. D. T. + σ. ε. D. T.

在哪里S.资产价格是资产价格,μ.是预期的回报率,σ.是资产价格的波动性,以及ε.表示从标准化的正态分布中的随机绘制。

时间增量DT.由可选输入确定Retintervals.默认情况下,作为一个显式输入参数或作为单位时间递增。无论如何,周期性expreturn.expcovariance., 和Retintervals.必须是一致的。例如,如果expreturn.expcovariance.是年度化的,然后Retintervals.必须多年。这一点往往误解了。

说明之间的相互作用expreturn.expcovariance., 和Retintervals.,考虑基于日常资产回报的以下预期返回,标准偏差和相关矩阵的五个资产的投资组合。

expreturn = [0.0246 0.0189 0.0273 0.0141 0.0311] / 100;SIGMAS = [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 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(SIGMA,相关);

假设每历户每年252个交易日,并在为期四年期间模拟每日退货的单一样本路径。自从此以来expreturn.expcovariance.输入显示输入,设置Retintervals = 1

StartPrice = 100;numobs = 1008;%四个日历年的日期回报Retintervals = 1;%一个交易日numasset =长度(expreturn);Randn('状态',0);RetSeries1 = portsim(Expreturn,Expcovariance,numobs,......Retintervals,1,'预期的');

现在通过乘法来改变数据的周期性,从而改变数据的周期性expreturn.expcovariance.到252并分裂Retintervals.到252(Retintervals.一年的1/252)。将随机数生成器重置为其初始状态,您可以重现结果。

RNG('默认');RetSeries2 = Portsim(Expreturn * 252,Expcovariance * 252,......numobs,Retintervals / 252,1,'预期的');

假设与每个模拟回波系列相关联的同等加权组合和计算组合返回。

重量= =(numasset,1)/ numasset;Portret1 = Retseries2 *权重;Portret2 = Retseries2 *权重;

数据的比较显示Portret1.Portret2.是相同的。

此示例显示了如何模拟一个单变量几何布朗运动过程。它基于船体中发现的一个例子,期权,期货和其他衍生品,第5版(请参见第236页的示例12.2)。除了验证HULL的示例之外,它还以相当大的蒙特卡罗模拟来说明终端股价的LOGNORMAL属性。

假设您拥有初始价格为20美元的库存,年化预期返回20%,波动率为40%。在一个完整的日历年度(252个交易日),模拟此库存的日常价格流程。

Startprice = 20;expreturn = 0.2;expcovariance = 0.4 ^ 2;numobs = 252;numsim = 10000;Retintervals = 1/252;

Retintervals.在年份表达,与此事实一致expreturn.expcovariance.是年度化的。还,expcovariance.作为方差输入而不是更熟悉的标准偏差(波动率)。

设置随机数发生器状态,并在252个交易日的全日历年度模拟股票的10,000名试验(实现)。

RNG('默认');Retseries =挤压(Portsim(Expreturn,Expcovariance,Numobs,......Retintervals,Numsim,'预期的'));

函数重新格式化模拟返回的输出阵列252.-经过-1-经过-10000阵列更方便252.-经过-10000大批。(回顾Portsim.基本上是一种多变量模拟引擎)。

根据船体的等式12.4和12.5(第236页)

E. S. T. = S. 0. E. μ. T. V. 一种 R. S. T. = S. 0. 2 E. 2 μ. T. E. σ. 2 T. - 1

将模拟回报系列转换为价格系列并计算样本均值和终端股票价格的方差。

StockPrices = Ret2Tick(Retseries,Repmat(StartPrice,1,NumSim));SAMPMEAN =卑鄙(Stockprics(END,:))SAMPVAR = var(股票(结束,:))
SAMPMEAN = 24.4489 SAMPVAR = 101.4243

将这些值与使用Hull的方程获得的值进行比较。

Expvalue = StartPrice * exp(Expreturn)Expvar =......StartPrice * StartPrice * exp(2 * Expreturn)*(exp((扩展)) -  1)
Expvalue = 24.4281 Expvar = 103.5391

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

显示一个日历年后终端股价的样品密度函数。从样本密度函数,终端股价的逻辑分布很明显。

[计数,Bincenter] = steg(股票(终点,:),30);图栏(Bincenter,Count / Sum(Count),1,'r')Xlabel('终端股价')ylabel('可能性') 标题('Lognormal终端股价'

输入参数

全部收缩

预期(意思)每个资产的返回,指定为a1-经过-尼索斯向量。

数据类型:双倍的

资产回归协方差,指定为一个尼索斯-经过-尼索斯矩阵。expcovariance.必须是对称和正面的半纤维(没有负数特征值)。回报的标准偏差是Expsigma = SQRT(DIAG(Expcovariance))。如果expcovariance.不是一个对称的正半纤维矩阵,使用亲戚为相关矩阵创建正半纤维矩阵。

数据类型:双倍的

返回时间序列中的连续观测数量,指定为正标量整数。如果numobs.输入为空矩阵[],长度Retintervals.用来。

数据类型:双倍的

(可选)观察之间的间隔时间,指定为正标量或许多观察numobs.-经过-1向量。如果Retintervals.未指定,假设所有间隔都有长度1

数据类型:双倍的

(可选)模拟样本路径(实现)的数量numobs.观察,指定为正标量整数。默认值numsim.1(单身实现numobs.相关资产返回)。

数据类型:双倍的

(可选)蒙特卡罗模拟类型,指定为具有以下值之一的字符向量:

  • '精确的'(默认)生成相关资产返回,其中示例均值和协方差与输入匹配(expreturn.)和协方差(expcovariance.) 规格。

  • '预期的'生成相关资产返回,其中样本均值和协方差统计上等于输入均值和协方差规范。(样本均值和协方差的预期值等于输入意味着(expreturn.)和协方差(expcovariance.) 规格。)

对于任何一种方法,返回的样本均值和协方差适当地缩放Retintervals.

数据类型:char

输出参数

全部收缩

相关性,正常分布,比例资产返回的三维阵列,作为anumobs.-经过-尼索斯-经过-numsim.立体阵列。

资产在长度间隔内返回DT.是由

D. S. S. = μ. D. T. + σ. D. Z. = μ. D. T. + σ. ε. D. T.

在哪里S.资产价格是资产价格,μ.是预期的回报率,σ.是资产价格的波动性,以及ε.表示从标准化的正态分布中的随机绘制。

笔记

  • 什么时候方法'精确的',所有实现的样本均值和协方差(缩放Retintervals.)匹配输入均值和协方差。当返回转换为资产价格后,给定资产的所有终端价格都在密切协议。虽然所有的实现都是独立绘制的,但它们产生了类似的终端资产价格。放方法'预期的'避免这种行为。

  • 来自投资组合的返回portwts.是由Portreturn = portwts * Retseries(:,:,1)', 在哪里portwts.是一个矩阵,其中每行包含投资组合的资产分配。每一排Portryurn.对应于其中识别的投资组合之一portwts.,并且每个列对应于从第一实现(第一平面)中采取的观察结果之一Retseries.。看portopt.Portstats.用于投资组合规范和优化。

参考

[1]船体,J.C。期权,期货和其他衍生品。Prentice-Hall,2003年。

在R2006A之前介绍