主要内容

ts2func

将时间序列数组转换为时间和状态函数

描述

例子

F= ts2func (数组在MATLAB中封装了一个与实值观测时间向量相关的时间序列数组®函数适用于蒙特卡洛模拟据nvar——- - - - - -1状态向量Xt

n期。

例子

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

例子

全部折叠

加载数据。

负载Data_GlobalIdx2

模拟风险中性样本路径。

Dt = 1/250;returns = tick2ret(Dataset.CAC);Sigma = std(返回)*√(250);收益率=数据集。eb3m;收益率= 360*log(1 +收益率);

使用恒定的无风险回报来模拟路径

nPeriods =长度(产量);模拟观察rng (5713“旋风”) obj = gbm(均值(收益率),diag(sigma),“StartState”, 100)
obj =类GBM:广义几何布朗运动  ------------------------------------------------ 维度:状态= 1,布朗= 1  ------------------------------------------------ 开始时间:0 StartState: 100相关:1漂移:漂移率函数F (t) X (t))扩散:扩散率函数G (t) X (t))模拟:模拟方法/函数simByEuler返回:0.0278117σ:0.231906
[X1,T] =模拟(obj, ncycles,)“DeltaTime”, dt);

使用动态的、确定的回报率(get r)模拟路径

R = ts2func(收益率,“次”,(0: nperiod - 1)');

使用动态的、确定的回报率(r输出1)模拟路径

r (0100)
Ans = 0.0470

使用动态的、确定的回报率(r输出2)模拟路径

r (7.5,200)
Ans = 0.0472

使用动态的、确定的回报率(r输出3)模拟路径

r (7.5)
Ans = 0.0472

使用动态的、确定的回报率来模拟路径

rng (5713“旋风”) obj = gbm(r, diag(sigma),“StartState”, 100)
obj =类GBM:广义几何布朗运动------------------------------------------------维度:状态= 1,布朗= 1 ------------------------------------------------ StartTime: 0 StartState: 100相关性:1漂移:漂移率函数F(t,X(t))扩散:扩散率函数G(t,X(t))仿真:仿真方法/函数simByEuler返回:函数ts2func/vector2Function Sigma: 0.231906
X2 =模拟(obj,nPeriods,“DeltaTime”, dt);

比较两个模拟试验。

Subplot (2,1,1) plot(日期,100*收益率)“x”)包含(“日期”) ylabel (“年化收益率(%)”)标题(无风险利率(3-Mo Euribor连续复利)(2,1,2) (T,X1,“红色”, T, X2,“蓝”)包含(的时间(年)) ylabel (“指数级”)标题(固定与动态收益率:CAC 40)({传奇“固定利率”“动态利率”},...“位置”“最佳”

图中包含2个轴对象。标题为Risk Free Rate(3-Mo Euribor continuous - compound)的Axes对象1包含一个类型为line的对象。标题为Constant vs. Dynamic Rate of Return的axis对象2:CAC 40包含两个类型为line的对象。这些对象代表恒定利率,动态利率。

输入参数

全部折叠

将时间序列数组封装在时间和状态的可调用函数中,指定为矢量、二维矩阵或三维数组

数据类型:

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:F = ts2func(收益率,'Times',(0: nperiod - 1)')

单调增加与时间序列输入数组相关的观测次数(数组),指定为逗号分隔的对,由“次”还有一个向量。

数据类型:

指定输入时间序列数组的哪个维度(数组)与时间相关,指定为逗号分隔的对,由“TimeDimension”和一个标量整数。

数据类型:

指定输入时间序列数组的哪个维度(数组)与据nvar状态变量,指定为逗号分隔的一对,由“StateDimension”和一个正的标量整数。

数据类型:

标志,以指示输出函数是否是单独的时间确定性函数,指定为逗号分隔的对,由“Determininistic”和一个标量整数标志。

如果确定的输出函数为真吗F是时间的确定函数,F (t),它接受的唯一输入是一个标量,实值时间t.如果确定的为false,输出函数F接受两个输入,一个标量,实值时间t后面跟着据nvar——- - - - - -1状态向量X (t)

数据类型:逻辑

输出参数

全部折叠

可调用的函数F (t)实值标量观测时间的t,作为函数返回。

如果可选输入参数确定的是真的,F是时间的确定函数,F (t),它接受的唯一输入是一个标量,实值时间t.否则,如果确定的为false(默认值),F接受标量实值时间t后面跟着据nvar——- - - - - -1状态向量X (t)

请注意

你可以调用F使用第二个输入(例如据nvar——- - - - - -1状态向量X),这是一个占位符ts2func忽略了。例如,当F (t)而且F (t, X)产生相同的结果,后者直接支持SDE仿真方法。

算法

  • 当你指定数组作为标量或向量(行或列),ts2func假设它表示单变量时间序列。

  • F返回比输入时间序列数组小一个维度的数组数组F是相关的。因此,当数组是一个向量,一个二维矩阵,或者一个三维数组,F分别返回标量、向量或二维矩阵。

  • 当标量时间t在这ts2func求函数值F与观察时间不一致吗F执行零阶保持插值。唯一的例外是如果t的第一个元素之前,这样的话F (t)(1) F(倍)

  • 支持蒙特卡罗模拟方法,输出函数F返回一个据nvar——- - - - - -1列向量或者二维矩阵据nvar行。

  • 输出函数F总是一个时间的确定函数,F (t),并且可能总是用单个输入调用,而不管确定的国旗。区别在于当确定的是假的,函数F也可以用第二个输入调用,an据nvar——- - - - - -1状态向量X (t),这是一个占位符,被忽略。而F (t)而且F (t, X)产生相同的结果,前者明确表示函数是时间的确定性函数,在某些情况下可能提供显著的性能优势。

参考文献

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

[2] Ait-Sahalia, Y. <利率和其他非线性扩散的过渡密度>金融杂志1999年8月,第54卷第4期

P.格拉瑟曼。金融工程中的蒙特卡罗方法。纽约,斯普林格-弗拉格,2004年。

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

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

[6]史莱夫,s.e。金融随机微积分II:连续时间模型。纽约:Springer-Verlag, 2004。

版本历史

在R2008a中介绍

Baidu
map