sde

Модель Стохастического дифференциального уравнения (SDE)

Описание

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

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

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

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

где:

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

  • dWt является NBROWNS-by- 1 Брауновский вектор движения.

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

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

Создание

Описание

пример

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

пример

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

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

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

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

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

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

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

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

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

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

расширить все

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

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

  • Реальное скалярное t времени наблюдения.

  • Система координат NVars-by- 1 вектор состояния Xt.

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

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

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

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

  • Реальное скалярное t времени наблюдения.

  • Система координат NVars-by- 1 вектор состояния Xt.

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

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

Свойства

расширить все

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

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

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

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

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

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

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

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

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

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

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

Определяемая пользователем функция симуляции или SDE метод симуляции, заданный как функция или SDE метод симуляции.

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

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

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

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

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

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

где:

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

  • B является NVars-by- 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® double arrays, входы 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

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

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

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

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

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

где:

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

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

  • V является NVars-by- 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.) The 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Симулируйте многомерные стохастические дифференциальные уравнения (SDE)
simByEulerСимуляция Эйлера стохастических дифференциальных уравнений (SDE)

Примеры

свернуть все

Создайте 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-by-1 вектора-столбца)

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

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

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

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

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

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

Подробнее о

расширить все

Алгоритмы

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

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

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

Ссылки

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

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

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

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

[5] Johnson, Norman Lloyd, et al. Непрерывные одномерные распределения. 2-е изд, Уайли, 1994.

[6] Shreve, Steven E. Stochastic Calculus for Finance. Спрингер, 2004.

Введенный в R2008a