Главная Блог ОПБШ. Симуляция траекторий
ОПБШ. Симуляция траекторий
Автор: q-trader   
25.05.2015 09:00

Симуляция ценовой динамики - важная часть тестирования инвестиционной стратегии. Рассмотрим, как она осуществляется в модели обобщенного процесса Блэка-Шоулза.


Казалось бы, генерация траекторий случайного процесса - довольно очевидное дело: был бы датчик случайных чисел да уравнение динамики; стоит сделать ∆t достаточно малым, и все должно получиться... Однако для достижения приемлемой точности частота дискретизации должна быть очень высокой, что требует задействования значительных вычислительных мощностей. К счастью, интегральная репрезентация ОПБШ известна в аналитическом виде, поэтому возможна точная симуляция при помощи дискретной модели:


lnPt = lnP + μt + (lnPt - ∆t - lnP - μ(t - ∆t))exp(-γ∆t) + N(½σ2(1 - exp(-2γ∆t))/γ).


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


Прежде чем перейти непосредственно к алгоритму симуляции следует пояснить одну "головоломку". Если обратиться интегральной форме:


lnPT = lnP +μT + (lnP0 - lnP)exp(-γT) + N(½σ2(1 - exp(-2γT))/γ),


можно заметить, что дисперсия процесса ½σ2(1 - exp(-2γT))/γ растет со временем. Казалось бы, из этого следует, что и при генерации ее следует увеличивать соответственно индексу t. Однако это не так. Дело в том, что стохастический процесс можно рассматривать в двух аспектах: как отдельный путь или как отдельное сечение.


Путь является частной реализацией случайной траектории с заданным начальным значением цены P0 = p, которую можно изучать, например, через ее распределение во времени, тогда как сечение процесса представляет собой распределение множества путей в пространстве цен в определенный момент времени T = t. Дисперсия сечений процесса действительно растет со временем, поскольку отдельные траектории имеют стремление к расползанию, как и предписывает интегральная форма. Однако дисперсия, используемая для порождения пути процесса - величина постоянная. На каждом шаге симуляция стартует из текущей точки пространства цен, а не из распределения, поэтому следует использовать источник шума с постоянной дисперсией. Сгенерированное таким образом множество траекторий, как раз и будет демонстрировать необходимое расползание на уровне временных сечений процесса.


Дискретную версию ОПБШ можно представить в виде следующего алгоритма:


function P = SimulateGBSP(p0, p, m, g, s, T, dt, M)


N = T/dt;

X = zeros(N, M);

X(1, :) = log(p0);

x = log(p);

a = (m - s^2/2)*dt;

b = exp(-g*dt);


if g == 0

e = s*dt^0.5;

else

e = s*((1 - exp(-2*g*dt))/2/g)^0.5;

end


for n = 1 : N - 1

X(n + 1, :) = x + a*n + b*(X(n, :) - x - a*(n - 1)) + e*randn(1, M);

end


P = exp(X);


Данный код для системы Matlab при необходимости несложно перевести на другие языки. Я применил здесь некоторое форматирование для улучшения читаемости. При копировании через буфер обмена оно очищается, не создавая никаких проблем при практическом использовании кода.


Соответствия между обозначениями такие: p0 = P0, p = P, m = μ, g = γ, s = σ, dt = ∆t. Параметр M контролирует количество генерируемых траекторий.


Как можно заметить, выражение стоящее в теле цикла довольно сильно отличается от исходного. Связано это с тем, что для нужд симуляции удобно перейти в базис с ∆t = 1, т.е., например, из годового в дневной. В частности, происходит переход от символьного времени c начальным моментом t = 0 к индексному времени с n = 1, и далее параметры m, g, s переводятся в новый базис под именами a, b и e соответственно.


Также в функции содержится переключатель для g = 0, т.е. отсутствия реверсии, так как в этом случае дисперсия считается по другой формуле: σ2∆t.


ОПБШ


На представленном выше графике отображены 10 случайных реализаций путей обобщенного процесса Блэка-Шоулза с коэффициентом реверсии γ = 2. Можно отметить вышеупомянутое свойство "расползаемости": траектории стартуют из одной точки P0 = 200 и далее постепенно расходятся. Кроме того, в начальный момент времени актив перекуплен, поскольку P0 > P. Так как ОПБШ обладает свойством возврата к основной тенденции при γ > 0, ситуация постепенно "исправляется", что выражается в падении траекторий процесса в первый год симуляции на промежутке 0-1. После устранения перекупленности процесс начинает расти согласно основной тенденции (μ - ½σ2)T.


Интересно сравнить этот достаточно типичный вариант реверсивной динамики с обычным процессом Блэка-Шоулза, который является частным случаем обобщенной модели при γ = 0.


ОПБШ


Прежде всего в глаза бросается, насколько быстрее разбегаются пути процесса. Так же следует отметить, что, поскольку γ = 0, говорить о перекупленности актива бессмысленно, поэтому никакой начальной коррекции цен и не наблюдается.


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



 

Добавить комментарий


Защитный код
Обновить



© 2010–2012. Все права защищены.
Копирование материалов, размещенных на сайте, разрешается только с рабочей ссылкой на источник.



| О проекте |  Правовая информация |
|  Напишите нам |  Карта сайта |



  

 Новости
главные новости экономики и финансовых рынков: события, мнения, прогнозы.

 Статьи
материалы по теханализу, фундаментальному анализу, управлению капиталом (манименеджмент) и др.

 Рынки
фондовый, валютный, товарный рынки: исторические обзоры, динамика, доходность, корреляции.

 Калькуляторы
xls-калькуляторы для оптимизации размера и структуры торговой позиции; опционные калькуляторы.

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

 Архив котировок
индексы, валюты, сырье: многолетние истории котировок в форматах .xls и .txt.

 Индикаторы
ºSiX – индикатор настроения рынка на основе расчета соотношения количества опционных контрактов put и call.

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

 Словарь
толкование основных экономических, финансовых терминов, трейдерский сленг.

 Форум
обсуждение материалов сайта и любых вопросов трейдинга и инвестирования.