simByTransition

Симулируйте демонстрационные пути Хестона с плотностью перехода

Описание

пример

[Paths,Times] = simByTransition(MDL,NPeriods) симулирует NTrials демонстрационные пути Хестона двумерные модели, управляемые двумя источниками Броуновского движения риска. simByTransition аппроксимирует стохастические процессы непрерывного времени плотностью перехода.

пример

[Paths,Times] = simByTransition(___,Name,Value) задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.

Примеры

свернуть все

Симулируйте демонстрационные пути Хестона с плотностью перехода.

Задайте параметры для heston объект.

Return = 0.03;
Level = 0.05;
Speed = 1.0;
Volatility = 0.2;

AssetPrice = 80;
V0 = 0.04;
Rho = -0.7;
StartState = [AssetPrice;V0];
Correlation = [1 Rho;Rho 1];

Создайте heston объект.

hestonObj = heston(Return,Speed,Level,Volatility,'startstate',StartState,'correlation',Correlation)
hestonObj = 
   Class HESTON: Heston 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

Задайте параметры симуляции.

nPeriods = 5;   % Simulate sample paths over the next five years
Paths = simByTransition(hestonObj,nPeriods);
Paths
Paths = 6×2

   80.0000    0.0400
   92.9915    0.0343
  108.6211    0.0737
   52.9617    0.1012
   46.9805    0.1243
   54.3704    0.0571

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

свернуть все

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

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

Количество периодов симуляции в виде положительного скалярного целого числа. Значение NPeriods определяет количество строк симулированного выходного ряда.

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: [Paths,Times] = simByTransition(Heston,NPeriods,'DeltaTimes',dt)

Симулированные испытания (демонстрационные пути) NPeriods наблюдения каждый в виде разделенной запятой пары, состоящей из 'NTrials' и положительное скалярное целое число.

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

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

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

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

Количество промежуточных временных шагов в течение каждого раза постепенно увеличивает dt (заданный как DeltaTimes) в виде разделенной запятой пары, состоящей из 'NSteps' и положительное скалярное целое число.

simByTransition функциональные разделы каждый раз постепенно увеличивают dt в NSteps подынтервалы длины dt/NSteps, и совершенствовал симуляцию путем оценки симулированного вектора состояния в NSteps − 1 промежуточные точки. Несмотря на то, что simByTransition не сообщает вектор состояния вывода в этих промежуточных точках, улучшение улучшает точность, позволяя симуляции более тесно аппроксимировать базовый процесс непрерывного времени.

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

Отметьте для устройства хранения данных и метода возврата, который указывает как выходной массив Paths хранится и возвратился в виде разделенной запятой пары, состоящей из 'StorePaths' и скалярный логический флаг со значением True или False.

  • Если StorePaths True (значение по умолчанию), или не задано, затем simByTransition возвращает Paths как 3D массив временных рядов.

  • Если StorePaths False (логический 0), затем simByTransition возвращает Paths выходной массив как пустая матрица.

Типы данных: логический

Последовательность процессов конца периода или корректировок вектора состояния в виде разделенной запятой пары, состоящей из 'Processes' и функциональный или массив ячеек функций формы

Xt=P(t,Xt)

simByTransition применяет функции обработки в конце каждого периода наблюдения. Функции обработки принимают текущее время наблюдения t и вектор текущего состояния X t, и возвращают вектор состояния, который может настроить состояние ввода.

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

Типы данных: cell | function

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

свернуть все

Симулированные пути коррелированых переменных состояния, возвращенных как (NPeriods + 1)- NVars- NTrials 3D массив временных рядов.

Для данного испытания, каждой строки Paths транспонирование вектора состояния X t во время t. Когда входной флаг StorePaths = False, simByTransition возвращает Paths как пустая матрица.

Времена наблюдения сопоставлены с симулированными путями, возвращенными как (NPeriods + 1)- 1 вектор-столбец. Каждый элемент Times сопоставлен с соответствующей строкой Paths.

Больше о

свернуть все

Симуляция плотности перехода

CIR SDE не имеет никакого решения, таким образом что r (t) = f (r (0), ⋯).

Другими словами, уравнение не явным образом разрешимо. Однако плотность перехода для процесса известна.

Точная симуляция для распределения r (t _1), ⋯, r (t _n) является симуляцией процесса во времена t _1, ⋯, t _n для того же значения r (0). Плотность перехода для этого процесса известна и описывается как

r(t)=σ2(1eα(tu)4αxd2(4αeα(tu)σ2(1eα(tu))r(u)),t>uгдеd4bασ2

Модель Хестона

Модели Хестона являются двумерными составными моделями.

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

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

    dX1t=B(t)X1tdt+X2tX1tdW1t

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

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

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

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

Ссылки

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

[2] Ван Хээстречт, Александр и Антун Пелссер. "Эффективная, Почти Точная Симуляция Хестона Стохастическая Модель Энергозависимости". Международный журнал Теоретических и Прикладных Финансов. 13, № 01 (2010): 1–43.

Введенный в R2020b