exponenta event banner

убавляет

Модель стохастической волатильности Бейтса

Описание

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

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

Первая одномерная модель GBM модель со стохастической функцией волатильности и процессом стохастического скачка, и обычно соответствует ценовому процессу, скорость дисперсии которого регулируется второй одномерной моделью. Вторая модель - Кокс-Ингерсолл-Росс (CIR) модель диффузии квадратного корня, которая описывает эволюцию скорости дисперсии связанного GBM ценовой процесс.

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

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

    dX1t = B (t) X1tdt + X2tX1tdW1t + Y (t) X1tdNt

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

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

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

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

Создание

Описание

пример

Bates = bates(Return,Speed,Level,Volatility,JumpFreq,JumpMean,JumpVol) создать bates с опциями по умолчанию.

Поскольку модели Бейтса являются двумерными моделями, составленными из связанных одномерных моделей, все требуемые входные данные соответствуют скалярным параметрам. Укажите требуемые входные данные как один из двух типов:

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

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

Примечание

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

пример

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

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

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

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

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

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

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

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

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

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

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

При указании Return как массив, он должен быть скалярным.

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

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

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

  • A 2около-1 вектор двухмерного состояния Xt

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

Средняя скорость реверсирования процесса стохастической дисперсии CIR, заданная как массив или детерминированная функция времени.

При указании Speed как массив, он должен быть скаляром.

При указании Speed как детерминированная функция времени, вы называете Speed с действительным скалярным временем t как единственный вход, он должен возвращать скаляр.

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

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

  • A 2около-1 вектор двухмерного состояния Xt

Примечание

Хотя bates не налагает никаких ограничений на Speedсредняя скорость реверсии является неотрицательной, так что основной процесс возвращается на некоторый стабильный уровень.

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

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

При указании Level как массив, он должен быть скаляром.

При указании Level как детерминированная функция времени, вы называете Level с действительным скалярным временем t как единственный вход, он должен возвращать скаляр.

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

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

  • A 2около-1 вектор двухмерного состояния Xt

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

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

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

При указании Volatility как детерминированная функция времени, вы называете Volatility с действительным скалярным временем t как единственный вход, он должен возвращать скаляр.

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

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

  • A 2около-1 вектор двухмерного состояния Xt

Примечание

Хотя bates не налагает никаких ограничений на Volatilityволатильность обычно неотрицательна.

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

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

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

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

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

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

  • A 2около-1 вектор двухмерного состояния Xt

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

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

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

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

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

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

  • A 2около-1 вектор двухмерного состояния Xt

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

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

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

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

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

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

  • A 2около-1 вектор двухмерного состояния Xt

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

Свойства

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Определение 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Моделирование путей выборки Бейтса по аппроксимации Эйлера
simByQuadExpМоделирование путей выборки Бейтса, Хестона и CIR по схеме квадратично-экспоненциальной дискретизации
simulateМоделирование многомерных стохастических дифференциальных уравнений (SDE)
simByTransitionМоделирование путей выборки Bates с плотностью перехода

Примеры

свернуть все

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

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

AssetPrice = 80;
            Return = 0.03;
            JumpMean = 0.02;
            JumpVol = 0.08;
            JumpFreq = 0.1;
            
            V0 = 0.04;
            Level = 0.05;
            Speed = 1.0;
            Volatility = 0.2;
            Rho = -0.7;
            StartState = [AssetPrice;V0]; 
            Correlation = [1 Rho;Rho 1];

batesObj = bates(Return, Speed, Level, Volatility,...
                JumpFreq, JumpMean, JumpVol,'startstate',StartState,...
                'correlation',Correlation)
batesObj = 
   Class BATES: Bates Bivariate Stochastic Volatility
   --------------------------------------------------
     Dimensions: State = 2, Brownian = 2
   --------------------------------------------------
      StartTime: 0
     StartState: 2x1 double array 
    Correlation: 2x2 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.03
          Speed: 1
          Level: 0.05
     Volatility: 0.2
       JumpFreq: 0.1
       JumpMean: 0.02
        JumpVol: 0.08

Подробнее

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

Алгоритмы

Модель Бейтса (Bates 1996) является расширением модели Хестона и добавляет не только стохастическую волатильность, но и параметры скачка диффузии, как в Merton (1976) также были добавлены к модели внезапных движений цен активов.

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

dSt = (γ−q−λpμj) Stdt +υtStdWt+JStdPtdυt =κ (θ−υt) dt +συυtdWtυE [dWtdWtυ] = pdtprob (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).

start- начальное отклонение базового актива (start0 > 0).

λ - долгосрочный уровень дисперсии (start> 0).

δ - средняя скорость реверсирования для дисперсии (start> 0).

λ - волатильность волатильности (start, > 0).

p - корреляция между процессами Вайнера Wt и Wt (-1 ≤ p ≤ 1).

«Условие Феллера» обеспечивает положительную дисперсию: (2ü

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

Ссылки

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

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

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

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

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

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

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