主要内容

空间数据模型

简介

蒙特卡罗仿真的大多数模型和实用程序都是用MATLAB来表示的®对象。因此,本文档经常使用这些术语模型对象互换。

然而,尽管所有的模型都表示为对象,但并不是所有的对象都表示模型。特别是,漂移扩散在模型规范中使用对象,但是这两种类型的对象本身都不能构成一个完整的模型。通常,您不需要创建漂移扩散对象,因此您不需要区分对象和模型。然而,理解这些术语之间的区别是很重要的。

在以下许多示例中,大多数模型参数都像任何MATLAB函数一样被计算或调用。尽管像检查数据结构一样检查和访问模型参数是有帮助的,但请将这些参数视为功能执行行动

创建SDE对象

创建对象

有关创建SDE对象的示例和更多信息,请参见:

显示对象

  • 对象显示类似于传统的MATLAB数据结构。

  • 显示的对象参数显示为以大写字母开头的名词。相比之下,参数如模拟插入以小写字母开头的动词形式出现,表示要执行的任务。

分配和引用对象参数

  • 对象支持类似于数金宝app据结构的引用。例如,下面这样的语句是有效的:

    A = obj。一个

  • 对象支持类似于数金宝app据结构的完整参数赋值。例如,下面这样的语句是有效的:

    obj。一个=3

  • 对象不像数据结构那样支持部分参金宝app数赋值。因此,下面这样的语句是无效的:

    obj.A(i,j) = 0.3

创建和评估模型

  • 只有当有足够的信息可以明确地确定模型的维数时,您才能创建任何模型类的对象。因为每个对象提供唯一的输入接口,一些模型需要额外的信息来解析模型维数。

  • 您只需以占位符格式输入所需的输入参数,其中给定的输入参数与参数列表中的特定位置相关联。您可以以参数名称-值对的任何顺序输入可选输入,其中给定参数的名称出现在单引号中,并在其相应值之前。

  • 动态(时变)行为与函数评估的关联,其中时间状态(t, Xt被传递到一个公共的、发布的接口,在整个SDE类系统中无处不在。您可以使用这种函数评估方法来建模或构建强大的分析。有关简单示例,请参见示例:单变量GBM模型

指定SDE仿真参数

SDE引擎允许模拟广义多元随机过程,并提供了一个灵活和强大的模拟架构。该框架还为您提供实用程序和模型类,它们提供各种参数化规范和接口。该体系结构在状态向量和布朗运动方面都是完全多维的,并提供了线性和均值回归漂移率规范。

您可以将大多数参数指定为MATLAB数组或通过公共接口访问的函数,这些函数支持SDE仿真中常见的一般动态/非线性关系。金宝app具体地说,可以模拟任意维的向量值布朗运动所驱动的任意数量的状态变量的相关路径。这个模拟近似多元连续时间过程使用一个向量值随机差分方程。

考虑下面的一般随机微分方程:

d X t F t X t d t + G t X t d W t (1)

地点:

  • X是一个据nvar——- - - - - -1对过程变量(如短期汇率或股票价格)的状态向量进行模拟。

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

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

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

漂移和扩散速率,FG,分别是实值标量采样时间的一般函数t和状态向量Xt.此外,静态(非时变)系数只是更普遍的动态(时变)情况的一种特殊情况,就像函数可以是一个微不足道的常数;例如,f (t Xt= 4.的SDE方程1在实现对漂移和扩散速率函数施加额外结构的派生类时非常有用。

指定用户定义函数作为模型参数。本文档中的几个示例强调将对象参数计算为可通过公共接口访问的函数。实际上,您可以通过向对象参数传递时间和状态来计算对象参数,而不管底层用户指定的参数是否为函数。但是,将指定为函数的对象参数的行为与用户指定的噪声和周期结束处理函数的行为进行比较是有帮助的。

以函数形式指定的模型参数的计算方法与用户指定的随机数(噪声)生成函数相同。(有关更多信息,请参见计算不同类型的函数)。作为函数指定的模型参数是用于删除对象构造函数的输入。用户指定的噪声和处理功能可选模拟方法的输入。

因为类构造函数提供了唯一的接口,并且任何给定模型的模拟方法都有不同的实现细节,所以在对象创建、模拟和插值期间,模型为了验证目的通常会以不同的顺序或不同的次数调用参数函数。

因此,尽管参数函数、用户指定的噪声生成函数和周期结束处理函数都共享接口,并在相同的初始时间和状态进行验证(obj。年代tartTimeobj。年代tartState),参数函数不保证在模拟前只调用一次,如噪声产生和周期结束处理函数。事实上,在给定的蒙特卡罗模拟过程中,参数函数甚至可能不会被调用相同的次数。

在大多数将参数指定为函数的应用程序中,它们是简单的时间和/或状态的确定性函数。不需要计算周期、试验次数或以其他方式积累信息或同步时间。

然而,如果参数函数需要更复杂的簿记,那么确定模拟何时开始(或等价地,确定模型验证何时完成)的正确方法是确定输入时间和/或状态何时不同于初始时间和状态(obj。年代tartTimeobj。年代tartState分别)。因为输入时间是一个已知的标量,所以在大多数情况下检测初始时间的变化可能是最好的选择。这是一种通用机制,可以应用于任何类型的用户定义函数。

计算不同类型的函数。将用户指定的噪声产生函数的评估规则与周期结束处理函数的评估规则进行比较是有用的。这些功能有以下共同点:

  • 它们共享相同的通用接口,在当前时间和状态计算时返回适当长度的列向量:

    X t f t X t

    z t Z t X t

  • 在模拟之前,模拟方法本身会调用每个函数一次,以验证初始时间和初始状态下输出的大小,obj。年代tartTime,obj。年代tartState,分别。

  • 在模拟过程中,模拟方法调用每个函数相同的次数:NPeriodsNSteps

然而,关于这两种类型的函数之间的时间有一个重要的区别。最明显的是直接从泛型中提取出来的模型:

d X t F t X t d t + G t X t d W t

该方程在连续时间中表示,但模拟方法在离散时间中近似模型为:

X t + Δ t X t + F t X t Δ t + G t X t Δ t Z t X t

在哪里Δt> 0是对未来的一个小的(不一定相等的)时间段或时间增量。这个方程通常被称为a欧拉近似,一种模拟技术,提供了连续时间随机过程的离散时间近似。最右边的所有函数都在当前时间和状态(tXt).

换句话说,在接下来的小时间增量中,模拟仅基于当前时间和状态的可用信息来演化状态向量。从这个意义上说,你可以把噪声函数看作是周期的开始函数,或者是从左边求值的函数。对于任何用户提供的漂移或扩散函数也是如此。

相比之下,用户指定的期末处理函数仅在每个模拟周期或时间增量的结束时应用。有关处理函数的详细信息,请参见股权期权定价

因此,所有仿真方法对噪声产生函数的评估为:

z t Z t X t

tt0t0tt0+ 2Δt、……T——Δt

然而,模拟方法对周期结束处理函数的评估如下:

X t f t X t

tt0tt0+ 2Δt、……T

在哪里t0T分别是初始时间(取自对象)和终端时间(来自模拟方法的输入)。这些计算发生在所有的样本路径上。因此,在仿真过程中,噪声函数从不在最终(终端)时间进行评估,周期结束处理函数从不在初始(开始)时间进行评估。

漂移和扩散

例如,具有线性漂移率的SDE的形式为:

F t X t 一个 t + B t X t (2)

在哪里一个是一个据nvar——- - - - - -1向量值函数和B是一个据nvar——- - - - - -据nvar矩阵值函数。

作为另一种选择,考虑用均值回归形式表示的漂移率规范:

F t X t 年代 t l t X t (3)

在哪里年代是一个据nvar——- - - - - -据nvar平均回归速度(即平均回归率)的矩阵值函数,和l是一个据nvar——- - - - - -1均值回归水平(即长期平均水平)的向量值函数。

类似地,考虑以下扩散速率规范:

G t X t D t X t α t V t (4)

在哪里D是一个据nvar——- - - - - -据nvar对角矩阵值函数。的每个对角线元素D状态向量的对应元素是否被提升为指数的对应元素α,这也是一个据nvar——- - - - - -1向量值函数。V是一个据nvar——- - - - - -NBrowns瞬时波动率的矩阵值函数。每行V对应一个特定的状态变量,每一列对应一个特定的布朗不确定性源。V将状态变量的暴露与风险来源联系起来。

漂移和扩散速率函数的参数规范将参数限制与从一般SDE类中导出的熟悉模型联系起来,并为许多模型提供了覆盖范围。

SDE引擎的类系统和层次结构使用行业标准术语,通过对漂移和扩散规范设置用户透明的限制,为许多模型提供简化的接口。这种设计允许您混合和匹配现有模型,并自定义漂移速率或扩散速率函数。

可用的模型

例如,下面的模型是一般SDE模型的特殊情况。

空间数据模型

模型名称 规范
布朗运动(BM)

d X t 一个 t d t + V t d W t

几何布朗运动

d X t B t X t d t + V t X t d W t

恒方差弹性(CEV)

d X t B t X t d t + V t X t α t d W t

Cox-Ingersoll-Ross (CIR)

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

Hull-White / Vasicek (HWV)

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

赫斯顿

d X 1 t B t X 1 t d t + X 2 t X 1 t d W 1 t

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

默顿

d X t B t X t X t d t + D t X t V t x t d W t + Y t X t X t d N t

贝茨

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

SDE仿真与插值方法

类为所有派生类提供默认的模拟和插值方法:

  • 模拟对象中存储的用户指定模拟方法的高级包装器模拟财产

  • simByEuler:默认的欧拉近似模拟方法

  • 插入:随机插值法(即布朗桥法)

您可以使用simBySolution函数来模拟下列类的对角漂移过程的近似解:金宝搏官方网站

您可以使用simBySolution函数的名称-值参数MonteCarloMethodQuasiSequence模拟以下类的准蒙特卡罗模拟的近似解:金宝搏官方网站

此外,您还可以使用:

另请参阅

||||||||||||||||||||

相关的例子

更多关于