主要内容

simByQuadExp

模拟贝茨赫斯顿,圆形的抽样路径采用二次指数离散方案

描述

例子

路径Z= simByQuadExp(MDLNPeriods模拟NTrials由两个布朗运动风险源驱动的Heston模型或由一个布朗运动风险源驱动的CIR模型的样本路径。赫斯顿和贝茨模型近似连续时间随机过程的二次指数离散化方案。的simByQuadExp仿真直接来源于运动随机微分方程;离散时间过程只有在为极限时才接近真正的连续时间过程DeltaTimes接近零。

例子

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

例子

路径ZN= simByQuadExp(MDLNPeriods模拟NTrials由两个布朗运动风险源驱动的贝茨模型的样本路径,用二次指数离散化方案逼近连续时间随机过程。的simByQuadExp仿真直接来源于运动随机微分方程;离散时间过程只有在为极限时才接近真正的连续时间过程DeltaTimes接近零。

例子

路径ZN= simByQuadExp(___名称,值除前面语法中的输入参数外,还使用一个或多个名称-值对参数指定选项。

的名称-值参数可以执行准蒙特卡罗模拟MonteCarloMethodQuasiSequence,BrownianMotionMethod.有关更多信息,请参见准蒙特卡罗模拟

例子

全部折叠

创建一个贝茨对象。

资产价格= 80;Return = 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 -------------------------------------------------- StartTime: 0 StartState: 2x1双阵列相关性:2x2双阵列漂移:漂移率函数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;[Paths,Times,Z,N] = simByQuadExp(batesObj,NPeriods)
路径=3×280.0000 0.0400 64.3377 0.1063 31.5703 0.1009
* =3×10 1 2
Z =2×20.5377 1.8339 -2.2588 0.8622
N =2×10 0

输出路径返回为(NPeriods+1)———据nvar——- - - - - -NTrials三维时间序列阵列。

这个例子展示了如何使用simByQuadExp采用贝茨模型进行准蒙特卡罗模拟。准蒙特卡罗模拟是一种用准随机序列代替伪随机数的蒙特卡罗模拟。

属性的参数贝茨对象。

资产价格= 80;Return = 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];

创建一个贝茨对象。

贝茨=贝茨(回报,速度,水平,波动性,...JumpFreq, JumpMean, JumpVol,“startstate”StartState,...“相关”、相关)
Bates =类Bates: Bates双变量随机波动率--------------------------------------------------维度:状态= 2,布朗= 2 -------------------------------------------------- StartTime: 0 StartState: 2x1双阵列相关性:2x2双阵列漂移:漂移率函数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的可选名称-值参数“MonteCarloMethod”“QuasiSequence”,“BrownianMotionMethod”

[paths,time,z] = simByQuadExp(Bates,10,“ntrials”, 4096,“montecarlomethod”“准”“quasisequence”“sobol”“BrownianMotionMethod”“brownian-bridge”);

输入参数

全部折叠

随机微分方程模型,指定为a贝茨赫斯顿,或圆形的对象。您可以使用贝茨赫斯顿,或圆形的

数据类型:对象

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

数据类型:

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:[Paths,Times,Z,N] = simByQuadExp(bates_obj,NPeriods,'DeltaTime',dt)

的模拟试验(样本路径)NPeriods每个观测值,指定为逗号分隔的对,由“NTrials”一个正标量整数。

数据类型:

观测值之间的正时间增量,指定为逗号分隔的对,由“DeltaTimes”一个标量或者aNPeriods——- - - - - -1列向量。

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

数据类型:

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

simByQuadExp功能分区每次递增dtNSteps长度的子区间dt/NSteps,并通过计算所模拟的状态向量来改进仿真NSteps−1中间点。虽然simByQuadExp不报告这些中间点的输出状态向量,细化通过允许模拟更接近底层连续时间过程来提高精度。

数据类型:

蒙特卡罗方法模拟随机过程,指定为逗号分隔对组成“MonteCarloMethod”和具有以下值之一的字符串或字符向量:

  • “标准”-蒙特卡罗使用伪随机数。

  • “准”-使用低差异序列的准蒙特卡罗。

  • “randomized-quasi”-随机拟蒙特卡罗。

请注意

如果指定输入噪声过程(请参阅Z而且N),simByQuadExp忽略的值。MonteCarloMethod

数据类型:字符串|字符

低差异序列驱动随机过程,指定为逗号分隔对组成“QuasiSequence”和具有以下值之一的字符串或字符向量:

  • “sobol”-准随机低差异序列,以2为基数,形成单位区间的连续更细均匀分区,然后在每个维度上重新排序坐标

请注意

如果MonteCarloMethod选项未指定或指定为“标准”QuasiSequence将被忽略。

数据类型:字符串|字符

布朗运动构造方法,指定为由逗号分隔的对组成“BrownianMotionMethod”和具有以下值之一的字符串或字符向量:

  • “标准”-布朗运动路径通过取高斯变量的累积和得到。

  • “brownian-bridge”-首先计算布朗运动路径的最后一步,然后计算步骤之间的任意顺序,直到确定所有步骤。

  • “主成分”-通过最小化近似误差来计算布朗运动路径。

请注意

方法指定输入噪声过程Z输入参数,BrownianMotionMethod将被忽略。

蒙特卡罗模拟的起点是构造布朗运动样本路径(或维纳路径)。这些路径由一组独立的高斯变量构建,使用标准离散化、布朗桥结构或主成分结构。

标准离散化和布朗桥结构都具有相同的方差,因此当与MonteCarloMethod使用伪随机数。然而,两者之间的性能是不同的MonteCarloMethod选项“准”是引入的,具有更快的收敛见“brownian-bridge”构造选项和收敛速度最快时使用“主成分”建筑的选择。

数据类型:字符串|字符

标志,以使用对偶采样来生成驱动布朗运动向量(维纳过程)的高斯随机变量,指定为由逗号分隔的对组成“反向”和标量数字或逻辑1真正的)或0).

当你指定真正的simByQuadExp执行采样,使所有主路径和反路径都被模拟并存储在连续的匹配对中:

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

  • 即使试验(2、4、6,…)为每对匹配的对偶路径,通过对对应的主(奇)试验的高斯图求反而得到。

请注意

如果指定输入噪声过程(请参阅Z),simByEuler忽略的值。对立的

数据类型:逻辑

生成驱动模拟的布朗运动向量(维纳过程)的相关随机噪声过程的直接规范,指定为由逗号分隔的对组成“Z”一个函数或者(NPeriods⨉NSteps)——- - - - - -NBrowns——- - - - - -NTrials相关随机变量的三维数组。

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

  • 一个实值标量观测时间t

  • 一个据nvar——- - - - - -1状态向量Xt

数据类型:|函数

依赖随机计数过程产生的跳数,指定为逗号分隔的对组成“N”函数或(NPeriodsNSteps)———NJumps——- - - - - -NTrials相关随机变量的三维数组。如果你指定一个函数,N必须返回NJumps——- - - - - -1列向量,你必须用两个输入来调用它:一个实数标量观测时间t接着是据nvar——- - - - - -1状态向量Xt

请注意

N名称-值对参数仅在使用贝茨对象的MDL输入参数。

数据类型:|函数

标志,该标志指示输出数组路径存储并返回,指定为逗号分隔的对,由“路径”和标量数字或逻辑1真正的)或0).

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

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

数据类型:逻辑

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

X t P t X t

simByQuadExp函数在每个插值时间运行处理函数。函数必须接受当前插补时间t,和当前状态向量Xt并返回一个状态向量,它可以是对输入状态的调整。

如果指定了多个处理函数,simByQuadExp按照函数在单元格数组中出现的顺序调用它们。您可以使用此参数指定边界条件、防止负价格、积累统计信息、绘制图形等。

期末流程参数允许您提前终止给定的试验。在每个时间步的末尾,simByQuadExp测试状态向量Xt对于所有人来说——条件。因此,为了表示一个给定试验的提前终止,状态向量的所有元素Xt必须.这个测试使您能够定义一个流程函数,用于发出提前终止试验的信号,并在某些情况下提供了显著的性能优势(例如,定价障碍选项)。

数据类型:细胞|函数

输出参数

全部折叠

heston, bates或cir模型的相关状态变量的模拟路径,返回为(NPeriods + 1)——- - - - - -据nvar——- - - - - -NTrials三维时间序列阵列。

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

与模拟路径相关联的heston、bates或cir模型的观测时间,返回为(NPeriods + 1)——- - - - - -1列向量。的每个元素的对应行相关联路径

heston, bates或cir模型的相关随机变量,用于生成驱动模拟的布朗运动向量(维纳过程),返回为(NPeriods⨉NSteps)——- - - - - -NBrowns——- - - - - -NTrials三维时间序列阵列。

贝茨模型的相关随机变量,用于生成跳跃计数过程向量,返回为(NPeriods⨉NSteps)——- - - - - -NJumps——- - - - - -NTrials三维时间序列阵列。

更多关于

全部折叠

对偶的抽样

模拟方法允许您指定一个流行的方差减少技术对偶的抽样

这种技术试图用另一个期望值相同但方差更小的随机观测序列替换一个随机观测序列。在典型的蒙特卡罗模拟中,每个样本路径是独立的,代表一个独立的试验。然而,相反抽样产生成对的样本路径。该路径对的第一个路径称为主要路径,第二为反向路径.任何给定的路径对都独立于任何其他路径对,但每对中的两条路径都高度相关。反向抽样文献通常建议平均每对的折现收益,有效地将蒙特卡罗试验的次数减半。

该技术试图通过诱导成对输入样本之间的负依赖性来减少方差,理想情况下会导致成对输出样本之间的负依赖性。负相关程度越大,反抽样越有效。

算法

全部折叠

赫斯顿

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

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是一个据nvar——- - - - - -1过程变量的状态向量。

  • 年代是一个据nvar——- - - - - -据nvar平均回归速度矩阵(平均回归率)。

  • l是一个据nvar——- - - - - -1均值回归水平向量(长期均值或水平)。

  • D是一个据nvar——- - - - - -据nvar对角线矩阵,其中主对角线上的每个元素都是状态向量中相应元素的平方根。

  • V是一个据nvar——- - - - - -NBrowns瞬时波动率矩阵。

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

贝茨

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

  • 几何布朗运动(“绿带运动”)模型,该模型具有随机波动函数和跳跃,表示如下。

    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

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

  • 考克斯-英格索尔-罗斯(圆形的)平方根扩散模型,表示如下。

    d X 2 t 年代 t l t X 2 t d t + V t X 2 t d W 2 t

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

参考文献

[1]安德森,莱夫。Heston随机波动模型的简单有效模拟计算金融杂志11日,没有。3(2008年3月):1-42。

[2]布罗迪,M.和O.卡亚。随机波动率和跳跃扩散模型下希腊期权的精确模拟在2004年冬季模拟会议记录, 2004年。,2:535–43. Washington, D.C.: IEEE, 2004.

[3]布罗迪,马克和Özgür卡娅。随机波动率和其他仿射跳跃扩散过程的精确模拟。运筹学54岁的没有。2(四月2006):217-31。

版本历史

R2020a中引入

全部展开

Baidu
map