simByQuadExp

用二次指数离散化方法模拟贝茨、赫斯顿和CIR采样路径

描述

例子

(路径,,Z)= simByQuadExp (MDL,NPeriods)可模拟NTrials一个尔顿赫斯顿模型由风险两个布朗运动源,或CIR模型由风险之一布朗运动源驱动驱动的样品路径。无论赫斯顿贝茨模型近似连续时间通过二次指数的离散化方案的随机过程。的simByQuadExp仿真直接从运动的随机微分方程派生;离散时间过程仅在极限接近真实连续时间过程DeltaTimes趋近于零。

例子

(路径,,Z)= simByQuadExp (___,名称,值)使用一个或除了在前面的语法的输入参数更名称 - 值对的参数指定的选项。

例子

(路径,,Z,N)= simByQuadExp (MDL,NPeriods)可模拟NTrials由两个布朗运动风险源驱动的贝茨模型的样本路径,用二次指数离散化方法逼近连续时间随机过程。的simByQuadExp仿真直接从运动的随机微分方程派生;离散时间过程仅在极限接近真实连续时间过程DeltaTimes趋近于零。

例子

(路径,,Z,N)= simByQuadExp (___,名称,值)使用一个或除了在前面的语法的输入参数更名称 - 值对的参数指定的选项。

例子

全部折叠

创建一个贝茨对象。

AssetPrice = 80;返回= 0.03;JumpMean = 0.02;JumpVol = 0.08;JumpFreq = 0.1;V0 = 0.04;级= 0.05;速度= 1.0;挥发性= 0.2;的Rho = -0.7; StartState = [AssetPrice;V0]; Correlation = [1 Rho;Rho 1]; batesObj = bates(Return, Speed, Level, Volatility,...JumpFreq,JumpMean,JumpVol,'将startState',将startState,...“相关性”、相关)
batesObj =类BATES:贝茨二元随机波动--------------------------------------------------尺寸:状态= 2,布朗= 2 --------------------------------------------------开始时间:0将startState:2×1双阵列相关:2×2阵列双漂移:漂移率函数f(t,X(t))的扩散:扩散率函数G(T,X(t))的模拟:模拟方法/函数simByEuler返回值:0.03速度:1等级:0.05波幅:0.2 JumpFreq:0.1 JumpMean:0.02 JumpVol:0.08

使用simByQuadExp模拟NTrials直接从运动的随机微分方程样品路径;离散时间过程仅在极限接近真实连续时间过程DeltaTimes趋近于零。

NPeriods = 2;[路径,时报,Z,N] = simByQuadExp(batesObj,NPeriods)
路径=3×280.0000 0.0400 75.5235 0.0310 38.1585 0.1841
* =3×10 1 2
Z =2×2-1.3077 -0.4336 0.3426 3.5784
N =2×12 0

输出路径以(NPeriods+1)———NVars-通过-NTrials三维时间序列数组。

输入参数

全部折叠

随机微分方程模型,指定为贝茨,赫斯顿, 要么圆形的对象。您可以使用以下命令创建这些对象贝茨,赫斯顿, 要么圆形的

数据类型:对象

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

数据类型:

名称-值对的观点

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

例:[路径、时间、Z N] = simByQuadExp (bates_obj、NPeriods DeltaTime, dt)

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

数据类型:

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

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

数据类型:

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

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

数据类型:

标记使用对偶抽样来生成驱动布朗运动矢量(维纳过程)的高斯随机变量,具体为由逗号分隔的对组成“对偶”以及标量、数字或逻辑1(真正)或0()。

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

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

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

请注意

如果您指定的输入噪声过程(见Z),simByEuler忽略的价值对立的

数据类型:逻辑

用于产生布朗运动矢量(Wiener过程),该驱动器仿真中,指定为逗号分隔的一对组成的依赖性随机噪声过程的直接指定'Z'和一个功能或(NPeriods⨉n步)-通过-NBrowns-通过-NTrials相关随机变量的三维数组。

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

  • 实值标量观测时间t

  • 一个NVars-通过-1状态向量Xt

数据类型:|功能

用于产生跳跃的数量取决于随机计数处理,指定为逗号分隔的一对组成的“N”和一个函数或一个(NPeriodsn步)-by-NJumps-通过-NTrials相关随机变量的三维数组。如果指定一个函数,N必须返回一个NJumps-通过-1列向量,你必须有两个输入称之为:实值的标量观测时间t后跟NVars-通过-1状态向量Xt

请注意

N当您使用一个名称 - 值对参数仅支持万博1manbetx贝茨对象为MDL输入参数。

数据类型:|功能

标志,指示如何输出数组路径被存储并返回,指定为逗号分隔的一对组成的'StorePaths'以及标量、数字或逻辑1(真正)或0()。

如果路径真正(默认值)或是未指定的,simByQuadExp返回路径作为三维时间序列排列。

如果路径(逻辑0),simByQuadExp返回路径作为一个空矩阵。

数据类型:逻辑

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

X t = P ( t , X t )

simByQuadExp功能运行的每个插时间在处理功能。该功能必须接受目前的插时间t和当前状态矢量Xt并返回一个状态向量,该状态向量可以是对输入状态的调整。

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

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

数据类型:细胞|功能

输出参数

全部折叠

用于尔顿赫斯顿,贝茨,或CIR模型相关的状态变量的模拟路径,返回为(NPeriods + 1)-通过-NVars-通过-NTrials三维时间序列排列。

对于给定的试验,每一行路径是状态矢量的转置Xt在时间t。当路径被设置为,simByQuadExp返回路径作为一个空矩阵。

与模拟路径相关联的heston、bates或cir模型的观察时间为a(NPeriods + 1)-通过-1列向量。中的每个元素的对应行路径

用于尔顿赫斯顿,贝茨,或CIR模型用于产生布朗运动矢量相关的随机变元(维纳过程)驱动所述模拟,返回一个(NPeriods⨉n步)-通过-NBrowns-通过-NTrials三维时间序列数组。

取决于随机变元为一个贝茨模型,用于产生跳计数处理矢量,返回为(NPeriods⨉n步)-通过-NJumps-通过-NTrials三维时间序列数组。

更多关于

全部折叠

对偶抽样

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

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

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

算法

全部折叠

赫斯顿

在赫斯顿随机波动率模型中,资产价值过程和波动率过程定义为

d 年代 ( t ) = γ ( t ) 年代 ( t ) d t + V ( t ) 年代 ( t ) d W 年代 ( t ) d V ( t ) = κ ( θ - V ( t ) ) d t + σ V ( t ) d W V ( t )

这里:

  • γ是连续无风险利率。

  • θ是一个长期的变化水平。

  • κ为方差的均值回归速度。

  • σ是波动的波动。

圆形的

您可以模拟形式的任何量值CIR过程

d X t = 年代 ( t ) ( l ( t ) - X t ] d t + D ( t , X t 1 2 ) V ( t ) d W t

这里:

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

  • 年代是一个NVars-通过-NVars均值回复速度矩阵(均值回复率)。

  • l是一个NVars-通过-1均值回复水平矢量(长期平均值或电平)。

  • D是一个NVars-通过-NVars对角矩阵,其中沿主对角的每个元素是状态向量对应元素的平方根。

  • V是一个NVars-通过-NBrowns瞬时波动率矩阵。

  • dWt是一个NBrowns-通过-1布朗运动矢量。

贝茨

贝茨模型是二元复合模式。每个贝茨模型由两个耦合的单变量模型。

  • 几何布朗运动(GBM)模型与随机波动的功能和跳跃,这表示如下。

    d X 1 t = B ( t ) X 1 t d t + X 2 t X 1 t d W 1 t + Y ( t ) X 1 t d N t

    该模型通常对应于一个价格过程,其波动率(方差率)由第二个单变量模型控制。

  • 应用Cox-英格索兰罗斯(圆形的),其被表示平方根扩散模型如下。

    d X 2 t = 年代 ( t ) ( l ( t ) - X 2 t ] d t + V ( t ) X 2 t d W 2 t

    该模型描述了耦合贝茨价格过程的方差率演化过程。

参考

[1]安徒生,列夫。赫斯顿随机波动率模型的简单而有效的模拟。该杂志计算金融的11日,没有。3(2008年3月):1-42。

[2] Broadie, M.,和O. Kaya。期权希腊人在随机波动和跳跃扩散模型下的精确模拟。“在2004年冬季仿真会议论文集,2004。,2:535-43。华盛顿特区:IEEE,2004年。

[3] Broadie, Mark,和Ozgur Kaya。随机波动率和其他仿射跳跃扩散过程的精确模拟。行动调查54,没有。2(2006年4月):217-31。

介绍了R2020a