bates

Убавляет стохастическую модель энергозависимости

Описание

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

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

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

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

  • Геометрическое броуновское движение (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 объект с опциями по умолчанию.

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

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

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

Примечание

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

пример

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

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

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

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

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

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

  • Diffusion — Составная функция уровня диффузии

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

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

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

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

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

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

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

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

  • 2- 1 двумерный вектор состояния Xt

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

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

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

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

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

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

  • 2- 1 двумерный вектор состояния Xt

Примечание

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

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

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

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

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

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

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

  • 2- 1 двумерный вектор состояния Xt

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

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

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

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

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

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

  • 2- 1 двумерный вектор состояния Xt

Примечание

Несмотря на то, что bates не осуществляет ограничений на Volatility, энергозависимость является обычно неотрицательной.

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

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

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

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

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

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

  • 2- 1 двумерный вектор состояния Xt

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

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

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

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

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

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

  • 2- 1 двумерный вектор состояния Xt

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

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

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

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

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

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

  • 2- 1 двумерный вектор состояния Xt

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

Свойства

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

свернуть все

Убавляет модели, двумерные составные модели, состоявшие из двух двойных и отличающихся одномерных моделей, каждый управляемый одним источником Броуновского движения риска и одним составным Пуассоновским процессом, представляющим прибытие важных событий по 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

Больше о

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

Алгоритмы

Модель Бэйтса (Бэйтс 1996) является расширением модели Хестона и добавляет не, только стохастическая энергозависимость, но также и параметры диффузии скачка как в Мертоне (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]22δ2}

Здесь:

μj является средним значением Jj>-1).

ƛp является ежегодной частотой (интенсивность) Пуассоновского процесса P tp ≥ 0).

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

θ долгосрочный уровень отклонения (θ> 0).

κ скорость возвращения к среднему уровню для отклонения (κ> 0).

συ является энергозависимостью энергозависимости (συ> 0).

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

"Условие лесоруба" гарантирует положительное отклонение: (2κθ> συ2).

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

Ссылки

[1] Aït-Sahalia, Yacine. “Тестируя Модели Непрерывного времени Точечной Процентной ставки”. Анализ Финансовых Исследований 9, № 2 (апрель 1996): 385–426.

[2] Aït-Sahalia, Yacine. “Плотность перехода для Процентной ставки и Другой Нелинейной Диффузии”. Журнал Финансов 54, № 4 (август 1999): 1361–95.

[3] Глассермен, Пол. Методы Монте-Карло в финансовой разработке. Нью-Йорк: Springer-Verlag, 2004.

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

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

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

Введенный в R2020a