Модели SDE

Введение

Большинство моделей и утилит, доступных с симуляцией Монте-Карло SDEs, представлены как MATLAB® объекты. Поэтому эта документация часто использует термины model и object взаимозаменяемо.

Однако несмотря на то, что все модели представлены как объекты, не, все объекты представляют модели. В частности, drift, diffusion объекты используются в спецификации модели, но ни один из этих типов объектов в и себя не составляет полную модель. Обычно, вы не должны создавать drift, diffusion объекты непосредственно, таким образом, вы не должны дифференцироваться между объектами и моделями. Важно, однако, изучить различие между этими терминами.

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

Создание объекты SDE

Создание объектов

Для примеров и большей информации о создании объектов SDE, см.:

Отображение объектов

  • Объекты отображаются как традиционные структуры данных MATLAB.

  • Параметры отображаемого объекта появляются как существительные, которые начинаются с прописных букв. В отличие от этого параметры, такие как simulate и interpolate появитесь как глаголы, которые начинаются со строчных букв, которые указывают на задачи выполнить.

Присвоение и параметры объекта привязки

  • Поддержка объектов, ссылающаяся похожий на структуры данных. Например, операторы как следующее допустимы:

    A = obj.A 

  • Объекты поддерживают полное присвоение параметра, похожее на структуры данных. Например, операторы как следующее допустимы:

    obj.A = 3

  • Объекты не поддерживают частичное присвоение параметра, как структуры данных делают. Поэтому операторы как следующее недопустимы:

    obj.A(i,j) = 0.3   

Создание и оценка моделей

  • Можно создать объекты любого класса модели, только если достаточно информации доступно, чтобы определить однозначно размерность модели. Поскольку каждый объект предлагает уникальные входные интерфейсы, некоторые модели запрашивают дополнительную информацию, чтобы разрешить размерность модели.

  • Вы должны только ввести требуемые входные параметры в формат заполнителя, где данный входной параметр сопоставлен с определенным положением в списке аргументов. Можно ввести дополнительные входные параметры в любой порядок как пары "имя-значение" параметра, где имя данного параметра появляется в одинарных кавычках и предшествует своему соответствующему значению.

  • Ассоциация динамического (переменного временем) поведения с вычислением функции, куда time и state (t,Xt) передаются общему, опубликованному интерфейсу, является распространяющейся в системе класса SDE. Можно использовать этот подход вычисления функции, чтобы смоделировать или создать мощную аналитику. Для простого примера смотрите Пример: Одномерные Модели GBM.

Определение параметров симуляции SDE

Механизм SDE позволяет симуляцию обобщенных многомерных стохастических процессов и обеспечивает гибкую и мощную архитектуру симуляции. Среда также предоставляет вам утилиты и классы модели, которые предлагают различные параметрические технические требования и интерфейсы. Архитектура полностью многомерна и в векторе состояния и в Броуновском движении, и предлагает и линейные и возвращающиеся среднее значение технические требования уровня дрейфа.

Можно задать большинство параметров как массивы MATLAB или как функции, доступные общим интерфейсом, который поддерживает общие динамические/нелинейные отношения, распространенные в симуляции SDE. А именно, можно симулировать коррелируемые пути любого количества переменных состояния, управляемых Броуновским движением с векторным знаком произвольной размерности. Эта симуляция аппроксимирует базовый многомерный процесс непрерывного времени с помощью стохастического разностного уравнения с векторным знаком.

Рассмотрите следующее общее стохастическое дифференциальное уравнение:

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

где:

  • X является NVars-by-1 вектор состояния переменных процесса (например, короткие уровни или цены акции), чтобы симулировать.

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

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

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

Дрейф и уровни диффузии, F и G, соответственно, являются общими функциями скалярного шага расчета с действительным знаком t и вектор состояния Xt. Кроме того, статические коэффициенты (не переменная времени) просто особый случай более общей динамической (переменной временем) ситуации, так же, как функция, может быть тривиальной константой; например, f(t,Xt) = 4. SDE в  уравнении 1 полезен в реализации производных классов, которые налагают дополнительную структуру на функции уровня диффузии и дрейф.

Определение Пользовательских Функций как Параметры модели.  Несколько примеров в этой документации подчеркивают оценку параметров объекта как функции, доступные общим интерфейсом. На самом деле можно оценить параметры объекта путем передачи им времени и состояния, независимо от того, является ли базовый заданный пользователями параметр функцией. Однако полезно сравнить поведение параметров объекта, которые заданы как функции к тому из заданного пользователями шума и функции обработки конца периода.

Параметры модели, которые заданы как функции, оценены таким же образом как заданное пользователями случайное число (шум) функции генерации. (Для получения дополнительной информации смотрите Различные типы Оценки Функций.) Параметры модели, которые заданы как функции, являются входными параметрами, чтобы удалить конструкторов Object. Заданный пользователями шум и обрабатывающие функции являются дополнительными входными параметрами к методам симуляции.

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

Поэтому несмотря на то, что параметр функционирует, заданные пользователями шумовые функции генерации и функции обработки конца периода вся доля интерфейс и подтвержден в то же начальное время и состояние (obj.StartTime и obj.StartState), функции параметра, как гарантируют, не будут вызваны только однажды симуляция как, шумовая генерация и функции обработки конца периода. На самом деле функции параметра даже не могут быть вызваны то же число раз во время данного процесса симуляции Монте-Карло.

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

Однако, если функции параметра требуют более сложной бухгалтерии, правильный способ определить, когда симуляция началась (или эквивалентно, чтобы определить, когда проверка допустимости модели завершена), должен определить, когда входное время и/или состояние отличаются с начального времени и состояния (obj.StartTime и obj.StartState, соответственно). Поскольку входное время является известным скаляром, обнаруживание изменения с начального времени вероятно лучший выбор в большинстве ситуаций. Это - общий механизм, что можно обратиться к любому типу пользовательской функции.

Оценка Различных типов Функций.  Полезно сравнить правила оценки заданных пользователями шумовых функций генерации к тем из функций обработки конца периода. У этих функций есть следующее общее:

  • Они оба совместно используют тот же общий интерфейс, возвращая вектор-столбец соответствующей длины, когда оценено в текущее время и состояние:

    Xt=f(t,Xt)

    zt=Z(t,Xt)

  • Перед симуляцией сам метод симуляции вызывает каждую функцию однажды, чтобы подтвердить размер выхода в начальное время и состояние, obj.StartTime, и obj.StartState, соответственно.

  • В процессе моделирования, вызовы метода симуляции каждая функция то же число раз: NPeriods * NSteps.

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

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

Это уравнение описывается в непрерывное время, но методы симуляции аппроксимируют модель в дискретное время как:

Xt+Δt=Xt+F(t,Xt)Δt+G(t,Xt)ΔtZ(t,Xt)

где Δt> 0 является маленьким (и не обязательно равный) период или шаг времени в будущее. Это уравнение часто упоминается как Эйлерово приближение, метод симуляции, который обеспечивает приближение дискретного времени стохастического процесса непрерывного времени. Все функции на самой правой стороне выполнены в текущее время и состояние (t, Xt).

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

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

Поэтому все методы симуляции выполняют шумовые функции генерации как:

zt=Z(t,Xt)

для t = t 0, t 0 + Δt, t 0 + 2Δt..., T – Δt.

Все же методы симуляции выполняют функции обработки конца периода как:

Xt=f(t,Xt)

для t = t 0 + Δt, t 0 + 2Δt..., T.

где t 0 и T являются начальным временем (взятый из объекта) и терминальным временем (выведенный от входных параметров до метода симуляции), соответственно. Эти оценки происходят на всех демонстрационных путях. Поэтому в процессе моделирования шумовые функции никогда не выполняются в итоговое (терминальное) время, и функции обработки конца периода никогда не выполняются в начальное (стартовое) время.

Дрейф и диффузия

Например, SDE с линейным уровнем дрейфа имеет форму:

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

где A является NVars-by-1 функцией с векторным знаком и B является NVars-by-NVars функция с матричным знаком.

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

F(t,Xt)=S(t)[L(t)Xt](3)

где S является NVars-by-NVars функция с матричным знаком скоростей возвращения к среднему уровню (то есть, уровни возвращения к среднему уровню), и L является NVars-by-1 функция с векторным знаком уровней возвращения к среднему уровню (то есть, среднего уровня длительного периода).

Точно так же рассмотрите следующую спецификацию уровня диффузии:

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

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

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

Система класса и иерархия механизма SDE используют терминологию промышленного стандарта, чтобы обеспечить упрощенные интерфейсы для многих моделей путем устанавливания прозрачных для пользователя ограничений для технических требований диффузии и дрейфа. Этот проект позволяет вам смешиванию и подгонке существующие модели, и настройте функции уровня дрейфа или уровня диффузии.

Доступные модели

Например, следующие модели являются особыми случаями общей модели SDE.

Модели SDE

Имя моделиСпецификация
Броуновское движение (BM)

dXt=A(t)dt+V(t)dWt

Геометрическое броуновское движение (GBM)

dXt=B(t)Xtdt+V(t)XtdWt

Постоянная эластичность отклонения (CEV)

dXt=B(t)Xtdt+V(t)Xtα(t)dWt

Кокс-Инджерсолл-Росс (CIR)

dXt=S(t)(L(t)Xt)dt+V(t)Xt12dWt

Hull-White/Vasicek (HWV)

dXt=S(t)(L(t)Xt)dt+V(t)dWt

Хестон

dX1t=B(t)X1tdt+X2tX1tdW1t

dX2t=S(t)[L(t)X2t]dt+V(t)X2tdW2t

Мертон

dXt=B(t,Xt)Xtdt+D(t,Xt)V(t,xt)dWt+Y(t,Xt)XtdNt

Убавляет

Убавляет модели, двумерные составные модели. Каждая модель Bates состоит из двух двойных одномерных моделей:

  • Геометрическое броуновское движение (gbm) модель со стохастической функцией энергозависимости.

    dX1t=B(t)X1tdt+X2tX1tdW1t

  • Кокс-Инджерсолл-Росс (cir) модель диффузии квадратного корня.

    dX2t=S(t)[L(t)X2t]dt+V(t)X2tdW2t

Симуляция SDE и методы интерполяции

sde класс обеспечивает симуляцию по умолчанию и методы интерполяции для всех производных классов:

  • simulate: Высокоуровневая обертка вокруг заданного пользователями метода симуляции сохранена в Simulation свойство

  • simByEuler: Эйлеров метод симуляции приближения по умолчанию

  • interpolate: Стохастический метод интерполяции (то есть, Броуниэн-Бридж)

simBySolution функция, которая симулирует приближенные решения процессов диагонального дрейфа, поддерживается для следующих классов:

Кроме того, можно также использовать:

  • simByTransition с cir объект к аппроксимирует непрерывное время модель (CIR) Кокса-Инджерсолла-Росса функцией плотности сглаживания перехода.

  • simByTransition с bates объект к аппроксимирует модель Bates непрерывного времени функцией плотности сглаживания перехода.

  • simByTransition с heston объект к аппроксимирует непрерывное время модель Хестона функцией плотности сглаживания перехода.

  • simByQuadExp с heston, bates, или cir объект сгенерировать демонстрационные пути при помощи Квадратично-экспоненциальной схемы дискретизации.

.

Смотрите также

| | | | | | | | | | | | | | | | | | | |

Связанные примеры

Больше о