exponenta event banner

Мертон

Модель диффузии перехода Мертона

Описание

merton функция создает merton , который является производным от gbm объект.

merton модель, основанная на модели Merton76, позволяет моделировать пути образцов NVars переменные состояния, управляемые NBrowns Броуновские источники движения риска и NJumps сложные пуассоновские процессы, представляющие прибытие важных событий NPeriods последовательные периоды наблюдения. Моделирование аппроксимирует непрерывное время merton стохастические процессы.

Можно моделировать любые векторные значения merton процесс формы

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

Здесь:

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

  • B (t, Xt) - это NVarsоколо-NVars матрица обобщенных ожидаемых мгновенных показателей доходности.

  • D(t,Xt) является NVarsоколо-NVars диагональная матрица, в которой каждый элемент вдоль главной диагонали является соответствующим элементом вектора состояния.

  • V(t,Xt) является NVarsоколо-NVars матрица мгновенных скоростей волатильности.

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

  • Y(t,Xt,Nt) является NVarsоколо-NJumps функция размера перехода со значением матрицы.

  • dNt является NJumpsоколо-1 подсчет вектора процесса.

Создание

Описание

пример

Merton = merton(Return,Sigma,JumpFreq,JumpMean,JumpVol) создает значение по умолчанию merton объект. Укажите требуемые входные данные как один из двух типов:

  • Массив MATLAB ®. Укажите массив для указания статической (не изменяющейся во времени) параметрической спецификации. Этот массив полностью фиксирует все сведения о реализации, которые четко связаны с параметрической формой.

  • Функция MATLAB. Укажите функцию, обеспечивающую косвенную поддержку практически любой статической, динамической, линейной или нелинейной модели. Этот параметр поддерживается интерфейсом, поскольку все детали реализации скрыты и полностью инкапсулированы функцией.

Примечание

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

пример

Merton = merton(___,Name,Value) Задает свойства, используя аргументы пары имя-значение в дополнение к входным аргументам в предыдущем синтаксисе. Заключите каждое имя свойства в кавычки.

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

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

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

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

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

  • Diffusion - Композитная функция скорости диффузии

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

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

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

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

При указании Return как массив, он должен быть NVarsоколо-NVars матрица, представляющая ожидаемую (среднюю) мгновенную норму доходности.

Если вы указываете Return как детерминированную функцию времени, то при вызове Return с действительным скалярным временем t как свой единственный вход, он должен вернуть NVarsоколо-NVars матрица.

При указании Return как детерминированная функция времени и состояния, она должна возвращать NVarsоколо-NVars при вызове матрицы с двумя входами:

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

  • Один NVarsоколо-1 вектор состояния Xt

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

Мгновенные скорости волатильности, обозначаемые как V (t, Xt), определяемые как массив, детерминированная функция времени или детерминированная функция времени и состояния.

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

При указании Sigma как детерминированная функция времени, когда вы вызываете Sigma с действительным скалярным временем t как свой единственный вход, он должен вернуть NVarsоколо-NBrowns матрица.

При указании Sigma как детерминированная функция времени и состояния, она должна возвращать NVarsоколо-NBrowns при вызове матрицы с двумя входами:

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

  • Один NVarsоколо-1 вектор состояния Xt

Примечание

Хотя merton обеспечивает отсутствие ограничений для Sigmaволатильность обычно неотрицательна.

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

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

При указании JumpFreq как массив, он должен быть NJumpsоколо-1 вектор.

При указании JumpFreq как детерминированная функция времени, когда вы вызываете JumpFreq с действительным скалярным временем t в качестве единственного входа, JumpFreq должен производить NJumpsоколо-1 вектор.

При указании JumpFreq как детерминированная функция времени и состояния, она должна возвращать NVarsоколо-NBrowns при вызове матрицы с двумя входами:

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

  • Один NVarsоколо-1 вектор состояния Xt

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

Мгновенное среднее случайного процентного скачка размеров J, где log (1 + J) обычно распределяется со средним (log (1 +JumpMean) - 0,5 × JumpVol2) и стандартное отклонение JumpVol, указанная как массив, детерминированная функция времени или детерминированная функция времени и состояния.

При указании JumpMean как массив, он должен быть NVarsоколо-NJumps матрица.

При указании JumpMean как детерминированная функция времени, когда вы определяете JumpMean с действительным скалярным временем t как свой единственный вход, он должен вернуть NVarsоколо-NJumps матрица.

При указании JumpMean как детерминированная функция времени и состояния, она должна возвращать NVarsоколо-NJumps при вызове матрицы с двумя входами:

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

  • Один NVarsоколо-1 вектор состояния Xt

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

Мгновенное стандартное отклонение log (1 + J), указанное как массив, детерминированная функция времени или детерминированная функция времени и состояния.

При указании JumpVol как массив, он должен быть NVarsоколо-NJumps матрица.

При указании JumpVol как детерминированная функция времени, когда вы вызываете JumpVol с действительным скалярным временем t как свой единственный вход, он должен вернуть NVarsоколо-NJumps матрица.

При указании JumpVol как детерминированная функция времени и состояния, она должна возвращать NVarsоколо-NJumps при вызове матрицы с двумя входами:

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

  • Один NVarsоколо-1 вектор состояния Xt

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

Свойства

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

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

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

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

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

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

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

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

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

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

При указании Correlation в качестве детерминированной функции времени можно задать динамическую корреляционную структуру.

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

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

Компонент скорости дрейфа стохастических дифференциальных уравнений непрерывного времени (SDE), указанный как drift объект или функция, доступные для (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.

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

Примечание

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

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

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

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

Компонент скорости диффузии стохастических дифференциальных уравнений непрерывного времени (SDE), указанный как drift объект или функция, доступные для (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

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

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

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

simByEulerМоделирование путей диффузионных образцов с переходом Мертона по аппроксимации Эйлера
simBySolutionСмоделировать приблизительное решение процесса диффузии диагонально-дрейфового перехода Мертона
simulateМоделирование многомерных стохастических дифференциальных уравнений (SDE)

Примеры

свернуть все

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

Создать merton объект.

AssetPrice = 80;
            Return = 0.03;
            Sigma = 0.16;
            JumpMean = 0.02;
            JumpVol = 0.08;
            JumpFreq = 2;
            
            mertonObj = merton(Return,Sigma,JumpFreq,JumpMean,JumpVol,...
                'startstat',AssetPrice)
mertonObj = 
   Class MERTON: Merton Jump Diffusion
   ----------------------------------------
     Dimensions: State = 1, Brownian = 1
   ----------------------------------------
      StartTime: 0
     StartState: 80
    Correlation: 1
          Drift: drift rate function F(t,X(t)) 
      Diffusion: diffusion rate function G(t,X(t)) 
     Simulation: simulation method/function simByEuler
          Sigma: 0.16
         Return: 0.03
       JumpFreq: 2
       JumpMean: 0.02
        JumpVol: 0.08

Подробнее

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

Алгоритмы

Модель диффузии с скачком Мертона (Merton 1976) является расширением модели Блэка-Шоулза и моделирует внезапные движения цен активов (как вверх, так и вниз), добавляя параметры диффузии с процессом Пуассона Pt.

В рамках нейтральной с точки зрения риска меры модель выражается следующим образом:

dSt = (γ q λ pmc j) Stdt + startMStdWt + JStdPtprob (dPt = 1) = λ pdt

Здесь:

ᵞ - это постоянная безрисковая ставка.

q - непрерывный дивидендный выход.

J - случайный процентный размер скачка, обусловленный происходящим скачком, где

ln (1 + J) ~ N (ln (1 + uj) − δ22, δ2

(1 + J) имеет логнормальное распределение:

1 (1 + J) δ2āexp {[ln (1 + J) (ln (1 + мкj) − δ22] 222}

Здесь:

мкj - среднее значение J (мкj > -1).

ƛp - годовая частота (интенсивность) процесса Пуассона Pt (ƛp ≥ 0).

startM - волатильность цены актива (startM > 0).

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

Ссылки

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

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

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

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

[5] Джонсон, Норман Ллойд, Сэмюэл Коц и Нараянасвами Балакришнан. Непрерывные одномерные распределения. 2-й ред. Серия Уайли в вероятностной и математической статистике. Нью-Йорк: Уайли, 1995.

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

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