sde

Модель Stochastic Differential Equation (SDE)

Описание

Создает и отображает общее стохастическое дифференциальное уравнение (SDE) модели от пользовательского дрейфа и функций уровня диффузии.

Используйте sde объекты симулировать демонстрационные пути NVars переменные состояния управляются NBROWNS Источники броуновского движения риска по NPeriods последовательные периоды наблюдения, аппроксимируя стохастические процессы непрерывного времени.

sde объект позволяет вам симулировать любой SDE с векторным знаком формы:

dXt=F(t,Xt)dt+G(t,Xt)dWt

где:

  • Xt является NVars- 1 вектор состояния переменных процесса.

  • dWt является NBROWNS- 1 Вектор броуновского движения.

  • F является NVars- 1 функция уровня дрейфа с векторным знаком.

  • G является NVars- NBROWNS функция уровня диффузии с матричным знаком.

Создание

Описание

пример

SDE = sde(DriftRate,DiffusionRate) создает SDE по умолчанию объект.

пример

SDE = sde(___,Name,Value) создает SDE объект с дополнительными опциями, заданными одним или несколькими Name,Value парные аргументы.

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

SDE объект имеет следующие Свойства:

  • StartTime — Начальное время наблюдения

  • StartState — Начальное состояние во время StartTime

  • Correlation — Функция доступа для Correlation входной параметр, вызываемый в зависимости от времени

  • Drift — Составная функция уровня дрейфа, вызываемая в зависимости от времени и состояния

  • Diffusion — Составная функция уровня диффузии, вызываемая в зависимости от времени и состояния

  • Simulation — Функция симуляции или метод

Входные параметры

развернуть все

DriftRate пользовательская функция уровня дрейфа и представляет параметр F в виде вектора или объекта класса drift.

DriftRate функция, которая возвращает NVars- 1 вектор уровня дрейфа, когда названо двумя входными параметрами:

  • Скалярное время наблюдения с действительным знаком t.

  • NVars- 1 вектор состояния Xt.

В качестве альтернативы DriftRate может также быть объект класса drift это инкапсулирует спецификацию уровня дрейфа. В этом случае, однако, sde использование только Rate параметр объекта. Для получения дополнительной информации о drift возразите, смотрите drift.

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

DiffusionRate пользовательская функция уровня дрейфа и представляет параметр G в виде матрицы или объекта класса diffusion.

DiffusionRate функция, которая возвращает NVars- NBROWNS матрица уровня диффузии, когда названо двумя входными параметрами:

  • Скалярное время наблюдения с действительным знаком t.

  • NVars- 1 вектор состояния Xt.

В качестве альтернативы DiffusionRate может также быть объект класса diffusion это инкапсулирует спецификацию уровня диффузии. В этом случае, однако, sde использование только Rate параметр объекта. Для получения дополнительной информации о diffusion возразите, смотрите diffusion.

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

Свойства

развернуть все

Время начала первого наблюдения, к которому применяются все переменные состояния в виде скаляра

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

Начальные значения переменных состояния в виде скаляра, вектор-столбца или матрицы.

Если StartState скаляр, sde применяет то же начальное значение ко всем переменным состояния на всех испытаниях.

Если StartState вектор-столбец, sde применяет уникальное начальное значение к каждой переменной состояния на всех испытаниях.

Если StartState матрица, sde применяет уникальное начальное значение к каждой переменной состояния на каждом испытании.

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

Корреляция между Гауссовыми случайными варьируемыми величинами, чертившими, чтобы сгенерировать вектор Броуновского движения (винеровские процессы) в виде NBROWNS- NBROWNS положительная полуопределенная матрица, или как детерминированный функциональный C(t), который принимает текущее время t и возвращает NBROWNS- NBROWNS положительная полуопределенная корреляционная матрица. Если Correlation не симметричная положительная полуопределенная матрица, использовать nearcorr создать положительную полуопределенную матрицу для корреляционной матрицы.

Correlation матрица представляет статическое условие.

Как детерминированная функция времени, Correlation позволяет вам задавать динамическую структуру корреляции.

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

Пользовательская функция симуляции или метод симуляции SDE в виде функции или метод симуляции SDE.

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

Это свойство доступно только для чтения.

Компонент уровня дрейфа непрерывного времени стохастические дифференциальные уравнения (SDEs) в виде дрейфа возражает или функция, доступная (t, Xt.

Спецификация уровня дрейфа поддерживает симуляцию демонстрационных путей NVars переменные состояния управляются NBROWNS Источники броуновского движения риска по NPeriods последовательные периоды наблюдения, аппроксимируя стохастические процессы непрерывного времени.

drift класс позволяет вам создавать объекты уровня дрейфа (использующий drift) из формы:

F(t,Xt)=A(t)+B(t)Xt

где:

  • A NVars- 1 функциональное доступное использование с векторным знаком (t, Xt) интерфейс.

  • B NVars- NVars функциональное доступное использование с матричным знаком (t, Xt) интерфейс.

Отображенные параметры для drift объект:

  • Rate: Функция уровня дрейфа, F(t,Xt)

  • A: Термин точки пересечения, A(t,Xt), F(t,Xt)

  • B: Термин первого порядка, B(t,Xt), F(t,Xt)

A и B позвольте вам запросить исходные входные параметры. Функция сохранена в Rate полностью инкапсулирует совместное воздействие A и B.

Когда задано как двойные массивы MATLAB®, входные параметры A и B ясно сопоставлены с линейным уровнем дрейфа параметрическая форма. Однако определение любого A или B когда функция позволяет вам настраивать фактически любую спецификацию уровня дрейфа.

Примечание

Можно описать drift и diffusion классы в самой общей форме, чтобы подчеркнуть функциональное (t, Xt) интерфейс. Однако можно задать компоненты A и B как функции, которые придерживаются общего (t, Xt) интерфейс, или как массивы MATLAB соответствующей размерности.

Пример: F = drift(0, 0.1) % Drift rate function F(t,X)

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

Это свойство доступно только для чтения.

Компонент уровня диффузии непрерывного времени стохастические дифференциальные уравнения (SDEs) в виде дрейфа возражает или функция, доступная (t, Xt.

Спецификация уровня диффузии поддерживает симуляцию демонстрационных путей NVars переменные состояния управляются NBROWNS Источники броуновского движения риска по NPeriods последовательные периоды наблюдения, аппроксимируя стохастические процессы непрерывного времени.

diffusion класс позволяет вам создавать объекты уровня диффузии (использующий diffusion):

G(t,Xt)=D(t,Xtα(t))V(t)

где:

  • D NVars- NVars диагональная функция с матричным знаком.

  • Каждый диагональный элемент D соответствующий элемент вектора состояния, повышенного до соответствующего элемента экспоненты Alpha, который является NVars- 1 функция с векторным знаком.

  • V NVars- NBROWNS уровень энергозависимости с матричным знаком функционирует Sigma.

  • Alpha и Sigma также доступное использование (t, Xt) интерфейс.

Отображенные параметры для diffusion объект:

  • Rate: Функция уровня диффузии, G(t,Xt).

  • Alpha: Экспонента вектора состояния, которая определяет формат D(t,Xt) G(t,Xt).

  • Sigma: Уровень энергозависимости, V(t,Xt), G(t,Xt).

Alpha и Sigma позвольте вам запросить исходные входные параметры. (Совместное воздействие отдельного Alpha и Sigma параметры полностью инкапсулируются функцией, сохраненной в Rate.) Rate функции являются механизмами вычисления для drift и diffusion объекты, и являются единственными параметрами, требуемыми для симуляции.

Примечание

Можно описать drift и diffusion классы в самой общей форме, чтобы подчеркнуть функциональное (t, Xt) интерфейс. Однако можно задать компоненты A и B как функции, которые придерживаются общего (t, Xt) интерфейс, или как массивы MATLAB соответствующей размерности.

Пример: G = diffusion(1, 0.3) % Diffusion rate function G(t,X)

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

Функции объекта

interpolateБроуновская интерполяция стохастических дифференциальных уравнений
simulateСимулируйте многомерные стохастические дифференциальные уравнения (SDEs)
simByEulerЭйлерова симуляция стохастических дифференциальных уравнений (SDEs)

Примеры

свернуть все

Создайте SDE объект obj представлять одномерную модель геометрического броуновского движения формы: dXt=0.1Xtdt+0.3XtdWt.

Создайте дрейф и функции диффузии, которые доступны общим (t,Xt) интерфейс:

F = @(t,X) 0.1 * X;
G = @(t,X) 0.3 * X;

Передайте функции sde создать объект (obj) из класса sde:

obj = sde(F, G)    % dX = F(t,X)dt + G(t,X)dW
obj = 
   Class SDE: Stochastic Differential Equation
   -------------------------------------------
     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

obj отображения как структура MATLAB®, со следующей информацией:

  • Класс объекта

  • Краткое описание объекта

  • Сводные данные размерности модели

Отображенные параметры объекта следующие:

  • StartTime: Начальное время наблюдения (скаляр с действительным знаком)

  • StartState: Вектор начального состояния (NVARS- 1 вектор-столбец)

  • Correlation: Структура корреляции между Броуновским процессом

  • Drift: Функция уровня дрейфа F(t,Xt)

  • Diffusion: Функция уровня диффузии G(t,Xt)

  • Simulation: Метод симуляции или функция.

Из этих отображенных параметров, только Drift и Diffusion требуются входные параметры.

Единственное исключение к (t, Xt) интерфейсом оценки является Correlation. А именно, когда вы вводите Correlation как функция, механизм SDE принимает, что это - детерминированная функция времени, C(t). Это ограничение на Correlation когда детерминированная функция времени позволяет Факторам Холецкого быть вычисленными и сохраненными перед формальной симуляцией. Это несоответствие существенно улучшает производительность во время выполнения для динамических структур корреляции. Если Correlation является стохастическим, можно также включать его в архитектуре симуляции как часть более общей функции генерации случайных чисел.

Больше о

развернуть все

Алгоритмы

Когда вы задаете необходимые входные параметры как массивы, они сопоставлены с определенной параметрической формой. В отличие от этого, когда вы задаете любой необходимый входной параметр как функцию, можно настроить фактически любую спецификацию.

Доступ к выходным параметрам без входных параметров просто возвращает исходную входную спецификацию. Таким образом, когда вы вызываете эти параметры без входных параметров, они ведут себя как простые свойства и позволяют вам тестировать тип данных (удвойтесь по сравнению с функцией, или эквивалентно, статические по сравнению с динамическим) исходной входной спецификации. Это полезно для проверки и разработки методов.

Когда вы вызываете эти параметры с входными параметрами, они ведут себя как функции, производя впечатление динамического поведения. Параметры принимают время наблюдения t и вектор состояния Xt, и возвращают массив соответствующей размерности. Даже если вы первоначально задали вход как массив, sde обработки это, когда статическая функция времени и состояния, этим означает гарантировать, что все параметры доступны тем же интерфейсом.

Ссылки

[1] Aït-Sahalia, Yacine. “Тестируя Модели Непрерывного времени Точечной Процентной ставки”. Анализ Финансовых Исследований, издания 9, № 2, апрель 1996, стр 385–426.

[2] Aït-Sahalia, Yacine. “Плотность перехода для Процентной ставки и Другой Нелинейной Диффузии”. Журнал Финансов, издания 54, № 4, август 1999, стр 1361–95.

[3] Глассермен, Пол. Методы Монте-Карло в финансовой разработке. Спрингер, 2004.

[4] Оболочка, Джон. Опции, фьючерсы и Другие Производные. 7-й редактор, Prentice Hall, 2009.

[5] Джонсон, Норман Ллойд, и др. Непрерывные Одномерные распределения. 2-й редактор, Вайли, 1994.

[6] Shreve, Стивен Э. Стохастическое исчисление для финансов. Спрингер, 2004.

Введенный в R2008a
Для просмотра документации необходимо авторизоваться на сайте