主要内容

随机微分方程()模型

描述

创建并显示一般随机微分方程(从用户定义的漂移和扩散率函数)模型。

使用对象来模拟样本路径据nvar状态变量的NBROWNS布朗运动的风险来源NPeriods连续观察时期,近似连续时间随机过程。

一个对象可以模拟任何连续函数的形式:

d X t = F ( t , X t ) d t + G ( t , X t ) d W t

地点:

  • Xt是一个据nvar——- - - - - -1状态向量的过程变量。

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

  • F是一个据nvar——- - - - - -1向量值函数漂移率。

  • G是一个据nvar——- - - - - -NBROWNS矩阵值扩散率函数。

创建

描述

例子

=钻(DriftRate,DiffusionRate)创建一个默认的对象。

例子

=钻(___,名称,值)创建一个对象由一个或多个指定附加选项名称,值对参数。

的名字是一个属性名称和价值其相应的价值。的名字必须出现在单引号()。您可以指定几个名称-值对参数在任何顺序Name1 Value1,…,的家

对象有以下属性:

  • 开始时间——最初的观察时间

  • StartState——初始状态的时间开始时间

  • 相关——访问函数相关输入参数,可调用作为时间的函数

  • 漂移——复合漂移率函数,调用作为时间的函数和状态

  • 扩散——复合扩散率函数,调用作为时间的函数和状态

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

输入参数

全部展开

DriftRate是一个用户定义的漂移率函数和代表参数F指定为一个向量或对象的类漂移

DriftRate是一个函数,返回一个据nvar——- - - - - -1漂移率与两个输入向量调用时:

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

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

另外,DriftRate也可以是一个对象的类漂移封装了漂移率规范。然而,在这种情况下,只使用了对象的参数。更多的信息漂移对象,看到漂移

数据类型:|对象

DiffusionRate是一个用户定义的扩散率函数和代表参数G,指定为一个矩阵或对象的类扩散

DiffusionRate是一个函数,返回一个据nvar——- - - - - -NBROWNS扩散率矩阵称为时两个输入:

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

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

另外,DiffusionRate也可以是一个对象的类扩散封装了扩散率规范。然而,在这种情况下,只使用了对象的参数。更多的信息扩散对象,看到扩散

数据类型:|对象

属性

全部展开

开始第一次观测,应用于所有状态变量,指定为一个标量

数据类型:

状态变量初始值,指定为一个标量,列向量或矩阵。

如果StartState是一个标量,相同的初始值适用于所有状态变量在所有试验。

如果StartState是一个列向量,一个独特的初始值适用于每个状态变量在所有试验。

如果StartState是一个矩阵,一个独特的初始值适用于每个状态变量在每个试验。

数据类型:

高斯随机变量之间的相关性对生成布朗运动向量(维纳过程),指定为一个NBROWNS——- - - - - -NBROWNS半正定矩阵,或作为一个确定性的函数C (t)接受当前时间t并返回一个NBROWNS——- - - - - -NBROWNS半正定关联矩阵。如果相关不是一个对称半正定矩阵,使用nearcorr创建一个相关矩阵的半正定矩阵。

一个相关矩阵是一个静态的条件。

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

数据类型:

用户定义的模拟功能或钻模拟方法,指定为一个函数或端模拟方法。

数据类型:function_handle

这个属性是只读的。

漂移速度分量的连续时间随机微分方程(sd),指定为漂移对象或函数可以访问(t,Xt

漂移率规范支持样本路径的模拟金宝app据nvar状态变量的NBROWNS布朗运动的风险来源NPeriods连续观察时期,近似连续时间随机过程。

漂移类允许您创建漂移率(使用对象漂移)的形式:

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

地点:

  • 一个是一个据nvar——- - - - - -1向量值函数可以使用(t,Xt)接口。

  • B是一个据nvar——- - - - - -据nvar矩阵值函数可以使用(t,Xt)接口。

显示的参数漂移对象是:

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

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

  • B:第一次项,B (t) Xt)的,F (t Xt)

一个B使您能够查询原始输入。中存储的功能完全封装的综合效应一个B

当指定为MATLAB®双数组的输入一个B显然是与一个线性漂移率参数形式。然而,指定一个B作为一个函数允许您定制任何漂移率规范。

请注意

你可以表达漂移扩散类最一般形式的强调功能(t,Xt)接口。不过,您可以指定组件一个B坚持共同的功能(t,Xt)接口,或MATLAB数组的适当的尺寸。

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

数据类型:对象

这个属性是只读的。

扩散速度分量的连续时间随机微分方程(sd),指定为漂移对象或函数可以访问(t,Xt

扩散率规范支持样本路径的模拟金宝app据nvar状态变量的NBROWNS布朗运动的风险来源NPeriods连续观察时期,近似连续时间随机过程。

扩散类允许您创建扩散速度(使用对象扩散):

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

地点:

  • D是一个据nvar——- - - - - -据nvar对角矩阵值函数。

  • 每个对角元素的D是提出的状态向量的对应元素的对应元素指数吗α,这是一个据nvar——- - - - - -1向量值函数。

  • V是一个据nvar——- - - - - -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 =扩散(0.3)%扩散率函数G (t, X)

数据类型:对象

对象的功能

插入 布朗插值的随机微分方程(sd),BM,“绿带运动”,CEV,圆形的,HWV,赫斯顿,SDEDDO,SDELD,或SDEMRD模型
模拟 模拟多元随机微分方程(sd),BM,“绿带运动”,CEV,圆形的,HWV,赫斯顿,SDEDDO,SDELD,SDEMRD,默顿,或贝茨模型
simByEuler 随机微分方程的欧拉模拟(sd),BM,“绿带运动”,CEV,圆形的,HWV,赫斯顿,SDEDDO,SDELD,或SDEMRD模型

例子

全部折叠

构造一个对象obj代表一个单变量的几何布朗运动的模型形式: d X t = 0 1 X t d t + 0 3 X t d W t

创建漂移和扩散函数所访问的常见 ( t , X t ) 接口:

F = @ (t, X) 0.1 * X;G = @ (t, X) 0.3 * X;

传递函数创建一个对象(obj)的类:

sde obj = (F, G)% dX = F (t, X) dt dW + G (t, X)
obj = SDE类:随机微分方程- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -维度:状态= 1,布朗= 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -开始时间:0 StartState: 1相关:1漂移:漂移率函数F (t) X (t))扩散:扩散率函数G (t) X (t))模拟:模拟方法/函数simByEuler

obj显示像一个MATLAB®结构,使用以下信息:

  • 对象的类

  • 简要描述的对象

  • 模型的维度的摘要

对象的显示参数如下:

  • 开始时间:最初的观察时间(实值标量)

  • StartState:初始状态向量(据nvar1列向量)

  • 相关:布朗之间的相关结构的过程

  • 漂移:漂移率函数 F ( t , X t )

  • 扩散:扩散率函数 G ( t , X t )

  • 模拟:模拟方法或函数。

这些参数,显示漂移扩散需要输入。

唯一的例外( t , X t )评价接口相关。具体地说,当你进入相关作为一个函数,SDE的引擎假定它是一个确定性的函数的时候, C ( t ) 。这个限制相关作为一个确定的时间的函数允许将柯列斯基因素计算和存储在正式的模拟。这种不一致为动态相关性结构大大提高运行时性能。如果相关是随机的,你还可以包括在仿真体系结构的一部分更一般的随机数生成函数。

更多关于

全部展开

算法

当你指定所需的输入参数作为数组,它们与一个特定的参数形式。相比之下,当您指定所需的输入参数是一个函数,您可以定制任何规范。

访问没有输入输出参数返回原始输入规范。因此,当您调用这些参数没有输入,他们像简单的属性和允许你测试的数据类型(双与功能,或者说,静态与动态)的原始输入规范。这是用于验证和设计方法。

当您调用这些参数与输入,它们像函数,给出动态行为的印象。接受观察时间的参数t和状态向量Xt,并返回一个数组的适当的尺寸。即使你最初指定一个输入为一个数组,把它作为一个静态函数的时间和状态,这意味着保证所有参数都可以访问相同的接口。

引用

[1]Ait-Sahalia Yacine。“测试连续时间模型的利率。”金融研究,9卷,不。2、1996年4月,第385 - 426页。

[2]Ait-Sahalia Yacine。“过渡密度对利率和其他非线性扩散。”《金融,54卷,不。4,1999年8月,页1361 - 95。

[3]Glasserman,保罗。蒙特卡罗方法在金融工程学。施普林格,2004年。

[4]船体,约翰。期权、期货和其他衍生品。7日,普伦蒂斯霍尔出版社,2009。

[5]约翰逊,诺曼·劳埃德等。连续单变量分布。第二版,1994年威利。

[6]施立夫、Steven E。随机微积分的金融。施普林格,2004年。

版本历史

介绍了R2008a