Броуновская интерполяция стохастических дифференциальных уравнений
Многие приложения требуют знания вектора состояния в периоды промежуточной выборки, которые изначально недоступны. Одним из способов аппроксимации этих промежуточных состояний является выполнение детерминированной интерполяции. Однако методы детерминированной интерполяции не могут зафиксировать правильное распределение вероятности в эти промежуточные моменты времени. Броуновская (или стохастическая) интерполяция фиксирует правильное совместное распределение путём выборки из условного гауссова распределения. Этот метод выборки иногда называют броуновским мостом.
Метод стохастической интерполяции по умолчанию предназначен для интерполяции в существующий временной ряд и игнорирования новых интерполированных состояний по мере поступления дополнительной информации. Этот метод является обычным понятием интерполяции, которое называется Интерполяцией без уточнения.
Альтернативно, метод интерполяции может вставлять новые интерполированные состояния в существующий временной ряд, на котором основана последующая интерполяция, посредством этого уточнения информации, доступной в последующие периоды интерполяции. Этот метод называется интерполяцией с уточнением.
Интерполяция без уточнения является более традиционным методом и наиболее полезна, когда входные ряды расположены близко по времени. В этой ситуации интерполяция без уточнения является хорошим методом вывода данных при наличии недостающей информации, но неуместна для экстраполяции. Интерполяция с уточнением более подходит, когда входной ряд широко разнесен по времени и полезен для экстраполяции.
Метод стохастической интерполяции доступен для любой модели. Однако его лучше всего проиллюстрировать с помощью броуновского процесса движения с постоянным параметром. Рассмотрим коррелированное двумерное броуновское движение (BM) модель формы:
dW1tdW2t] = αdt = 0,5 dt
Создать bm объект для представления двухмерной модели:
mu = [0.3; 0.4];
sigma = [0.2 -0.1; 0.1 -0.2];
rho = [1 0.5; 0.5 1];
obj = bm(mu,sigma,'Correlation',rho);Предполагая, что дрейф (Mu) и диффузия (Sigma) параметры пересчитываются в год, моделируют одно испытание Монте-Карло ежедневных наблюдений в течение одного календарного года (250 торговых дней):
rng default % make output reproducible dt = 1/250; % 1 trading day = 1/250 years [X,T] = simulate(obj,250,'DeltaTime',dt);
Полезно детально изучить небольшой интервал.
Интерполяция в моделируемый временной ряд с броуновским мостом:
t = ((T(1) + dt/2):(dt/2):(T(end) - dt/2));
x = interpolate(obj,t,X,'Times',T);Постройте график смоделированных и интерполированных значений:
plot(T,X(:,1),'.-r',T,X(:,2),'.-b') grid on; hold on; plot(t,x(:,1),'or',t,x(:,2),'ob') hold off; xlabel('Time (Years)') ylabel('State') title('Bi-Variate Brownian Motion: \rho = 0.5') axis([0.4999 0.6001 0.25 0.4])

На этом сюжете:
Сплошные красные и синие точки указывают на смоделированные состояния двухмерной модели.
Прямые линии, соединяющие сплошные точки, указывают промежуточные состояния, которые будут получены в результате детерминированной линейной интерполяции.
Открытые окружности указывают на интерполированные состояния.
Открытые окружности, связанные с каждым другим интерполированным состоянием, окружают сплошные точки, связанные с соответствующим моделируемым состоянием. Однако интерполированные состояния в средней точке каждого временного приращения обычно отклоняются от прямой линии, соединяющей каждую сплошную точку.
Вы можете получить дополнительную информацию о поведении стохастической интерполяции, рассматривая броуновский мост как моделирование Монте-Карло условного гауссова распределения.
В этом примере рассматривается поведение броуновского моста за один раз.
Разделение одного временного приращения длины dt на 10 субинтервалов:
mu = [0.3; 0.4]; sigma = [0.2 -0.1; 0.1 -0.2]; rho = [1 0.5; 0.5 1]; obj = bm(mu,sigma,'Correlation',rho); rng default; % make output reproducible dt = 1/250; % 1 trading day = 1/250 years [X,T] = simulate(obj,250,'DeltaTime',dt); n = 125; % index of simulated state near middle times = (T(n):(dt/10):T(n + 1)); nTrials = 25000; % # of Trials at each time
В каждом субинтервале возьмите 25000 независимых розыгрышей из гауссова распределения, обусловленного моделируемыми состояниями слева и справа:
average = zeros(length(times),1); variance = zeros(length(times),1); for i = 1:length(times) t = times(i); x = interpolate(obj,t(ones(nTrials,1)),... X,'Times',T); average(i) = mean(x(:,1)); variance(i) = var(x(:,1)); end
Постройте график среднего значения выборки и дисперсии каждой переменной состояния:
Примечание
Следующий график строит только выборку статистики первой переменной состояния, но аналогичные результаты сохраняются для любой переменной состояния.
subplot(2,1,1); hold on; grid on; plot([T(n) T(n + 1)],[X(n,1) X(n + 1,1)],'.-b') plot(times, average, 'or') hold off; title('Brownian Bridge without Refinement: Sample Mean') ylabel('Mean') limits = axis; axis([T(n) T(n + 1) limits(3:4)]); subplot(2,1,2) hold on; grid on; plot(T(n),0,'.-b',T(n + 1),0,'.-b') plot(times, variance, '.-r') hold('off'); title('Brownian Bridge without Refinement: Sample Variance') xlabel('Time (Years)') ylabel('Variance') limits = axis; axis([T(n) T(n + 1) limits(3:4)]);

Броуновская интерполяция в пределах выбранного интервала dt иллюстрирует следующее:
Условное среднее каждой переменной состояния лежит на прямолинейном сегменте между исходными моделируемыми состояниями в каждой конечной точке.
Условная дисперсия каждой переменной состояния является квадратичной функцией. Эта функция достигает максимального расстояния между конечными точками интервала и равна нулю в каждой конечной точке.
Максимальная дисперсия, хотя и зависит от фактической функции G (t, X) скорости диффузии модели, является дисперсией суммы NBrowns коррелированные гауссовы вариации, масштабированные коэффициентом dt/4.
Предыдущий график выделяет интерполяцию без уточнения, так как ни одно из интерполированных состояний не учитывает новую информацию по мере ее появления. Если бы вы выполнили интерполяцию с уточнением, новые интерполированные состояния были бы вставлены во временные ряды и доступны для последующих интерполяций на пробной основе. В этом случае все случайные розыгрыши для любого заданного времени интерполяции будут идентичными. Кроме того, график среднего значения выборки будет демонстрировать большую изменчивость, но все же будет кластеризоваться вокруг прямолинейного сегмента между исходными моделируемыми состояниями в каждой конечной точке. График дисперсии выборки, однако, будет равен нулю для всех времен интерполяции, не проявляя изменчивости.
Эта функция выполняет броуновскую интерполяцию в заданный пользователем массив временных рядов на основе метода кусочно-постоянной выборки Эйлера.
Рассмотрим векторнозначный SDE вида:
t, Xt) dWt
где:
X является NVars-by-1 вектор состояния.
F - NVars-by-1 функция векторного значения скорости дрейфа.
G представляет собой функцию с матричным значением скорости диффузии NVars-by-NBrowns.
W является NBrowns-by-1 Броуновский вектор движения.
Учитывая заданный пользователем массив временных рядов, связанный с этим уравнением, эта функция выполняет броуновскую (стохастическую) интерполяцию посредством выборки из условного гауссова распределения. Этот метод выборки иногда называют броуновским мостом.
Примечание
В отличие от методов моделирования, interpolation не поддерживает пользовательские шумовые процессы.
interpolate функция предполагает, что все параметры модели являются кусочно-постоянными, и оценивает их по последнему времени наблюдения в Times которая предшествует указанному времени интерполяции в T. Это согласуется с эйлеровым подходом моделирования Монте-Карло.
Когда время интерполяции выходит за пределы интервала, заданного Times, моделирование Эйлера экстраполирует временной ряд с использованием ближайшего доступного наблюдения.
Определенный пользователем временной ряд Paths и соответствующее наблюдение Times должны полностью соблюдаться (отсутствующие наблюдения не обозначаются NaNs).
interpolate функция предполагает, что указанный пользователем массив временных рядов Paths связан с sde объект. Например, Times и Paths входная пара является результатом начального узлового моделирования. Однако интерполяция игнорирует начальные условия sde объект (StartTime и StartState), разрешая указанный пользователем Times и Paths для приоритета входных рядов.
[1] Аит-Сахалия, Y. «Тестирование непрерывных временных моделей спотовой процентной ставки». Обзор финансовых исследований, весна 1996 года, том 9, № 2, стр. 385-426.
[2] Ait-Sahalia, Y. «Переходные плотности для процентных ставок и других нелинейных диффузий». Журнал финансов, том 54, № 4, август 1999 года.
[3] Глассерман, P. Monte Carlo Methods in Financial Engineering. Нью-Йорк, Спрингер-Верлаг, 2004.
[4] Халл, Дж. К. Опционы, фьючерсы и другие деривативы, 5-е ред. Энглвуд Клиффс, Нью-Джерси: Прентис Холл, 2002.
[5] Джонсон, Н. Л., С. Коц и Н. Балакришнан. Непрерывные одномерные распределения. Том 2, 2-й ред. Нью-Йорк, John Wiley & Sons, 1995.
[6] Шрив, С. Э. Стохастическое исчисление для финансов II: модели непрерывного времени. Нью-Йорк: Спрингер-Верлаг, 2004.