exponenta event banner

ts2func

Преобразование массивов временных рядов в функции времени и состояния

Описание

пример

F = ts2func(Array) инкапсулирует массив временных рядов, связанный с вектором действительного времени наблюдения в рамках функции MATLAB ®, подходящей для моделирования Монте-Карло NVarsоколо-1 вектор состояния Xt.

n периодов.

пример

F = ts2func(___,Name,Value) добавляет необязательные аргументы пары имя-значение.

Примеры

свернуть все

Загрузите данные.

load Data_GlobalIdx2

Моделирование нейтральных по риску путей выборки.

dt      = 1/250;
returns = tick2ret(Dataset.CAC);
sigma   = std(returns)*sqrt(250);
yields  = Dataset.EB3M;
yields  = 360*log(1 + yields);

Моделирование путей с использованием постоянного безрискового возврата

nPeriods = length(yields);  % Simulated observations
rng(5713,'twister')
obj    = gbm(mean(yields),diag(sigma),'StartState',100)
obj = 
   Class GBM: Generalized Geometric Brownian Motion
   ------------------------------------------------
     Dimensions: State = 1, Brownian = 1
   ------------------------------------------------
      StartTime: 0
     StartState: 100
    Correlation: 1
          Drift: drift rate function F(t,X(t)) 
      Diffusion: diffusion rate function G(t,X(t)) 
     Simulation: simulation method/function simByEuler
         Return: 0.0278117
          Sigma: 0.231906
[X1,T] = simulate(obj,nPeriods,'DeltaTime',dt);

Моделирование путей с использованием динамической детерминированной скорости возврата (get r)

r = ts2func(yields,'Times',(0:nPeriods - 1)');

Моделирование путей с использованием динамической детерминированной скорости возврата (r выход 1)

r(0,100)
ans = 0.0470

Моделирование путей с использованием динамической детерминированной скорости возврата (r выход 2)

r(7.5,200)
ans = 0.0472

Моделирование путей с использованием динамической детерминированной скорости возврата (r выход 3)

r(7.5)
ans = 0.0472

Моделирование путей с использованием динамической детерминированной нормы доходности

rng(5713,'twister')
obj = gbm(r, diag(sigma),'StartState',100)
obj = 
   Class GBM: Generalized Geometric Brownian Motion
   ------------------------------------------------
     Dimensions: State = 1, Brownian = 1
   ------------------------------------------------
      StartTime: 0
     StartState: 100
    Correlation: 1
          Drift: drift rate function F(t,X(t)) 
      Diffusion: diffusion rate function G(t,X(t)) 
     Simulation: simulation method/function simByEuler
         Return: function ts2func/vector2Function
          Sigma: 0.231906
X2  = simulate(obj,nPeriods,'DeltaTime',dt);

Сравните два испытания моделирования.

subplot(2,1,1)
plot(dates,100*yields)
datetick('x')
xlabel('Date')
ylabel('Annualized Yield (%)')
title('Risk Free Rate(3-Mo Euribor Continuously-Compounded)')
subplot(2,1,2)
plot(T,X1,'red',T,X2,'blue')
xlabel('Time (Years)')
ylabel('Index Level')
title('Constant vs. Dynamic Rate of Return: CAC 40')
legend({'Constant Interest Rates' 'Dynamic Interest Rates'},...
    'Location', 'Best')

Figure contains 2 axes. Axes 1 with title Risk Free Rate(3-Mo Euribor Continuously-Compounded) contains an object of type line. Axes 2 with title Constant vs. Dynamic Rate of Return: CAC 40 contains 2 objects of type line. These objects represent Constant Interest Rates, Dynamic Interest Rates.

Входные аргументы

свернуть все

Массив временных рядов для инкапсуляции в вызываемую функцию времени и состояния, заданную как вектор, двумерная матрица или трехмерный массив

Типы данных: double

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: F = ts2func(yields,'Times',(0:nPeriods - 1)')

Монотонно увеличивающееся время наблюдения, связанное с входным массивом временных рядов (Array), указанная как пара, разделенная запятыми, состоящая из 'Times' и вектор.

Типы данных: double

Указывает размер массива входных временных рядов (Array) связан со временем, указанным как пара, разделенная запятыми, состоящая из 'TimeDimension' и скалярное целое число.

Типы данных: double

Указывает размер массива входных временных рядов (Array) связан с NVars переменные состояния, указанные как пара, разделенная запятыми, состоящая из 'StateDimension' и положительное скалярное целое число.

Типы данных: double

Флаг, указывающий, является ли выходная функция детерминированной функцией только времени, указанной как разделенная запятыми пара, состоящая из 'Determininistic' и флаг скалярного целого числа.

Если Deterministic true, функция вывода F является детерминированной функцией времени, F (t), и единственным входным сигналом, который он принимает, является скалярное, действительное время t. Deterministic false, функция вывода F принимает два входа, скалярное, действительное время t, за которым следует NVarsоколо-1 состояние vectorX (t).

Типы данных: logical

Выходные аргументы

свернуть все

Вызываемая функция F (t) действительного скалярного времени наблюдения t, возвращаемая как функция.

Если необязательный входной аргумент Deterministic true, F является детерминированной функцией времени, F (t), и единственным входным сигналом, который он принимает, является скалярное, действительное время т. Иначе, еслиDeterministic имеет значение false (по умолчанию), F принимает скалярное, действительное время t, за которым следует NVarsоколо-1 вектор состояния X (t).

Примечание

Вы можете вызвать F со вторым входом (например, NVarsоколо-1 вектор состояния X), который является местозаполнителем, ts2func игнорирует. Например, в то время как F (t) и F (t, X) дают одинаковые результаты, последний непосредственно поддерживает методы моделирования SDE.

Алгоритмы

  • При указании Array как скаляр или вектор (строка или столбец), ts2func предполагает, что он представляет одномерный временной ряд.

  • F возвращает массив с измерением на единицу меньше, чем входной массив временных рядов Array с которой F связан. Таким образом, когда Array - вектор, 2-мерная матрица или трехмерный массив, F возвращает скалярную, векторную или двумерную матрицу соответственно.

  • Когда скалярное время t, при котором ts2func вычисляет функцию F не совпадает со временем наблюдения в Times, F выполняет интерполяцию с удержанием нулевого порядка. Единственное исключение - если t предшествует первому элементу Timesв этом случае F (t) = F (Times (1)).

  • Для поддержки методов моделирования Монте-Карло функция вывода F возвращает NVarsоколо-1 вектор столбца или двумерная матрица с NVars строк.

  • Функция вывода F всегда является детерминированной функцией времени, F (t), и всегда может вызываться с одним входом независимо от Deterministic флаг. Различие заключается в том, что когда Deterministic имеет значение false, функция F может также вызываться со вторым входом, NVarsоколо-1 вектор состояния X (t), который является местозаполнителем и игнорируется. В то время как F (t) и F (t, X) дают идентичные результаты, первый конкретно указывает на то, что функция является детерминированной функцией времени, и может предложить значительные преимущества в некоторых ситуациях.

Ссылки

[1] Аит-Сахалия, Y. «Тестирование непрерывных временных моделей спотовой процентной ставки». Обзор финансовых исследований, весна 1996 года, том 9, № 2, стр. 385-426.

[2] Ait-Sahalia, Y. «Переходные плотности для процентных ставок и других нелинейных диффузий». Журнал финансов, том 54, № 4, август 1999 года.

[3] Глассерман, P. Monte Carlo Methods in Financial Engineering. Нью-Йорк, Спрингер-Верлаг, 2004.

[4] Халл, Дж. К. Опционы, фьючерсы и другие деривативы, 5-е ред. Энглвуд Клиффс, Нью-Джерси: Прентис Холл, 2002.

[5] Джонсон, Н. Л., С. Коц и Н. Балакришнан. Непрерывные одномерные распределения. Том 2, 2-й ред. Нью-Йорк, John Wiley & Sons, 1995.

[6] Шрив, С. Э. Стохастическое исчисление для финансов II: модели непрерывного времени. Нью-Йорк: Спрингер-Верлаг, 2004.

Представлен в R2008a