simBySolution

对角线漂移GBM过程的模拟近似解

描述

例子

(路径,,Z] = simBySolution(MDL,NPeriods)模拟几何布朗运动(GBM)工艺对角线漂移的近似解。

例子

(路径,,Z] = simBySolution(___,名称,值)加入了可选的名称 - 值对的参数。

例子

全部折叠

采用GBM仿真功能。可分离GBM模型有两个具体的仿真功能:

  • 一个重载欧拉仿真功能(模拟),为最佳性能而设计。

  • 一个simBySolution提供基本随机微分方程的近似解的函数,为精确设计。

加载Data_GlobalIdx2数据集,并指定SDE模型使用SDE对象表示市场模型和GBM模型作为使用SDELD、CEV和GBM对象表示市场模型

负载Data_GlobalIdx2价格= [Dataset.TSX Dataset.CAC Dataset.DAX...Dataset.NIK Dataset.FTSE Dataset.SP];返回= tick2ret(价格);nVariables =尺寸(返回,2);expReturn =平均(返回);西格玛= STD(返回);相关= corrcoef(返回);T = 0;X = 100;X = X(一(nVariables,1));F = @(T,X)DIAG(expReturn)* X; G = @(t,X) diag(X) * diag(sigma); SDE = sde(F, G,“相关”,...相关性,'将startState',X);“绿带运动”=“绿带运动”(诊断接头(expReturn)诊断接头(σ),“相关”,...相关性,'将startState',X);

为了说明重载欧拉逼近函数的性能优势(模拟),增加试验次数至10000

nPeriods = 249;% #模拟观测值dt = 1;%时间增量= 1天rng (142857“旋风”)[X,T] =模拟(GBM,nPeriods,'的DeltaTime',DT,...'nTrials',10000);谁X
类属性X 250x6x10000 120000000双精度

采用该试样尺寸,考察加拿大的TSX综合的终端分配定性验证数据的对数正态分布特征。

直方图(挤压(X(1,:)), 30),包含(“价格”),ylabel ('频率')标题(“价格的直方图一年后:加拿大(TSX综合)”)

模拟解决方案的10项试验并绘制一审:

RNG(“默认”)[S,T] =模拟(SDE,nPeriods,'的DeltaTime',DT,'nTrials',10);RNG(“默认”)[X,T] = simBySolution(GBM,nPeriods,...'的DeltaTime',DT,'nTrials',10);副区(2,1,1)情节(T,S(:,:,1)),xlabel(“交易日”),ylabel(“价格”)标题(“多昏暗的市场模式的第1条路径:欧拉逼近”)副区(2,1,2)情节(T,X(:,:,1)),xlabel(“交易日”),ylabel(“价格”)标题(“多暗市场模型第一路径:解析解”)

在这个例子中,所有的参数都是常数,simBySolution确实对准确的溶液进行采样。单个索引的任何给定的试验显示的细节,所述欧拉近似和精确解的价格路径接近,但不完全相同。

下图展示了两种功能之间的区别:

(1,1,1) plot(T, S(:,1,1) - X(:,1,1)'蓝色')、网格(“上”)xlabel(“交易日”),ylabel ('差价')标题(“欧拉约减精确解:加拿大(TSX综合)”)

simByEuler欧拉近似直接从运动方程出发,对随机微分方程进行数值计算dt时间增量。这个简单的近似,从离散误差受到影响。这个错误可以归因于这种差异的选择之间dt在理论时间增量,什么是一个连续时间参数。

离散时间近似提高作为DeltaTime趋近于零。欧拉功能往往是可供使用的最准确和最常用的方法。运仿真套件所有型号有simByEuler函数。

相比之下,simBySolution函数提供对底层模型的更精确描述。该函数通过近似可分离模型的封闭解来模拟价格路径。具体地说,它将欧拉方法应用于转换后的流程,这通常不是这个问题的确切解决方案GBM模型。这是因为,模拟和真实状态向量的概率分布只对分段常数参数是相同的。

当所有模型参数在每个观测周期内都是分段常数时,对状态向量采样的观测次数的模拟过程是精确的。由于本例中的所有参数都是常量,simBySolution确实对准确的溶液进行采样。

有关如何使用一个例子simBySolution优化解决方案的准确性,看到万博 尤文图斯优化精度:关于求解精度和误差

输入参数

全部折叠

几何布朗运动(GBM)模型,指定为GBM正在使用创建的对象GBM

数据类型:对象

仿真周期的数目,指定为正的标量整数。的价值NPeriods确定模拟输出系列的行数。

数据类型:

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。名称参数名和是对应的值。名称必须出现引号内。您可以按照任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例:(Z路径、时间)= simBySolution (GBM、NPeriods DeltaTime, dt, NTrials, 10)

的模拟试验(样本路径)NPERIODS每个观察,指定为逗号分隔的一对组成的'NTrials'一个正的标量整数。

数据类型:

观测值之间的正的时间增量,指定为逗号分隔的一对组成的'DeltaTimes'和一个标量或NPERIODS——- - - - - -1列向量。

DeltaTime代表熟悉dt在随机微分方程中发现,并确定输出状态变量的模拟路径报告的次数。

数据类型:

的中间时间数每个时间增量内的步骤dt(指定为DeltaTime),指定为逗号分隔的一对组成的“NSteps”一个正的标量整数。

simBySolution函数按时间增量进行分区dtn步长度的子区间dt/n步,和通过评估在模拟状态矢量细化模拟n步 - 1中间点。虽然simBySolution在这些中间点不报告输出状态向量,细化通过允许模拟更接近底层连续时间过程提高了准确性。

数据类型:

标志指示是否simBySolution使用对偶抽样生成驱动布朗运动矢量(维纳过程)的高斯随机变量,具体为由“对偶”并用的值的标量逻辑标志真正要么

当您指定真正,simBySolution执行采样,使得所有主要和对立的路径被模拟并且被存储在连续的匹配对:

  • 奇试验(1、3、5、…)对应于主高斯路径。

  • 即使试验(2、4、6,…)是通过否定高斯导出的各对匹配偶路径相应的伯(奇数)试验的绘制。

请注意

如果你指定了一个输入噪声处理(参见Z),simBySolution忽略的价值对立的

数据类型:逻辑

从属随机噪声过程的直接指定用于生成所述布朗运动矢量(Wiener过程),该驱动器仿真中,指定为逗号分隔的一对组成的'Z'和功能,或作为(NPERIODS * NSTEPS)——- - - - - -NBROWNS——- - - - - -NTRIALS相关随机变量的三维数组。

输入参数Z允许您直接指定噪音的产生过程。这个过程需要优先于相关输入的参数GBM对象的值对立的输入信号。

请注意

如果您指定Z作为一个函数,它必须返回一个NBROWNS——- - - - - -1列向量,你必须有两个输入调用它:

  • 实值标量观测时间t

  • 一个NVARS——- - - - - -1状态向量Xt

数据类型:|功能

标志,指示如何输出数组路径存储并返回,指定为逗号分隔的对,由'StorePaths'并用的值的标量逻辑标志真正要么

如果路径真正(默认值)或未指定,simBySolution返回路径作为一个三维时间序列阵列。

如果路径(逻辑0),simBySolution返回路径输出数组为空矩阵。

数据类型:逻辑

结束时期过程或形式的状态向量调整的序列,指定为逗号分隔的一对组成的“过程”以及一个函数或单元格数组的函数形式

X t = P ( t , X t )

simBySolution函数在每次插值时运行处理函数。他们必须接受当前的插值时间t和当前状态向量Xt,并返回可为调整所述输入状态的状态向量。

simBySolution在每个观测期结束时施加处理功能。这些功能必须接受目前的观测时间t和当前状态矢量Xt,并返回可为调整所述输入状态的状态向量。

期末流程参数允许您提前终止给定的试验。在每个时间步结束时,simBySolution测试状态向量Xt对于一个所有- - -条件。因此,用信号通知给定试验的提前终止,状态向量的所有元素Xt一定是。该试验使得定义用户流程函数信号审判的提前终止,并在某些情况下提供显著的性能优势(例如,定价落魄障碍期权)。

如果指定了多个处理功能,simBySolution调用在它们出现的单元阵列中的顺序的功能。您可以使用此参数指定的边界条件,防止负价格,累加统计,情节图表,等等。

数据类型:细胞|功能

输出参数

全部折叠

相关状态变量的模拟路径,以a的形式返回(NPERIODS + 1)——- - - - - -NVARS——- - - - - -NTRIALS三维时间序列阵列。

对于给定的试验,每一行路径是状态矢量的转置Xt在时间t。当输入标志路径=,simBySolution返回路径作为一个空矩阵。

与模拟路径相关联的观察时间,以a的形式返回(NPERIODS + 1)——- - - - - -1列向量。中的每个元素的对应行路径

相关随机变量用于生成驱动仿真的布朗运动矢量(Wiener过程),作为a返回(NPERIODS * NSTEPS)——- - - - - -NBROWNS——- - - - - -NTRIALS三维时间序列阵列。

更多关于

全部折叠

对偶抽样

模拟方法允许你指定一个受欢迎方差减少所谓技术对偶的抽样

这种技术试图替换为其他相同的预期值的随机观察的一个序列,但是更小的方差。在一个典型的蒙特卡罗模拟,将各样品路径是独立的并且代表独立的试验。但是,偶采样生成对样本的路径。该对的第一路径被称为主路径和第二个作为反向路径。任何给定的一对都独立于任何其他的一对,但是每一对中的两条路径高度相关。对偶抽样的文献经常建议对每一对的贴现结果取平均,有效地将蒙特卡罗试验的数量减半。

该技术试图通过诱导成对的输入样本之间负相关性,理想地导致成对的输出样本之间负相关性,以减少偏差。负依赖程度越大,更有效的偶采样。

算法

simBySolution功能模拟NTRIALS的样品路径NVARS相关的状态变量,由驱动NBROWNS布朗运动的风险来源NPERIODS连续观察期,由封闭形式解的近似值逼近连续时间GBM短率模型。

考虑形式的可分离,量值GBM模型:

d X t = μ ( t ) X t d t + D ( t , X t ) V ( t ) d W t

地点:

  • Xt是一个NVARS——- - - - - -1过程变量的状态矢量。

  • μ是一个NVARS——- - - - - -NVARS返回矩阵的广义预期瞬时速率。

  • V是一个NVARS——- - - - - -NBROWNS瞬时波动率矩阵。

  • dWt是一个NBROWNS——- - - - - -1布朗运动向量。

simBySolution功能模拟状态向量Xt使用对角线漂移模型的封闭形式解的近似。

当评估表达式,simBySolution假定所有模型参数是在每个模拟周期分段恒定。

一般来说,这是精确解的模型,因为概率分布的模拟和真实的状态向量是相同的只有对于分段恒定参数。

当各观测时段的参数为分段常数时,模拟过程对于观测时段的时间是精确的Xt是采样。

高斯扩散模型,如HWV,允许负的状态。默认情况下,simBySolution不能阻止负态,也不能保证模型严格意义上的回归。因此,该模型可能表现出不稳定或爆炸性增长。

参考文献

[1] AIT-Sahalia,亚辛。“现货利率的测试连续时间模型。”金融研究评论9日,没有。2(1996年4月):385-426。

[2]Ait-Sahalia Yacine。“利率和其他非线性扩散的过渡密度。”该财经杂志54岁的没有。4(1999年8月):1361-95。

[3]格拉瑟曼,保罗。蒙特卡罗模拟方法在金融工程。纽约:施普林格出版社,2004年。

赫尔,约翰·C。期权、期货和其他衍生品。第七版,普伦蒂斯霍尔,2009年。

[5]约翰逊,诺曼劳埃德,塞缪尔·科茨,和纳拉扬斯瓦米·巴拉克里希纳恩。连续单变量分布。第2版​​。威利系列在概率论与数理统计。纽约:Wiley出版社,1995年。

[6]什里夫,史蒂芬E.随机演算财务。纽约:施普林格出版社,2004年。

介绍了R2008a