漂移和扩散模型
概览
因为基础 sde
对象接受漂移和扩散对象,而非通过 (t, Xt) 访问的函数,所以您可使用自定义漂移或扩散函数和对象的组合来创建 sde
对象。drift
漂移率和 diffusion
扩散率对象封装了输入参数的详细信息,以优化输入参数的任何给定组合的运行时效率。
虽然 drift
和 diffusion
对象在其表示的细节上有所区别,但它们在基本实现和接口上相同。它们看起来像函数、行为像函数,也像函数一样进行计算:
通过
drift
对象可以创建以下形式的漂移率对象:,其中:
A
是一个NVars
×1
向量值函数,可使用 (t, Xt) 接口访问。B
是一个NVars
×NVars
矩阵值函数,可使用 (t, Xt) 接口访问。
类似地,使用
diffusion
对象可以创建扩散率对象:其中:
D
是一个NVars
×NVars
对角矩阵值函数。D
的每个对角元素是状态向量对应元素的Alpha
指数次幂,该指数是一个NVars
×1
向量值函数。V
是一个NVars
×NBrowns
矩阵值波动率函数Sigma
。Alpha
和Sigma
也可以使用 (t, Xt) 接口访问。
注意
您可以采用最一般的形式来表达
drift
和diffusion
对象,以突出 (t, Xt) 函数式接口。不过,在指定分量A
和B
时,可以将其指定为支持通用 (t, Xt) 接口,也可以指定为具有适当维度的 MATLAB® 数组。
示例:漂移率和扩散率
在此示例中,您创建 drift
漂移率和 diffusion
扩散率对象来创建与示例:基础 SDE 模型中相同的模型。
创建一个漂移率函数 F
和一个扩散率函数 G
:
F = drift(0, 0.1) % Drift rate function F(t,X)
F = Class DRIFT: Drift Rate Specification ------------------------------------- Rate: drift rate function F(t,X(t)) A: 0 B: 0.1
G = diffusion(1, 0.3) % Diffusion rate function G(t,X)
G = Class DIFFUSION: Diffusion Rate Specification --------------------------------------------- Rate: diffusion rate function G(t,X(t)) Alpha: 1 Sigma: 0.3
每个对象的显示效果都与 MATLAB 结构体相似,并包含补充信息(即,对象的类和简要描述)。但是,与 SDE 表示相反,没有出现模型维度摘要,因为 drift
和 diffusion
对象创建了模型分量而不是模型。F
和 G
都没有包含足够的信息来表征问题的维度。
drift
对象显示的参数为:
Rate
:漂移率函数 F(t,Xt)A
:F(t,Xt) 的截断项 A(t,Xt)B
:F(t,Xt) 的一阶项 B(t,Xt)
A
和 B
让您可以查询原始输入。存储在 Rate
中的函数完全封装了 A
和 B
的组合效果。
diffusion
对象显示的参数为:
Rate
:扩散率函数 G(t,Xt)。Alpha
:状态向量指数,决定了 G(t,Xt) 的 D(t,Xt) 的格式。Sigma
:G(t,Xt) 的波动率 V(t,Xt)。
同样,您可以使用 Alpha
和 Sigma
来查询原始输入。(单个 Alpha
和 Sigma
参数由存储在 Rate
中的函数完全封装。)Rate
函数是 drift
和 diffusion
对象的计算引擎,而这一函数是模拟所需的唯一参数。
示例:SDEDDO 模型
sdeddo
对象派生自基础 sde
对象。若要使用此对象,您必须将漂移率和扩散率对象传递给 sdeddo
。
F = drift(0, 0.1); % Drift rate function F(t,X) G = diffusion(1, 0.3); % Diffusion rate function G(t,X)
将这些对象传递给
sdeddo
对象:obj = sdeddo(F, G) % dX = F(t,X)dt + G(t,X)dW
obj = Class SDEDDO: SDE from Drift and Diffusion Objects -------------------------------------------------- Dimensions: State = 1, Brownian = 1 -------------------------------------------------- StartTime: 0 StartState: 1 Correlation: 1 Drift: drift rate function F(t,X(t)) Diffusion: diffusion rate function G(t,X(t)) Simulation: simulation method/function simByEuler A: 0 B: 0.1 Alpha: 1 Sigma: 0.3
在此示例中,对象显示了与输入漂移和扩散对象相关联的额外参数。
另请参阅
sde
| bm
| gbm
| merton
| bates
| drift
| diffusion
| sdeddo
| sdeld
| cev
| cir
| heston
| hwv
| sdemrd
| rvm
| roughbergomi
| ts2func
| simulate
| simByEuler
| simBySolution
| simBySolution
| interpolate
| simByQuadExp