Симулируйте Убавляет демонстрационные пути с плотностью перехода
[
симулирует Paths
,Times
] = simByTransition(MDL
,NPeriods
)NTrials
из Бэйтса двумерные модели, управляемые двумя источниками Броуновского движения риска и одного составного Пуассоновского процесса, представляющего прибытие важных событий по NPeriods
последовательные периоды наблюдения. simByTransition
аппроксимирует стохастические процессы непрерывного времени плотностью перехода.
[
задает опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущем синтаксисе.Paths
,Times
] = simByTransition(___,Name,Value
)
simByTransition
с bates
ОбъектСимулируйте Убавляет демонстрационные пути с плотностью перехода.
Задайте параметры для 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];
Создайте bates
объект.
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
Задайте параметры симуляции.
nPeriods = 5; % Simulate sample paths over the next five years
Paths = simByTransition(batesObj,nPeriods);
Paths
Paths = 6×2
80.0000 0.0400
66.0422 0.1012
73.8079 0.1243
48.9742 0.0571
49.9649 0.0638
58.9553 0.0467
MDL
— Стохастическая модель дифференциального уравненияbates
объектСтохастическая модель дифференциального уравнения в виде bates
объект. Для получения дополнительной информации о создании bates
возразите, смотрите bates
.
Типы данных: object
NPeriods
— Количество периодов симуляцииКоличество периодов симуляции в виде положительного скалярного целого числа. Значение NPeriods
определяет количество строк симулированного выходного ряда.
Типы данных: double
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
[Paths,Times] = simByTransition(Bates,NPeriods,'DeltaTimes',dt)
'NTrials'
— Симулированные испытания (демонстрационные пути)
(один путь коррелированых переменных состояния) (значение по умолчанию) | положительное целое числоСимулированные испытания (демонстрационные пути) NPeriods
наблюдения каждый в виде разделенной запятой пары, состоящей из 'NTrials'
и положительное скалярное целое число.
Типы данных: double
'DeltaTimes'
— Положительное время постепенно увеличивается между наблюдениями
(значение по умолчанию) | скаляр | вектор-столбецПоложительное время постепенно увеличивается между наблюдениями в виде разделенной запятой пары, состоящей из 'DeltaTimes'
и скаляр или NPeriods
- 1
вектор-столбец.
DeltaTime
представляет знакомый dt, найденный в стохастических дифференциальных уравнениях, и определяет времена, в которые сообщают о симулированных путях переменных состояния вывода.
Типы данных: double
'NSteps'
— Количество промежуточных временных шагов
(указание ни на какую промежуточную оценку) (значение по умолчанию) | положительное целое числоКоличество промежуточных временных шагов в течение каждого раза постепенно увеличивает dt (заданный как DeltaTimes
) в виде разделенной запятой пары, состоящей из 'NSteps'
и положительное скалярное целое число.
simByTransition
функциональные разделы каждый раз постепенно увеличивают dt в NSteps
подынтервалы длины dt/NSteps
, и совершенствовал симуляцию путем оценки симулированного вектора состояния в NSteps − 1
промежуточные точки. Несмотря на то, что simByTransition
не сообщает вектор состояния вывода в этих промежуточных точках, улучшение улучшает точность, позволяя симуляции более тесно аппроксимировать базовый процесс непрерывного времени.
Типы данных: double
'StorePaths'
— Отметьте для устройства хранения данных и метода возвратаTrue
(значение по умолчанию) | логический со значениями True
или False
Отметьте для устройства хранения данных и метода возврата, который указывает как выходной массив Paths
хранится и возвратился в виде разделенной запятой пары, состоящей из 'StorePaths'
и скалярный логический флаг со значением True
или False
.
Если StorePaths
True
(значение по умолчанию), или не задано, затем simByTransition
возвращает Paths
как 3D массив временных рядов.
Если StorePaths
False
(логический 0
), затем simByTransition
возвращает Paths
выходной массив как пустая матрица.
Типы данных: логический
'Processes'
— Последовательность процессов конца периода или корректировок вектора состоянияsimByTransition
не вносит корректировок и не выполняет обработки (значение по умолчанию) | функция | массив ячеек функцийПоследовательность процессов конца периода или корректировок вектора состояния в виде разделенной запятой пары, состоящей из 'Processes'
и функциональный или массив ячеек функций формы
simByTransition
применяет функции обработки в конце каждого периода наблюдения. Функции обработки принимают текущее время наблюдения t и вектор текущего состояния X t, и возвращают вектор состояния, который может настроить состояние ввода.
Если вы задаете больше чем одну функцию обработки, simByTransition
вызывает функции в порядке, в котором они появляются в массиве ячеек.
Типы данных: cell
| function
Paths
— Симулированные пути коррелированых переменных состоянияСимулированные пути коррелированых переменных состояния, возвращенных как (NPeriods + 1)
- NVars
- NTrials
3D массив временных рядов.
Для данного испытания, каждой строки Paths
транспонирование вектора состояния X t во время t. Когда входной флаг StorePaths
= False
, simByTransition
возвращает Paths
как пустая матрица.
Times
— Времена наблюдения сопоставлены с симулированными путямиВремена наблюдения сопоставлены с симулированными путями, возвращенными как (NPeriods + 1)
- 1
вектор-столбец. Каждый элемент Times
сопоставлен с соответствующей строкой Paths
.
CIR SDE не имеет никакого решения, таким образом что r (t) = f (r (0), ⋯).
Другими словами, уравнение не явным образом разрешимо. Однако плотность перехода для процесса известна.
Точная симуляция для распределения r (t _1), ⋯, r (t _n) является симуляцией процесса во времена t _1, ⋯, t _n для того же значения r (0). Плотность перехода для этого процесса известна и описывается как
Убавляет модели, двумерные составные модели.
Каждая модель Bates состоит из двух двойных одномерных моделей:
Геометрическое броуновское движение (gbm
) модель со стохастической функцией энергозависимости и скачками.
Эта модель обычно соответствует ценовому процессу, энергозависимостью которого (уровень отклонения) управляет вторая одномерная модель.
Кокс-Инджерсолл-Росс (cir
) модель диффузии квадратного корня.
Эта модель описывает эволюцию уровня отклонения двойного процесса цены Бэйтса.
[1] Глассермен, методы Монте-Карло Пола в финансовой разработке. Нью-Йорк: Springer-Verlag, 2004.
[2] Ван Хээстречт, Александр и Антун Пелссер. "Эффективная, Почти Точная Симуляция Хестона Стохастическая Модель Энергозависимости". Международный журнал Теоретических и Прикладных Финансов. 13, № 01 (2010): 1–43.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.