Monte Carlo SDES仿真提供的大多数模型和公用事业都代表了Matlab®对象。因此,本文档通常使用这些条款模型和对象互换。
但是,尽管所有模型都表示为对象,但并非所有对象都表示模型。特别是,漂移
和扩散
对象用于模型规范,但本身都不是这些类型的物体构成了完整的模型。通常,您不需要创建漂移
和扩散
直接对象,因此您不需要区分对象和模型。但是,重要的是要了解这些条款之间的区别。
在下面的许多示例中,大多数模型参数都像MATLAB函数一样被求值或调用。尽管像检查数据结构一样检查和访问模型参数是有帮助的,但请将这些参数视为功能执行行动。
有关创建SDE对象的示例和更多信息,请参阅:
对象显示像传统的MATLAB数据结构。
显示的对象参数显示为以大写字母开头的名词。相反,诸如模拟
和插
显示为以小写字母开头的动词,这表示要执行的任务。
对象支持类似于数金宝app据结构的引用。例如,下面的语句是有效的:
a = obj.a.
对象支持类似于数金宝app据结构的完整参数分配。例如,下面的语句是有效的:
obj.a = 3.
对象不支持将部分参数分配视为数金宝app据结构。因此,以下语句无效:
obj.A (i, j) = 0.3
只有当有足够的信息可以确定模型的维数时,您才能创建任何模型类的对象。因为每个对象都提供唯一的输入接口,所以有些模型需要额外的信息来解析模型维度。
您只需要在占位符格式输入所需的输入参数,其中给定的输入参数与参数列表中的特定位置关联。您可以按任何顺序输入可选输入作为参数名称 - 值对,其中给定参数的名称出现在单引号中,并在其相应的值之前。
具有功能评估的动态(时变)行为的关联,其中时间和州(t,xt)已传递给常见的已发布的界面,在整个SDE类系统中普遍存在。您可以使用此功能评估方法来模拟或构建强大的分析。对于一个简单的例子,请参阅示例:单变量GBM模型。
SDE发动机允许仿真广义多变量随机过程,并提供灵活和强大的模拟架构。该框架还为您提供了提供各种参数规范和接口的实用程序和模型类。该架构在状态矢量和布朗运动中完全多维,并提供线性和均值漂移速率规格。
您可以将大多数参数指定为MATLAB数组或通过公共接口访问的函数,该接口支持SDE仿真中常见的通用动态/非线性关系。金宝app具体地说,你可以模拟由任意维度的向量值布朗运动驱动的任意数量的状态变量的相关路径。这个模拟使用向量值随机差分方程来近似潜在的多元连续时间过程。
考虑以下一般的随机微分方程:
(1) |
哪里:
X是一个NVARS.-通过-1
状态变量的州向量(例如,税率或股票价格短)模拟。
W是一个NBROWNS-通过-1
布朗运动矢量。
F是一个NVARS.-通过-1
矢量值漂移速率功能。
G是一个NVARS.-通过-NBROWNS矩阵值扩散速率功能。
漂移和扩散速率,F和G分别是实值标量采样时间的一般功能t和州矢量Xt。同样,静态(非时变)系数只是更一般的动态(时变)情况的特例,就像函数可以是一个平凡的常数;例如,f(t,xt)= 4。SDE的在等式1在实现派生类中,在实现漂移和扩散速率函数上施加额外结构的派生类。
将用户定义的函数指定为模型参数。本文档中的几个示例强调了将对象参数计算为可通过公共接口访问的函数。实际上,可以通过向对象参数传递时间和状态来计算对象参数,而不管底层用户指定的参数是否为函数。然而,比较作为函数指定的对象参数的行为与用户指定的噪声和周期结束处理函数的行为是有帮助的。
作为函数指定的模型参数的评估方式与用户指定的随机数(噪声)生成函数相同。(有关更多信息,请参见评估不同类型的功能。)指定为函数的模型参数是删除对象构造函数的输入。用户指定的噪声和处理功能是可选仿真方法的输入。
因为类构造函数提供了唯一的接口,并且任何给定模型的模拟方法都有不同的实现细节,所以在对象创建、模拟和插值过程中,模型为了验证的目的经常调用参数函数不同的次数,或者以不同的顺序。
因此,尽管参数函数,用户指定的噪声生成函数和周期的处理功能都共享接口,并且在相同的初始时间和状态下验证(obj.starttime.
和obj.StartState
),在仿真之前仅作为噪声生成和末尾处理功能,不保证参数功能。实际上,在给定的蒙特卡罗仿真过程中,甚至可能甚至不能调用相同次数的参数函数。
在您将参数指定为函数的大多数应用程序中,它们是简单的,时间和/或状态的确定性函数。无需计算句点,计数试验或以其他方式累积信息或同步时间。
但是,如果参数函数需要更复杂的簿记,则确定何时开始模拟(或等效的正确方法,以确定模型验证完成)是确定输入时间和/或状态是否与初始时间和状态不同(obj.starttime.
和obj.StartState
, 分别)。因为输入时间是已知标量,所以检测从初始时间的变化可能是大多数情况下的最佳选择。这是您可以应用于任何类型的用户定义函数的一般机制。
评估不同类型的功能。将用户指定的噪声生成函数的评估规则与周期末期处理功能进行比较是有用的。这些功能具有以下内容:
它们都共享相同的通用接口,在当前时间和状态下评估时返回适当长度的列向量:
在模拟之前,模拟方法本身调用每个函数一次,以验证初始时间和状态下输出的大小,obj.starttime.
,和obj.StartState
,分别。
在模拟过程中,模拟方法调用每个函数的次数相同:NPERIODS
*NSTEPS
。
但是,关于这两种功能之间的时序存在重要区别。它最清楚地直接从通用绘制钻
模型:
该等式在连续时间下表示,但模拟方法在离散时间内近似模型:
在哪里δ.t> 0.是一个小(不一定是平等的)期间或时间递增到未来。该等式通常被称为a欧拉近似值,一种提供连续时间随机过程的离散时间近似的仿真技术。最右侧的所有功能在当前时间和状态下进行评估(t,Xt)。
换句话说,在接下来的小时间增量中,模拟只基于当前时间和状态的可用信息来发展状态向量。从这个意义上说,你可以把噪声函数看作是周期的开始函数,或者从左边求值的函数。这也适用于任何用户提供的漂移或扩散函数。
相反,用户指定的周期末期处理功能仅在每个模拟周期或时间增量的末尾施加。有关处理功能的更多信息,请参阅定价股权选项。
因此,所有仿真方法都会评估噪声生成功能,如:
对于t=t0,t0+δt,t0+2δt、……T- δ.t。
然而,仿真方法评估周期末处理函数为:
对于t=t0+δt,t0+2δt、……T。
在哪里t0和T是初始时间(从对象取出)和终端时间(从输入到模拟方法的输入)。这些评估发生在所有样本路径上。因此,在模拟期间,在最终(终端)时间中,永远不会评估噪声功能,并且永远不会在初始(启动)时间内评估周期的处理功能。
例如,具有线性漂移率的SDE具有表单:
(2) |
在哪里一个是一个NVARS.-通过-1
矢量值函数和B是一个NVARS.-通过-NVARS.矩阵值函数。
作为替代方案,考虑以平均恢复形式表示的漂移率规范:
(3) |
在哪里年代是一个NVARS.-通过-NVARS.平均逆转速度的矩阵值函数(即平均逆转的率),和l是一个NVARS.-通过-1
矢量值函数的平均逆转水平(即长的平均水平)。
同样,考虑以下扩散速率规范:
(4) |
在哪里D是一个NVARS.-通过-NVARS.对角矩阵值函数。的每个对角线元素D是状态矢量的相应元素提升到指数的相应元素Α,这也是一个NVARS.-通过-1
向量值函数。V是一个NVARS.-通过-NBROWNS瞬时波动率的矩阵值函数。每一行的V对应一个特定的状态变量,每一列对应一个特定的布朗不确定源。V将状态变量的曝光与风险源相关联。
漂移和扩散速率函数的参数规范将参数限制与来自常规SDE类的熟悉模型相关联,并为许多模型提供覆盖范围。
SDE发动机的类系统和层次结构使用行业标准术语来为许多模型提供简化的接口,通过在漂移和扩散规范上放置用户透明的限制。这种设计允许您混合和匹配现有模型,以及自定义漂移速率或扩散速率功能。
例如,以下模型是一般SDE模型的特殊情况。
空间数据模型
型号名称 | 规范 |
---|---|
布朗运动(BM) |
|
几何布朗运动(GBM) |
|
恒定方差弹性(CEV) |
|
Cox-Ingersoll-Ross(Cir) |
|
Hull-White / Vasicek(HWV) |
|
赫斯顿 |
|
的钻
类为所有派生类提供默认的仿真和插值方法:
的GBM.
和HWV.
类具有附加功能,Simbysolution.
为一个GBM.
对象和Simbysolution.
为HWV.
对象,模拟对角漂移过程的近似解。金宝搏官方网站
另外,使用SimbyTransition.
与一个cir
对象,你可以近似连续时间Cox-Ingersoll-Ross (CIR)模型通过近似的跃迁密度函数。
bm
|cev
|cir
|扩散
|漂移
|GBM.
|哈斯顿
|HWV.
|插
|钻
|Sdeddo.
|sdeld
|Sdemrd.
|辛贝尔
|Simbysolution.
|Simbysolution.
|模拟
|TS2Func.