贝茨

贝茨随机波动率模型

描述

贝茨函数创建一个贝茨对象,它代表一个贝茨模型。

贝茨模型是一种双变量复合模型赫斯顿对象。贝茨模型由两个耦合的、不同的单变量模型组成,每个模型都由一个单独的布朗运动风险源和一个单独的复合泊松过程驱动,泊松过程表示重要事件的到来NPeriods连续观察时间。贝茨模型近似连续时间贝茨随机波动过程。

第一个单变量模型是a“绿带运动”具有随机波动函数和随机跳跃过程的模型,通常对应于一个价格过程,其方差率由第二个单变量模型控制。第二款是Cox-Ingersoll-Ross (圆形的)描述耦合的方差率演化的平方根扩散模型“绿带运动”价格的过程。

贝茨模型是二元复合模型。每个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

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

  • Cox-Ingersoll-Ross (圆形的)平方根扩散模型。

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

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

创建

描述

例子

贝茨=贝茨(返回,速度,水平,波动,JumpFreq,JumpMean,JumpVol)创建一个贝茨对象,使用默认选项。

由于贝茨模型是耦合单变量模型组成的二元模型中,所有必需的输入对应于标量参数。指定所需的输入作为两种类型之一:

  • MATLAB®数组中。指定一个数组来指示静态(非时变)参数说明。这个数组完全捕获了所有实现细节,这些细节显然与参数形式相关。

  • MATLAB函数。指定一个函数来为几乎任何静态、动态、线性或非线性模型提供间接支持。万博1manbetx接口支持此参数,因为所有实现细节都是万博1manbetx隐藏的,并由函数完全封装。

请注意

您可以根据需要指定数组和函数输入参数的组合。此外,如果函数接受标量时间,则将参数标识为时间的确定性函数t作为它唯一的输入参数。否则,参数被假定为时间的函数t和国家Xt并使用两个输入参数调用。

例子

贝茨=贝茨(___,名称,值)属性除了前面语法中的输入参数外,还要使用名称-值对参数。将每个属性名括在引号中。

贝茨对象具有以下内容属性:

  • 开始时间- 初步观察时间

  • StartState-当时的初始状态开始时间

  • 相关- 为Access功能相关输入参数

  • 漂移-复合漂流率函数

  • 扩散-复合扩散速率函数

  • 模拟- 一个模拟函数或方法

输入参数

全部展开

在GBM价格过程的预期收益平均瞬时速率,指定为一个阵列,或者时间的确定性函数。

如果您指定返回作为数组,它必须是标量。

如果您指定返回作为时间的确定性函数,你调用返回对于实值标量时间t作为它唯一的输入,它必须返回一个标量。

如果您指定返回作为时间和状态的确定性函数,当您使用两个输入调用它时,它必须返回一个标量:

  • 实值标量观测时间t

  • 一个2-通过-1二元状态向量Xt

数据类型:|function_handle

CIR随机方差过程的均值回归速度,指定为时间的一个数组或确定性函数。

如果您指定速度作为一个数组,它必须是一个标量。

如果您指定速度作为时间的确定性函数,你调用速度对于实值标量时间t作为它唯一的输入,它必须返回一个标量。

如果您指定速度作为时间和状态的函数,该函数计算均值回归的速度。当您使用两个输入调用该函数时,该函数必须返回一个标量的反转率:

  • 实值标量观测时间t

  • 一个2-通过-1二元状态向量Xt

请注意

虽然贝茨强制执行没有限制速度,均值回归速度为非负,使得底层过程回归到某个稳定的水平。

数据类型:|function_handle

回归水平或CIR随机方差过程的长期平均,指定为一个数组,或时间的确定性函数。

如果您指定水平作为一个数组,它必须是一个标量。

如果您指定水平作为时间的确定性函数,你调用水平对于实值标量时间t作为它唯一的输入,它必须返回一个标量。

如果您指定水平作为时间和状态的确定性的函数,它必须返回,当你有两个输入称之为逆转水平的标量:

  • 实值标量观测时间t

  • 一个2-通过-1二元状态向量Xt

数据类型:|function_handle

CIR随机方差过程的瞬时波动率(常称为波动率的波动波动的方差),指定为标量、时间的确定性函数或时间与状态的确定性函数。

如果您指定波动它是一个标量,表示CIR随机方差模型的瞬时波动率。

如果您指定波动作为时间的确定性函数,你调用波动对于实值标量时间t作为它唯一的输入,它必须返回一个标量。

如果您指定波动作为时间和状态的确定性函数,波动必须返回一个标量,当你调用它与两个输入:

  • 实值标量观测时间t

  • 一个2-通过-1二元状态向量Xt

请注意

虽然贝茨强制执行没有限制波动,波动通常是负数。

数据类型:|function_handle

瞬时跳变频率表示泊松过程的强度(单位时间内的平均跳变次数)(Nt)驱动跳转模拟,指定为一个数组,一个时间的确定性函数,或一个时间和状态的确定性函数。

如果您指定JumpFreq作为一个数组,它必须是一个标量。

如果您指定JumpFreq作为时间的确定性函数,你调用JumpFreq对于实值标量时间t作为它唯一的输入,它必须返回一个标量。

如果您指定JumpFreq作为时间和状态的函数,JumpFreq必须返回一个标量,当你调用它与两个输入:

  • 实值标量观测时间t

  • 一个2-通过-1二元状态向量Xt

数据类型:|function_handle

随机跳转大小百分比的瞬时平均值J日志(1 +J正态分布的均值为(log(1+JumpMean) - 0.5×JumpVol2)和标准差JumpVol,指定为数组、时间的确定性函数或时间与状态的确定性函数。

如果您指定JumpMean作为一个数组,它必须是一个标量。

如果您指定JumpMean作为时间的确定性函数,你调用JumpMean对于实值标量时间t作为它唯一的输入,它必须返回一个标量。

如果您指定JumpMean作为时间和状态的函数,JumpMean必须返回一个标量,当你调用它与两个输入:

  • 实值标量观测时间t

  • 一个2-通过-1二元状态向量Xt

数据类型:|function_handle

log(1+)的瞬时标准偏差J),指定为一个数组,一个时间的确定性函数,或一个时间和状态的确定性函数。

如果您指定JumpVol作为一个数组,它必须是一个标量。

如果您指定JumpVol作为时间的确定性函数,你调用JumpVol对于实值标量时间t作为它唯一的输入,它必须返回一个标量。

如果您指定JumpVol作为时间和状态的函数,JumpVol必须返回一个标量,当你调用它与两个输入:

  • 实值标量观测时间t

  • 一个2-通过-1二元状态向量Xt

数据类型:|function_handle

属性

全部展开

第一次观察的开始时间,应用于所有状态变量,指定为标量。

数据类型:

状态变量的初值,用标量、列向量或矩阵表示。

如果StartState是一个标量,贝茨对所有试验的所有状态变量应用相同的初始值。

如果StartState是一个二元列向量,贝茨在所有试验中,对每个状态变量应用唯一的初始值。

如果StartState是一个矩阵,贝茨在每个试验中,对每个状态变量应用唯一的初始值。

数据类型:

高斯随机变量之间的相关关系,用于生成布朗运动矢量(维纳过程),指定为标量a2-通过-2半正定矩阵,或称为确定性函数Ct接受当前时间t并返回一个2-通过-2正半定相关矩阵。如果相关是不是一个对称的正半定矩阵,用nearcorr为相关矩阵建立一个正半定矩阵。

一个相关矩阵表示静态条件。

如果您指定相关作为时间的确定性函数,相关允许您指定动态关联结构。

数据类型:

此属性是只读的。

连续时间随机微分方程(SDEs)的漂移率分量,指定为可由(t,Xt)。

漂移率规范支持的模拟样本路径万博1manbetxNVars状态变量NBrowns布朗运动的风险来源NPeriods连续观测周期,近似连续时间随机过程。

使用漂移函数来创建漂移表单的对象

F ( t , X t ) = 一个 ( t ) + B ( t ) X t

在这里:

  • 一个是一个NVars-通过-1由可访问的矢量值函数(t,Xt)接口。

  • B是一个NVars-通过-NVars矩阵值函数可由(t,Xt)接口。

对于显示的参数漂移对象跟踪。

  • ——漂移率函数,F (t Xt)

  • 一个——截距项,X (t)t)的,F (t Xt)

  • B——一阶项,B (t) Xt)的,F (t Xt)

一个B使您能够查询原始输入。该功能在存储充分封装的组合效果一个B

指定一个B因为MATLAB双阵列可以清楚地将它们与线性漂移率参数形式联系起来。然而,指定一个B作为一个功能,允许您自定义几乎任何漂流率规范。

请注意

你可以表达漂移扩散以最一般的形式强调对象的功能性(t,Xt)接口。但是,您可以指定组件一个B作为符合公共服务的职能(t,Xt),或作为适当维数的MATLAB阵列。

例:F =漂移(0,0.1)%漂移率函数F(t,X)

数据类型:对象

此属性是只读的。

连续时间随机微分方程(SDEs)的扩散率分量,具体为漂移对象或函数可由(t,Xt)。

扩散率规范支持的模拟样本路径万博1manbetxNVars状态变量NBrowns布朗运动的风险来源NPeriods近似连续时间随机过程的连续观测周期。

使用扩散函数来创建扩散表单的对象

G ( t , X t ) = D ( t , X t α ( t ) ) V ( t )

在这里:

  • D是一个NVars-通过-NVars对角矩阵值函数。

  • 每个对角线元素D状态向量的对应元素是否提升到指数的对应元素α,这是一个NVars-通过-1向量值函数。

  • V是一个NVars-通过-NBrowns矩阵值波动率函数σ

  • ασ也可使用(t,Xt)接口。

对于显示的参数扩散对象是:

  • ——扩散率函数,G (t, Xt)

  • α-状态向量指数,它决定的格式D (t) Xt)G (t, Xt)

  • σ——波动率,V (t) Xt)的,G (t, Xt)

ασ使您能够查询原始输入。个人的综合效应ασ参数由存储在其中的函数完全封装)。的函数是。的计算引擎漂移扩散对象,是仿真所需的唯一参数。

请注意

你可以表达漂移扩散以最一般的形式强调对象的功能性(t,Xt)接口。但是,您可以指定组件一个B作为符合公共服务的职能(t,Xt),或作为适当维数的MATLAB阵列。

例:G =扩散(1,0.3)%扩散速率函数G(t,X)

数据类型:对象

用户定义的仿真函数或SDE仿真方法,指定为函数或SDE仿真方法。

数据类型:function_handle

对象的功能

simByEuler 用欧拉近似模拟贝茨样本路径
simByQuadExp 用二次指数离散化方法模拟贝茨、赫斯顿和CIR采样路径
模拟 模拟多元随机微分方程(SDEs)

例子

全部折叠

贝茨模型是双变量复合模型,由两个耦合的、不同的单变量模型组成,每一个模型都由一个单独的布朗运动风险源和一个单独的复合泊松过程驱动,代表了重要事件的到来NPeriods连续观察时间。模拟模拟了连续时间贝茨随机波动过程。

创建一个贝茨对象。

AssetPrice = 80;返回= 0.03;JumpMean = 0.02;JumpVol = 0.08;JumpFreq = 0.1;= 0.04;水平= 0.05;速度= 1.0;波动率= 0.2;ρ= -0.7; StartState = [AssetPrice;V0]; Correlation = [1 Rho;Rho 1]; batesObj = bates(Return, Speed, Level, Volatility,JumpFreq、JumpMean JumpVol,“startstate”StartState,“相关性”、相关)
batesObj =类贝茨:贝茨二元随机波动率- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -维度:状态= 2,布朗= 2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -开始时间:0 StartState: 2 x1双重数组关联:2 x2双重数组漂移:漂移率函数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

更多关于

全部展开

算法

Bates模型(Bates 1996)是Heston模型的扩展,不仅增加了随机波动率,而且还增加了Merton(1976)中跳跃扩散参数来模拟资产价格的突然波动。

在风险中性测度下,模型表示为

d 年代 t = ( γ λ p μ j ) 年代 t d t + υ t 年代 t d W t + J 年代 t d P t d υ t = κ ( θ υ t ) d t + σ υ υ t d W t υ E ( d W t d W t υ ] = p d t 概率 ( d P t = 1 ) = λ p d t

在这里:

ᵞ是连续的无风险利率。

为连续股息收益率。

J随机百分比跳转大小是否取决于跳转发生的条件,在哪里

ln ( 1 + J ) ~ N ( ln (1 + u j ) δ 2 2 , δ 2

(1 +J)服从对数正态分布:

1 ( 1 + J ) δ 2 π 经验值 { ( ln ( 1 + J ) ( ln (1 + μ j ) δ 2 2 ] 2 2 δ 2 }

在这里:

μj的平均值Jj> -1)。

ƛp是泊松过程的年频率(强度)吗Ptp≥0)。

υ是初始方差的标的资产(υ0> 0)。

θ是长期方差水平(θ> 0)。

κ是方差的均值回归的速度(κ> 0)。

συ是波动的波动(συ> 0)。

p韦纳过程之间有关联吗WtWtυ(1≤p≤1)。

“樵夫条件”确保积极的变化:(2κθ>συ2)。

伴随跳跃的随机波动有助于更好地模拟不对称的瘦峰特征、波动微笑以及大的随机波动,如崩盘和反弹。

参考

[1]Ait-Sahalia Yacine。“测试现货利率的连续时间模型。”财务研究检讨9日,没有。2(1996年4月):385-426。

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

[3]Glasserman,保罗。金融工程中的蒙特卡罗方法。纽约:施普林格出版社,2004年。

[4]船体,约翰C.期权、期货和其他衍生品。第7版,Prentice Hall出版社,2009年。

[5] Johnson, Norman Lloyd, Samuel Kotz,和Narayanaswamy Balakrishnan。连续单变量分布。《概率与数理统计》第2版。纽约:威利出版社,1995年版。

史帝文·史帝文。金融随机微积分。纽约:施普林格出版社,2004年。

介绍了R2020a