主要内容

插入

随机微分方程的布朗插值

描述

例子

XTT=插值(MDL路径基于分段常数欧拉采样方法,对用户指定的时间序列数组执行布朗插值。

例子

XTT=插值(___名称,值添加可选的名称-值对参数。

例子

无细化的随机插值

许多应用程序需要在中间采样时间了解状态向量,而这在最初是不可用的。一种近似这些中间状态的方法是执行确定性插值。然而,确定性插值技术无法在这些中间时间捕获正确的概率分布。布朗(或随机)插值捕获正确的联合分布从一个有条件的高斯分布取样。这种抽样技术有时被称为布朗桥

默认的随机插值技术被设计为插值到现有的时间序列中,并忽略新的插值状态,因为额外的信息变得可用。这种技术就是常用的插补概念,也就是所谓的插补无求精插值

或者,插补技术可以将新的插补状态插入到后续插补所基于的现有时间序列中,从而细化后续插补时间可用的信息。这种技术叫做求精插值

不求精的插值是一种更传统的技术,当输入序列在时间上间隔紧密时最有用。在这种情况下,不进行细化的插值是在存在缺失信息时推断数据的一种很好的技术,但不适用于外推。当输入序列在时间上间隔较宽时,带细化的插值更适用于外推。

随机插值方法适用于任何模型。然而,用常参数布朗运动过程来说明是最好的。考虑一个相关的二元布朗运动(BM)表格模型:

d X 1 t 0.3 d t + 0.2 d W 1 t 0.1 d W 2 t d X 2 t 0.4 d t + 0.1 d W 1 t 0.2 d W 2 t E d W 1 t d W 2 t ρ d t 0.5 d t

  1. 创建一个bm对象来表示二元模型:

    Mu = [0.3;0.4);西格玛= [0.2 -0.1;0.1 - -0.2);Rho = [1 0.5;0.5 - 1];Obj = bm(mu,sigma,“相关”,ρ);
  2. 假设漂移(μ)和扩散(σ)参数的年化,模拟一个日历年(250个交易日)的每日观测的单个蒙特卡洛试验:

    rng默认的使输出可重复Dt = 1/250;% 1个交易日= 1/250年[X,T] =模拟(obj,250,“DeltaTime”, dt);
  3. 仔细检查一个小区间是有帮助的。

    1. 用布朗桥插值到模拟的时间序列中:

      t = (t (1) + dt/2):(dt/2):(t (end) - dt/2));x =插值(obj,t, x,“次”T);
    2. 绘制模拟值和插值值:

      情节(T) X (: 1),“。r”T X (:, 2),“。”网格);持有;情节(t) x (: 1),”或“t x (:, 2),“ob”)举行;包含(的时间(年)) ylabel (“状态”)标题(双变量布朗运动:\rho = 0.5)轴([0.4999 0.6001 0.25 0.4])

      图中包含一个轴对象。标题为B i - V a r i o o e blank B r o w n i an blank M o t o n: blank rho blank = blank 0。5包含4个line类型的对象。

      在这幅图中:

      • 红色和蓝色实点表示二元模型的模拟状态。

      • 连接实点的直线表示从确定性线性插值得到的中间状态。

      • 开圈表示插值状态。

      • 与其他插值状态相关联的开圆,环绕与相应模拟状态相关联的实点。然而,在每个时间增量的中点的插值状态通常偏离连接每个实心点的直线。

条件高斯分布的模拟

通过将布朗桥看作条件高斯分布的蒙特卡罗模拟,您可以进一步深入了解随机插值的行为。

这个例子检查了布朗桥在单个时间增量上的行为。

  1. 除以长度的单个时间增量dt分为10个子区间:

    Mu = [0.3;0.4);西格玛= [0.2 -0.1;0.1 - -0.2);Rho = [1 0.5;0.5 - 1];Obj = bm(mu,sigma,“相关”,ρ);rng默认的使输出可重复Dt = 1/250;% 1个交易日= 1/250年[X,T] =模拟(obj,250,“DeltaTime”, dt);N = 125;%模拟状态指数接近中间times = (T(n):(dt/10):T(n + 1));nTrials = 25000;% #每次试验
  2. 在每个子区间中,从高斯分布中提取25000个独立的图,条件是左边和右边的模拟状态:

    平均= 0(长度(次数),1);方差= 0(长度(次),1);I = 1:长度(乘以)t =乘以(I);x = interpolate(obj,t(ones(nTrials,1)),...X,“次”T);Average (i) = mean(x(:,1));方差(i) = var(x(:,1));结束
  3. 绘制每个状态变量的样本均值和方差:

    请注意

    下图仅绘制了第一个状态变量的样本统计数据,但类似的结果适用于任何状态变量。

    次要情节(2,1,1);持有;网格;plot([T(n) T(n + 1)],[X(n,1) X(n + 1,1)],“。”) plot(次数,平均值,”或“)举行;标题(“无细化布朗桥:样本均值”) ylabel (“的意思是”)极限=轴;轴([T(n) T(n + 1)极限(3:4)]);次要情节(2,1,2);网格;情节(T (n), 0,“。”T(n + 1),0,“。”) plot(时间,方差,“。r”) (“关闭”);标题(“无细化布朗桥:样本方差”)包含(的时间(年)) ylabel (“方差”)极限=轴;轴([T(n) T(n + 1)极限(3:4)]);

    图中包含2个轴对象。轴对象1,标题为布朗桥,没有细化:样本均值包含2个类型为line的对象。axis对象2,标题为Brownian Bridge without refine:样本方差包含3个类型为line的对象。

    所选区间内的布朗插值,dt,说明如下:

    • 每个状态变量的条件均值位于每个端点的原始模拟状态之间的直线段上。

    • 每个状态变量的条件方差是一个二次函数。该函数在区间端点之间达到最大值,并且在每个端点处为零。

    • 最大方差,尽管依赖于实际的模型扩散速率函数G (t, X)的和的方差NBrowns相关的高斯变量按因子缩放dt / 4

    前面的图强调了没有细化的插值,因为插值的状态都没有考虑到可用的新信息。如果您使用细化执行插值,那么新的插值状态将被插入到时间序列中,并在一个接一个试验的基础上供后续插值使用。在这种情况下,任意给定插值时间的所有随机绘制都是相同的。此外,样本均值的图将表现出更大的变异性,但仍将聚集在每个端点原始模拟状态之间的直线段周围。然而,样本方差图对于所有插补次数都为零,表明没有可变性。

输入参数

全部折叠

随机微分方程模型,指定为bm“绿带运动”cev圆形的hwv赫斯顿sdeddosdeld,或sdemrd对象。

所有MDL参数假设分段常数,从最近的观测时间在在指定插补时间之前的T.这与蒙特卡罗模拟的欧拉方法一致。

数据类型:对象

插补次数,指定为aNTimes元素的向量。这个向量的长度决定了插值输出时间序列的行数XT

数据类型:

相关状态变量的样本路径,指定为aNPeriods——- - - - - -据nvar——- - - - - -NTrials时间序列数组。

对于一个给定的试验,这个数组的每一行都是状态向量的转置Xt在时间t路径初始时间序列数组是哪个插入函数执行布朗插值。

数据类型:

名称-值参数

的可选逗号分隔对名称,值参数。的名字参数名称和价值对应的值。的名字必须出现在引号内。您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:[XT,T] = interpolate(MDL,T,路径,'Times', T)

与时间序列输入相关的观测次数路径,指定为逗号分隔的对,由“次”还有一个列向量。

数据类型:

标志,指示是否插入使用您请求的插值次数(请参阅T),以便在新信息可用时细化插值,指定为逗号分隔的对,由“完善”和值为的逻辑真正的

数据类型:逻辑

后台进程或状态向量调整的序列,指定为由逗号分隔的对组成“过程”以及函数或单元格数组的函数形式

X t P t X t

插入函数在每个插值时间运行处理函数。它们必须接受当前插补时间t,和当前状态向量Xt,并返回一个状态向量,该状态向量可能是对输入状态的调整。

如果指定了多个处理函数,插入按照函数在单元格数组中出现的顺序调用它们。您可以使用此参数指定边界条件、防止出现负价格、积累统计信息、绘制图形等等。

数据类型:细胞|函数

输出参数

全部折叠

插值状态变量,返回为aNTimes——- - - - - -据nvar——- - - - - -NTrials时间序列数组。

对于给定的试验,该数组的每一行都是插值状态向量的转置Xt在时间tXT插值时间序列是通过对输入进行插值形成的吗路径时间序列数组。

与输出时间序列相关的插补次数XT,作为NTimes-by-1列向量。

如果输入插值时间向量不包含遗漏的观察结果(S),的输出T是相同的时间向量,但与年代移除。这减少了的长度T的行数XT

算法

该函数基于分段常数欧拉采样方法,对用户指定的时间序列数组执行布朗插值。

考虑如下形式的向量值SDE:

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

地点:

  • X是一个据nvar——- - - - - -1状态向量。

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

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

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

给定与此方程相关的用户指定的时间序列数组,该函数通过从条件高斯分布采样来执行布朗(随机)插值。这种抽样技术有时被称为布朗桥

请注意

与模拟方法不同的是插值函数不支持用户指定的噪声进程。金宝app

  • 插入函数假设所有模型参数都是分段常数,并从中最近的观测时间开始计算在指定插补时间之前的T.这与蒙特卡罗模拟的欧拉方法一致。

  • 当插补时间超出指定的间隔时,欧拉模拟通过使用最近的可用观测来推断时间序列。

  • 自定义时间序列路径以及相应的观察必须被完全观察到(没有缺失的观察由年代)。

  • 插入函数假设用户指定的时间序列数组路径对象。例如,而且路径输入对是初始粗粒度模拟的结果。但是,插值忽略了初始条件对象(开始时间而且StartState),允许用户指定而且路径输入序列优先。

参考文献

[1] Ait-Sahalia, Y.《现货利率连续时间模型的检验》。金融研究评论, 1996年春,第9卷第2期,第385-426页。

[2] Ait-Sahalia, Y.“利率和其他非线性扩散的过渡密度。”金融杂志《中华人民共和国》1999年8月第54卷第4期

格拉瑟曼,P。金融工程中的蒙特卡罗方法。纽约,Springer-Verlag出版社,2004年。

[4]赫尔,j.c.。期权、期货和其他衍生品恩格尔伍德悬崖,新泽西州:普伦蒂斯大厅,2002年。

[5]约翰逊,N. L., S. Kotz, N. Balakrishnan。连续单变量分布。第二卷,第二版,纽约,约翰·威利父子出版社,1995年。

[6]史里夫,s.e.金融随机演算2:连续时间模型。纽约:斯普林格出版社,2004年。

在R2008a中引入