![]() |
踢足球的鼠标 · TiN0.3/AlN复合烧结界面扩散现象· 5 月前 · |
![]() |
踢足球的鼠标 · Si中掺杂原子的瞬间增强扩散现象及抑制方法· 5 月前 · |
![]() |
踢足球的鼠标 · 油扩散泵|真空泵(高真空)的基础知识|技术知 ...· 5 月前 · |
![]() |
踢足球的鼠标 · 通过拉曼光谱对扩散现象表征- HORIBA· 5 月前 · |
布朗运动 (
BM
) 模型
创建并显示布朗运动(有时称为
算术布朗运动
或
广义维纳过程
)的
bm
对象,该对象来源于
sdeld
(以线性形式表示漂移率的 SDE)类。
使用
bm
对象模拟
NVars
个状态变量(由
NBrowns
个风险源驱动)在
NPeriods
个连续观测周期内的样本路径,以便逼近连续时间布朗运动随机过程。这使您能够将
NBrowns
个不相关、零漂移、单方差率布朗分量的向量转换为具有任意漂移、方差率和相关性结构的
NVars
个布朗分量的向量。
使用
bm
模拟以下形式的任意向量值布朗运动过程:
其中:
X
t
是过程变量的
NVars
×
1
状态向量。
μ
是
NVars
×
1
漂移率向量。
V
是
NVars
×
NBrowns
瞬时波动率矩阵。
dW
t
是(可能)相关的零漂移/单位方差率布朗分量
NBrowns
×
1
向量。
创建一个默认的
BM
= bm(
Mu
,
Sigma
)
BM
对象。
将所需的输入参数指定为以下类型之一:
MATLAB ® 数组。指定数组表示静态(非时变)参数设定。此数组完全捕获与参数形式明显相关的所有实现细节。
MATLAB 函数。指定函数可为几乎任何静态、动态、线性或非线性模型提供间接支持。此参数通过接口支持,因为所有实现细节都隐藏并被函数完全封装。
注意
您可以根据需要指定数组和函数输入参数的组合。
此外,如果函数接受标量时间
t
作为其唯一输入参量,则将参数识别为时间的确定性函数。否则,系统将假定参数为时间
t
和状态
X(t)
的函数,并使用两个输入参量调用。
使用由一个或多个
BM
= bm(
___
,
Name,Value
)
Name,Value
对组参量指定的其他选项创建一个
bm
对象。
Name
是属性名称,
Value
是其对应的值。
Name
必须放在单引号 (
''
) 内。您可以按任意顺序指定多个名称-值对组参量,如
Name1,Value1,…,NameN,ValueN
BM
对象具有以下
属性
:
StartTime
- 初始观测时间
StartState
-
StartTime
时的初始状态
Correlation
-
Correlation
输入参量的访问函数,可作为时间的函数进行调用
Drift
- 复合漂移率函数,可作为时间和状态的函数进行调用
Diffusion
- 复合扩散率函数,可作为时间和状态的函数进行调用
Simulation
- 模拟函数或方法
Mu
—
Mu
表示参数
μ
Mu
表示参数
μ
,指定为数组或时间的确定性函数。
如果您指定
Mu
为数组,它必须是一个
NVars
×
1
列向量,表示漂移率(预期的瞬时漂移率,也就是时间趋势)。
作为时间的确定性函数,当以实数值标量时间
t
作为唯一输入调用
Mu
时,
Mu
必须生成一个
NVars
×
NVars
矩阵。如果您指定
Mu
为时间和状态的函数,它将计算预期的瞬时漂移率。当使用下面两个输入调用该函数时,该函数必须生成一个
NVars
×
1
列向量:
实值标量观测时间 t 。
NVars
×
1
状态向量
X
t
。
数据类型:
double
|
function_handle
Sigma
—
Sigma
表示参数
V
Sigma
表示参数
V
,指定为数组或时间的确定性函数。
如果您指定
Sigma
为数组,它必须是一个
NVars
×
NBrowns
瞬时波动率矩阵或作为时间的确定性函数。在本例中,
Sigma
的每行都对应于一个特定的状态变量。每列对应于一个特定的布朗不确定性源,并将状态变量的敞口量级与不确定性源相关联。
作为时间的确定性函数,当以实数值标量时间
t
作为唯一输入调用
Sigma
时,
Sigma
必须生成一个
NVars
×
NBrowns
矩阵。如果您指定
Sigma
为时间和状态的函数,则在使用下面两个输入调用它时,必须返回一个
NVars
×
NBrowns
波动率矩阵:
实值标量观测时间 t 。
NVars
×
1
状态向量
X
t
。
虽然
gbm
构造函数对
Sigma
波动率的符号未施加任何限制,但它们需要指定为正值。
数据类型:
double
|
function_handle
StartTime
—
首次观测的开始时间,应用于所有状态变量
0
(默认) |
标量
首次观测的开始时间,应用于所有状态变量,指定为数值。
数据类型:
double
StartState
—
状态变量的初始值
1
(默认) |
标量、列向量或矩阵
状态变量的初始值,指定为标量、列向量或矩阵。
如果
StartState
是一个标量,则
bm
在所有试验中对所有状态变量应用相同的初始值。
如果
StartState
是一个列向量,则
bm
在所有试验中对每个状态变量应用唯一的初始值。
如果
StartState
是一个矩阵,则
bm
在每次试验中对每个状态变量应用唯一的初始值。
数据类型:
double
Correlation
—
为生成布朗运动向量(维纳过程)而抽取的高斯随机变量之间的相关性
NBrowns
×
NBrowns
单位矩阵,表示独立高斯过程
(默认) |
半正定矩阵
|
确定性函数
为生成布朗运动向量(维纳过程)而抽取的高斯随机变量之间的相关性,指定为
NBrowns
×
NBrowns
半正定矩阵或确定性函数
C(t)
,接受当前时间
t
并返回
NBrowns
×
NBrowns
半正定相关矩阵。如果
Correlation
不是对称半正定矩阵,则使用
nearcorr
为相关矩阵创建半正定矩阵。
Correlation
矩阵表示静态条件。
作为时间的确定性函数,
Correlation
允许您指定动态相关结构体。
数据类型:
double
Simulation
—
用户自定义的模拟函数或 SDE 模拟方法
simByEuler
)
(默认) |
函数
|
SDE 模拟方法
用户自定义的模拟函数或 SDE 模拟方法,指定为函数或 SDE 模拟方法。
数据类型:
function_handle
Drift
—
连续时间随机微分方程 (SDE) 的漂移率分量
此 属性 为只读。
连续时间随机微分方程 (SDE) 的漂移率分量,指定为可由 ( t , X t ) 访问的漂移对象或函数。
漂移率设定支持模拟
NVars
个状态变量(由
NBrowns
个布朗运动风险源驱动)在
NPeriods
个连续观测周期内的样本路径,逼近连续时间随机过程。
drift
类允许使用以下形式的
drift
创建漂移率对象:
其中:
A
是一个
NVars
×
1
向量值函数,可使用 (
t
,
X
t
) 接口访问。
B
是一个
NVars
×
NVars
矩阵值函数,可使用 (
t
,
X
t
) 接口访问。
drift
对象显示的参数是:
Rate
:漂移率函数
F(t,X
t
)
A
:
F(t,X
t
)
的截断项
A(t,X
t
)
B
:
F(t,X
t
)
的一阶项
B(t,X
t
)
A
和
B
让您可以查询原始输入。存储在
Rate
中的函数完全封装了
A
和
B
的组合效果。
当指定为 MATLAB 双精度数组时,输入
A
和
B
显然与线性漂移率参数式相关联。然而,指定
A
或
B
为函数,几乎可以让您自定义任何漂移率设定。
注意
您可以采用最一般的形式来表达
drift
和
diffusion
类,以突出 (
t
,
X
t
) 函数式接口。不过,在指定分量
A
和
B
时,可以将其指定为支持通用 (
t
,
X
t
) 接口,也可以指定为具有适当维度的 MATLAB 数组。
示例:
F = drift(0, 0.1) % Drift rate function F(t,X)
数据类型:
object
Diffusion
—
连续时间随机微分方程 (SDE) 的扩散率分量
此 属性 为只读。
连续时间随机微分方程 (SDE) 的扩散率分量,指定为可由 ( t , X t ) 访问的漂移对象或函数。
扩散率设定支持模拟
NVars
个状态变量(由
NBrowns
个布朗运动风险源驱动)在
NPeriods
个连续观测周期内的样本路径,逼近连续时间随机过程。
diffusion
类允许使用
diffusion
创建扩散率对象:
其中:
D
是一个
NVars
×
NVars
对角矩阵值函数。
D
的每个对角元素是状态向量对应元素的
Alpha
指数次幂,该指数是一个
NVars
×
1
向量值函数。
V
是一个
NVars
×
NBrowns
矩阵值波动率函数
Sigma
。
Alpha
和
Sigma
也可以使用 (
t
,
X
t
) 接口访问。
diffusion
对象显示的参数是:
Rate
:扩散率函数
G(t,X
t
)
。
Alpha
:状态向量指数,决定了
G(t,X
t
)
的
D(t,X
t
)
的格式。
Sigma
:
G(t,X
t
)
的波动率
V(t,X
t
)
。
Alpha
和
Sigma
让您可以查询原始输入。(单个
Alpha
和
Sigma
参数由存储在
Rate
中的函数完全封装。)
Rate
函数是
drift
和
diffusion
对象的计算引擎,而这一函数是模拟所需的唯一参数。
注意
您可以采用最一般的形式来表达
drift
和
diffusion
类,以突出 (
t
,
X
t
) 函数式接口。不过,在指定分量
A
和
B
时,可以将其指定为支持通用 (
t
,
X
t
) 接口,也可以指定为具有适当维度的 MATLAB 数组。
示例:
G = diffusion(1, 0.3) % Diffusion rate function G(t,X)
数据类型:
object
interpolate
|
Brownian interpolation of stochastic differential equations (SDEs) for
SDE
,
BM
,
GBM
,
CEV
,
CIR
,
HWV
,
Heston
,
SDEDDO
,
SDELD
, or
SDEMRD
models
|
simulate
|
Simulate multivariate stochastic differential equations (SDEs) for
SDE
,
BM
,
GBM
,
CEV
,
CIR
,
HWV
,
Heston
,
SDEDDO
,
SDELD
,
SDEMRD
,
Merton
, or
Bates
models
|
simByEuler
|
Euler simulation of stochastic differential equations (SDEs) for
SDE
,
BM
,
GBM
,
CEV
,
CIR
,
HWV
,
Heston
,
SDEDDO
,
SDELD
, or
SDEMRD
models
|
simByMilstein
|
Simulate diagonal diffusion for
BM
,
GBM
,
CEV
,
HWV
,
SDEDDO
,
SDELD
, or
SDEMRD
sample paths by Milstein
approximation
|
simByMilstein2
|
Simulate
BM
,
GBM
,
CEV
,
HWV
,
SDEDDO
,
SDELD
,
SDEMRD
process sample paths by second order Milstein
approximation
|
创建一元布朗运动 (
bm
) 对象,用于表示模型:
。
obj = bm(0, 0.3) % (A = Mu, Sigma)
obj = Class BM: Brownian Motion ---------------------------------------- Dimensions: State = 1, Brownian = 1 ---------------------------------------- StartTime: 0 StartState: 0 Correlation: 1 Drift: drift rate function F(t,X(t)) Diffusion: diffusion rate function G(t,X(t)) Simulation: simulation method/function simByEuler Mu: 0 Sigma: 0.3
bm
对象将参数
A
显示为更常用的
Mu
。
bm
类还提供了一种重载的欧拉模拟方法,可以在某些常见情况下提高运行时性能。仅在满足以下
所有
条件时,才会自动调用此专用方法:
预期的漂移(或趋势)率
Mu
是一个列向量。
波动率
Sigma
为矩阵。
未进行任何周期末尾调整和/或处理。
如果指定,则随机噪声过程
Z
是三维数组。
如果未指定
Z
,则假设的高斯相关结构体为双精度矩阵。
当您将必需的输入参数指定为数组时,它们将与特定的参数化形式相关联。相比之下,当您将任一必需的输入参数指定为函数时,几乎可以自定义任何设定。
在没有输入的情况下访问输出参数只会返回原始输入设定。因此,当您不带输入调用这些参数时,它们的行为就像简单的属性,您可以测试指定的原始输入的数据类型(是双精度值还是函数,即是静态的还是动态的)。这对于验证和设计方法非常有用。
当您使用输入调用这些参数时,它们的行为类似于函数,给人以动态行为的印象。该参数接受观测时间
t
和状态向量
X
t
,并返回适当维度的数组。即使您最初将输入指定为数组,
bm
也会将其视为时间和状态的静态函数,这样可以确保所有参数都可由同一接口访问。
[1] Aït-Sahalia, Yacine. “Testing Continuous-Time Models of the Spot Interest Rate.” Review of Financial Studies , vol. 9, no. 2, Apr. 1996, pp. 385–426.
[2] Aït-Sahalia, Yacine. “Transition Densities for Interest Rate and Other Nonlinear Diffusions.” The Journal of Finance , vol. 54, no. 4, Aug. 1999, pp. 1361–95.
[3] Glasserman, Paul. Monte Carlo Methods in Financial Engineering . Springer, 2004.
[4] Hull, John. Options, Futures and Other Derivatives . 7th ed, Prentice Hall, 2009.
[5] Johnson, Norman Lloyd, et al. Continuous Univariate Distributions . 2nd ed, Wiley, 1994.
[6] Shreve, Steven E. Stochastic Calculus for Finance . Springer, 2004.
simByMilstein2
方法
使用
simByMilstein2
方法近似求出随机微分方程的数值解。
simByMilstein
方法
使用
simByMilstein
方法近似求出随机微分方程的数值解。
drift
|
diffusion
|
sdeld
|
simulate
|
interpolate
|
simByEuler
|
nearcorr
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
![]() |
踢足球的鼠标 · TiN0.3/AlN复合烧结界面扩散现象 5 月前 |
![]() |
踢足球的鼠标 · Si中掺杂原子的瞬间增强扩散现象及抑制方法 5 月前 |
![]() |
踢足球的鼠标 · 通过拉曼光谱对扩散现象表征- HORIBA 5 月前 |