exponenta event banner

heston

Описание

Создание и отображение heston , которые являются производными от sdeddo (SDE от объектов дрейфа и диффузии).

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

Модели Хестона являются двухмерными композитными моделями. Каждая модель Хестона состоит из двух связанных одномерных моделей:

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

    dX1t = B (t) X1tdt + X2tX1tdW1t

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

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

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

    Эта модель описывает эволюцию дисперсионной скорости связанного ценового процесса GBM.

Создание

Описание

пример

heston = heston(Return,Level,Speed,Volatility) создает значение по умолчанию heston объект.

Укажите требуемые входные параметры в качестве одного из следующих типов:

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

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

Примечание

При необходимости можно указать комбинации параметров ввода массива и функции.

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

пример

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

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

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

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

  • StartState - Исходное состояние при StartTime

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

При указанииVolatility как скаляр, он представляет мгновенную волатильность модели стохастической дисперсии CIR.

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

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

  • A 2около-1 вектор состояния Xt.

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

Примечание

Хотя heston не налагает ограничений на знаки ни одного из этих входных аргументов, каждый аргумент указан как положительное значение.

Свойства

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

interpolateБроуновская интерполяция стохастических дифференциальных уравнений
simulateМоделирование многомерных стохастических дифференциальных уравнений (SDE)
simByEulerEuler моделирование стохастических дифференциальных уравнений (SDE)
simByQuadExpМоделирование путей выборки Бейтса, Хестона и CIR по схеме квадратично-экспоненциальной дискретизации
simByTransitionМоделирование путей выборки Heston с плотностью перехода

Примеры

свернуть все

Хестон (heston) класс вытекает непосредственно из SDE из дрейфа и диффузии (sdeddo). Каждая модель Хестона является двухмерной композитной моделью, состоящей из двух связанных одномерных моделей:

dX1t = B (t) X1tdt + X2tX1tdW1t

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

Создать heston объект для представления модели:

dX1t=0.1X1tdt+X2tX1tdW1t

dX2t = 0,2 [0 .1-X2t] dt + 0 .05X2tdW2t

obj = heston (0.1, 0.2, 0.1, 0.05)  % (Return, Speed, Level, Volatility)
obj = 
   Class HESTON: Heston Bivariate Stochastic Volatility
   ----------------------------------------------------
     Dimensions: State = 2, Brownian = 2
   ----------------------------------------------------
      StartTime: 0
     StartState: 1 (2x1 double array) 
    Correlation: 2x2 diagonal double array 
          Drift: drift rate function F(t,X(t)) 
      Diffusion: diffusion rate function G(t,X(t)) 
     Simulation: simulation method/function simByEuler
         Return: 0.1
          Speed: 0.2
          Level: 0.1
     Volatility: 0.05

Подробнее

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

Алгоритмы

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

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

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

Ссылки

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

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

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

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

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

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

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