• strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Declaration of views_handler_field::query() should be compatible with views_handler::query($group_by = false) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_field.inc on line 1148.
  • strict warning: Declaration of content_handler_field::element_type() should be compatible with views_handler_field::element_type($none_supported = false, $default_empty = false, $inline = false) in /home/forex/sites/0-forex.ru/sites/all/modules/cck/includes/views/handlers/content_handler_field.inc on line 229.
  • strict warning: Declaration of views_handler_argument::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_argument.inc on line 917.
  • strict warning: Declaration of views_handler_argument::query() should be compatible with views_handler::query($group_by = false) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_argument.inc on line 917.
  • strict warning: Declaration of views_handler_sort::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_sort.inc on line 165.
  • strict warning: Declaration of views_handler_sort::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_sort.inc on line 165.
  • strict warning: Declaration of views_handler_sort::query() should be compatible with views_handler::query($group_by = false) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_sort.inc on line 165.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_filter.inc on line 599.
  • strict warning: Declaration of views_handler_filter::query() should be compatible with views_handler::query($group_by = false) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_filter.inc on line 599.
  • strict warning: Declaration of views_handler_relationship::query() should be compatible with views_handler::query($group_by = false) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_relationship.inc on line 149.
  • strict warning: Declaration of views_handler_area::query() should be compatible with views_handler::query($group_by = false) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_area.inc on line 81.
  • strict warning: Declaration of views_handler_area_text::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/handlers/views_handler_area_text.inc on line 121.
  • strict warning: Declaration of views_plugin_argument_validate::options_submit() should be compatible with views_plugin::options_submit($form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/plugins/views_plugin_argument_validate.inc on line 87.
  • strict warning: Declaration of views_plugin_argument_validate_taxonomy_term::options_submit() should be compatible with views_plugin_argument_validate::options_submit(&$form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc on line 165.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Declaration of date_handler_field_multiple::pre_render() should be compatible with content_handler_field_multiple::pre_render($values) in /home/forex/sites/0-forex.ru/sites/all/modules/date/date/date_handler_field_multiple.inc on line 185.
  • strict warning: Declaration of views_plugin_query::options_submit() should be compatible with views_plugin::options_submit($form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/plugins/views_plugin_query.inc on line 181.
  • strict warning: Declaration of views_plugin_style_default::options() should be compatible with views_object::options() in /home/forex/sites/0-forex.ru/sites/all/modules/views/plugins/views_plugin_style_default.inc on line 24.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/plugins/views_plugin_row.inc on line 136.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Declaration of views_handler_field_user::init() should be compatible with views_handler_field::init(&$view, $options) in /home/forex/sites/0-forex.ru/sites/all/modules/views/modules/user/views_handler_field_user.inc on line 50.
  • strict warning: Non-static method view::load() should not be called statically in /home/forex/sites/0-forex.ru/sites/all/modules/views/views.module on line 1118.
  • strict warning: Declaration of views_handler_filter_node_status::operator_form() should be compatible with views_handler_filter::operator_form(&$form, &$form_state) in /home/forex/sites/0-forex.ru/sites/all/modules/views/modules/node/views_handler_filter_node_status.inc on line 15.

Оценка опционов в моделях стохастической волатильности. Сергей Михайлов.

Оценка опционов в моделях стохастической волатильности. Сергей Михайлов.

1 Введение



В статье рассматриваются типичные задачи, возникающие при внебиржевой торговле сложными опционами. Цена и стратегия хеджирования для OTC опционов определяется исходя из модели (make to model). При цене опциона ~ $30M выбор и реализация модели является критической для торгующей стороны. В финансовой индустрии применяются два типа моделей. Это модели инвестиционных банков и модели хедж фондов. В моделях ИБ используется гипотеза отсутствия арбитража и определяется "справедливая" цена опциона. Хедж фонды пытаются построить более эффективные модели и генерировать прибыль за счет своих менее подготовленных оппонентов. Попробуем объяснить различие подходов, используемых в инвестиционных банках и хедж фондах, на простом примере броуновского движения. Всё многообразие стратегий хедж фондов, конечно, не сводится к этому примеру, но все такие модели явно или нет, используют гипотезу о предсказуемости некоторой переменной. Геометрическое броуновское движение определяется стохастическим дифференциальным уравнением


http://www.howtotrade.ru/image/hgimage/image001.gif


где http://www.howtotrade.ru/image/hgimage/image002.gif - цена актива, http://www.howtotrade.ru/image/hgimage/image003.gif - стандартный винеровский процесс, http://www.howtotrade.ru/image/hgimage/image004.gif - дрейф, http://www.howtotrade.ru/image/hgimage/image005.gif - волатильность. Справедливая цена опциона определяется в риск-нейтральной вероятностной мере, в которой дрейф заменяется безрисковой процентной ставкой по банковскому депозиту http://www.howtotrade.ru/image/hgimage/image006.gif и в формулу, определяющую цену опциона, не входит. В некоторых моделях хедж фондов основное внимание уделяется определению дрейфа (trend is your friend). Идентификация дрейфа - нетривиальная задача. Если посмотреть на реализации процесса при http://www.howtotrade.ru/image/hgimage/image006.gif они будут содержать ряд локальных трендов, но в тоже время матожидание цены равно http://www.howtotrade.ru/image/hgimage/image007.gif. То есть то, что на первый взгляд выглядит как тренд, может им не являться. Тем не менее, на рынке существует ликвидность моделей, исходящих из прямо противоположных предположений. В дальнейшем мы остановимся на безарбитражных моделях.




2 Инструмент



Пусть http://www.howtotrade.ru/image/hgimage/image008.gif известные даты и http://www.howtotrade.ru/image/hgimage/image002.gif цена акции или индекса в момент времени http://www.howtotrade.ru/image/hgimage/image009.gif . Тогда выплата (payout) для локально и глобально ограниченного cliquet задаётся следующим выражением


http://www.howtotrade.ru/image/hgimage/image010.gif



Она состоит из действия http://www.howtotrade.ru/image/hgimage/image011.gif (возможно взвешенного с некоторым коэффициентом http://www.howtotrade.ru/image/hgimage/image012.gif на интервале http://www.howtotrade.ru/image/hgimage/image013.gif), ограничена сверху константами http://www.howtotrade.ru/image/hgimage/image014.gif и снизу величинами http://www.howtotrade.ru/image/hgimage/image015.gif . Сумма по всем интервалам опять ограничена сверху и снизу константами http://www.howtotrade.ru/image/hgimage/image016.gif и http://www.howtotrade.ru/image/hgimage/image017.gif . В заключение может быть добавлена некоторая постоянная премия http://www.howtotrade.ru/image/hgimage/image018.gif .



Опционы cliquet являются популярным продуктом в классе производных на акции. Эти контракты привлекательны для инвесторов, так как защищают от потерь при падениях цены, в тоже время оставляя потенциал для прибылей при росте рынка. Ограничивая максимум и минимум, как в этом глобально и локально ограниченном cliquet, можно гарантировать невысокую выплату, и как следствие, умеренную стоимость контракта. С точки зрения продающей стороны, основная задача которой минимизировать рыночный риск дельта хеджированием, главным является точная оценка риска, обусловленного волатильностью. Таким образом контракт является чувствительным к принятой модели для волатильности.



3 Модель



Поясним, почему для данного инструмента, выбор модели для волатильности является критическим. Чувствительность цены опциона к волатильности измеряют через вегу. Она определяется как производная от цены по волатильности (как правило постоянной). Так как выплата cliquet не является выпуклой, как в случае обыкновенного европейского опциона, гамма - вторая производная от цены опциона по цене акции может менять знак. В точках, где гамма меняет знак, вега сильно отличается от реальной чувствительности цены опциона по отношению к изменению волатильности (Avellaneda, Levy & Para‘s (1995)). Определение риска для экзотических опционов в модели с постоянной волатильностью (Black-Scholes) может в лучшем случае привести к большим неточностям, в худшем к совершенно неправильной интерпретации.


После того как мы отказались от модели Black-Scholes для определения цены cliquet, следующими кандидатами являются модели:


- локальной волатильности



- неопределенной волатильности


- стохастической волатильности


В модели локальной волатильности цена определяется нелинейным диффузионным процессом, волатильность которого зависит от цены и времени


http://www.howtotrade.ru/image/hgimage/image019.gif.


Модель является завершённой, то есть имеется только один источник риска, который может быть полностью устранен хеджированием.


Модель локальной волатильности имеет плохую репутацию по двум причинам:


- нестабильный алгоритм численной реализации


- модель неправильно описывает динамику поверхности локальной волатильности.



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


В модели неопределенной волатильности не делается предположений о функциональной зависимости волатильности от цены и времени. Считается, что волатильность лежит в некоторых пределах. Исходя из ограничений на волатильность, определяется максимальная и минимальная цена опциона. Метод дает робастную оценку пределов изменения цены опциона. Достоинством метода является универсальность. Недостатком – широкие границы изменения цены.


В моделях стохастической волатильности для цены используется винеровский процесс с известным дрейфом и переменной волатильностью. Волатильность задаётся вторым диффузионным процессом. Между ценой и волатильностью имеется корреляция.


Среди моделей стохастической волатильности модель Хестона (Heston 1993) является очень популярной в финансовой индустрии. Цена европейских опционов задается через характеристическую функцию, которая определена в явном виде.


Достоинства:


- существует точное решение для простых Европейских опционов


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


- модель Хестона учитывает корреляцию между ценой и волатильностью, обобщает модель Black-Scholes и генерирует поверхности имплицитной волатильности с хорошей точностью совпадающие с реальными.



Недостатки:


- модель незавершённая


- параметры модели нестационарные


- недостаточный наклон поверхности имлицитной волатильности для опционов с коротким временем до экспирации.



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



4 Проект




Проект разработки и реализации стохастической модели Хестона состоял из следующих промежуточных этапов:


- реализация аналитических решений для стандартных ванильных опционов в модели Хестона и Бейтса (Хестон с добавлением прыжков в цене, описываемых пуассоновским процессом), пробуя оптимизировать численные алгоритмы по скорости, так, чтобы калибровка могла быть выполнена как можно быстрее


- аналитическое решение, решение методом Монте-Карло, и решение, полученное методом конечных разностей, сравниваются, и следующий шаг делается, когда все три метода дают одинаковые цены в пределах точности модели


- калибровка стохастической модели на стандартных опционах


- после калибровки модели - определение цен и греков для cliquet методом Монте-Карло и методом конечных разностей


- всё должно быть запрограммировано в C++, и быть готово к применению через DLL в Microsoft Excel
.



5 Модель стохастической волатильности Хестона



Модель, предложенная Хестоном, обобщает модель Black-Scholes (1973) и включает её как специальный случай. В постановке Хестона учитывается нелогнормальное распределение цен активов, эффект отрицательной корреляции волатильности и относительных доходностей, свойство волатильности возвращаться к равновесным уровням, и при этом модель Хестона имеет аналитические решения для стандартных опционов. Поверхности имплицитной волатильности, генерируемые моделью Хестона, с высокой точностью совпадают с реальными поверхностями имплицитной волатильности. Сложности возникают с оценкой опциона по риск-нейтральной мере. Так как модель незавершённая - невозможно построить безрисковый портфель из опциона и акции.


Далее описывается модель стохастической волатильности Хестона и даются некоторые детали для вычисления цен опционов.


Используются следующие обозначения:


http://www.howtotrade.ru/image/hgimage/image002.gif - спотовая цена акции, финансового индекса…..


http://www.howtotrade.ru/image/hgimage/image020.gif - вариация



http://www.howtotrade.ru/image/hgimage/image021.gif - цена европейского опциона колл


http://www.howtotrade.ru/image/hgimage/image022.gif - страйк


http://www.howtotrade.ru/image/hgimage/image023.gif - стандартные винеровские процессы


http://www.howtotrade.ru/image/hgimage/image024.gif - ставка по безрисковому депозиту


http://www.howtotrade.ru/image/hgimage/image025.gif - поток дивидендов


http://www.howtotrade.ru/image/hgimage/image026.gif - cкорость возвращения к равновесной вариации



http://www.howtotrade.ru/image/hgimage/image027.gif - равновесная вариация


http://www.howtotrade.ru/image/hgimage/image028.gif - начальная вариация


http://www.howtotrade.ru/image/hgimage/image029.gif - волатильность вариации


http://www.howtotrade.ru/image/hgimage/image030.gif - параметр корреляции


http://www.howtotrade.ru/image/hgimage/image031.gif - текущая дата


http://www.howtotrade.ru/image/hgimage/image032.gif - дата исполнения опциона.



Модель стохастической волатильности Хестона (1993) определяется двумя стохастическими уравнениями


http://www.howtotrade.ru/image/hgimage/image033.gif


http://www.howtotrade.ru/image/hgimage/image034.gif


Стохастические процессы http://www.howtotrade.ru/image/hgimage/image035.gif коррелированны http://www.howtotrade.ru/image/hgimage/image036.gif. Модель для вариации является процессом квадратного корня Feller (1951) и Cox, Ingersoll and Ross (1985). Для процесса вариация всегда положительна и если http://www.howtotrade.ru/image/hgimage/image037.gif то вариация не достигает нуля. Решение уравнения для среднего


http://www.howtotrade.ru/image/hgimage/image038.gif.


Отметим, что детерминированная часть процесса асимптотически устойчива, если http://www.howtotrade.ru/image/hgimage/image039.gif. Ясно, что положение равновесия равно http://www.howtotrade.ru/image/hgimage/image040.gif.



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


Применяя лемму Ito и стандартные арбитражные аргументы, мы получаем уравнение в частных производных Гармана


http://www.howtotrade.ru/image/hgimage/image041.gif


со следующими терминальными


http://www.howtotrade.ru/image/hgimage/image042.gif


и граничными условиями


http://www.howtotrade.ru/image/hgimage/image043.gif


где http://www.howtotrade.ru/image/hgimage/image044.gif рыночная цена риска, связанного с волатильностью.



Хестон строит решение уравнения в частных производных не прямым способом, а с использованием метода характеристических функций. Он ищет решение в форме, соответствующей модели Black-Scholes


http://www.howtotrade.ru/image/hgimage/image045.gif,


где http://www.howtotrade.ru/image/hgimage/image046.gif дельта европейского опциона колл и http://www.howtotrade.ru/image/hgimage/image047.gif является условной риск-нейтральной вероятностью, что цена на актив будет больше чем http://www.howtotrade.ru/image/hgimage/image022.gif в момент исполнения опциона. Обе вероятности http://www.howtotrade.ru/image/hgimage/image048.gif также удовлетворяют уравнению . При условии, что характеристические функции http://www.howtotrade.ru/image/hgimage/image049.gif известны, величины http://www.howtotrade.ru/image/hgimage/image048.gif определяются через обратное преобразование Фурье



http://www.howtotrade.ru/image/hgimage/image050.gif


Хестон ищет характеристические функции http://www.howtotrade.ru/image/hgimage/image049.gif в виде


http://www.howtotrade.ru/image/hgimage/image051.gif


После подстановки http://www.howtotrade.ru/image/hgimage/image049.gif в уравнении Гармана мы получаем следующие обыкновенные дифференциальные уравнения для неизвестных функций http://www.howtotrade.ru/image/hgimage/image052.gif и http://www.howtotrade.ru/image/hgimage/image053.gif:


http://www.howtotrade.ru/image/hgimage/image054.gif



http://www.howtotrade.ru/image/hgimage/image055.gif


с нулевыми начальными условиями


http://www.howtotrade.ru/image/hgimage/image056.gif


Решением системы определяется выражениями


http://www.howtotrade.ru/image/hgimage/image057.gif


где


http://www.howtotrade.ru/image/hgimage/image058.gif


6 Реализация модели стохастической волатильности Хестона



6.1 Вычисление интеграла Фурье


Обратное преобразование Фурье - критический пункт в реализации численного алгоритма оценки опциона по известной характеристической функции. Комплексные числа могут быть легко реализованы при использовании класса complex<> из C ++ стандартной библиотеки. Поскольку интеграл должен вычисляться с высокой точностью для широкого диапазона параметров (параметры стохастического процесса, различные страйки и времена экспирации), мы решили использовать адаптивную квадратуру для первой попытки. Адаптивный алгоритм может сам приспособиться к изменениям в подынтегральном выражении, избавляя от необходимости контролировать шаг интегрирования. Мы использовали адаптивный Simpson и адаптивную квадратуру Gauss-Lobatto, которые дали хорошие результаты, при этом алгоритм Gauss-Lobatto быстрее при заданной точности. Но, поиграв с моделью, мы остановились на оптимизированном методе Gauss с фиксированным шагом интегрирования для более быстрого вычисления.



6.2 Ловушки комплексного логарифма


Из-за того, что комплексный логарифм является многозначной функцией,


http://www.howtotrade.ru/image/hgimage/image059.gif


где http://www.howtotrade.ru/image/hgimage/image060.gif целое число, обычно ограничиваются его главным значением http://www.howtotrade.ru/image/hgimage/image061.gif, полагая http://www.howtotrade.ru/image/hgimage/image062.gif. Этот выбор используется в стандартной C++ log(z) функции, и она разрывная при пересечении отрицательной реальной оси.


http://www.howtotrade.ru/image/hgimage/image063.jpg http://www.howtotrade.ru/image/hgimage/image064.jpg


Рисунок 1. Реальная и мнимая части главного значения комплексного логарифма



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




7 Калибровка модели Хестона



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


Небольшое отступление. Калибровкой называют процедуру определения параметров стохастической модели. Параметры можно определять на исторических данных и на ценах торгуемых опционов. В дальнейшем описывается второй подход. Задача заключается в выборе параметров модели так, чтобы цены опционов, генерируемые стохастической моделью, как можно меньше отличались от реальных цен на рынке.



7.1 Схема калибровки


Цель калибровки состоит в минимизации квадратичной ошибки


http://www.howtotrade.ru/image/hgimage/image065.gif


где http://www.howtotrade.ru/image/hgimage/image066.gif обозначает рыночную цену на колл страйк http://www.howtotrade.ru/image/hgimage/image067.gif с экспирацией http://www.howtotrade.ru/image/hgimage/image068.gif., http://www.howtotrade.ru/image/hgimage/image069.gif цена опциона, генерируемого стохастической моделью. Для популярных индексов (S&P 500, EuroSTOXX 50, DAX) имеется около 150-200 различных опционов, отличающимися страйками и временами экспирации. Модель Хестона зависит от следующих параметров http://www.howtotrade.ru/image/hgimage/image070.gif. Функцией штрафа может быть, например расстояние до начального вектора параметров http://www.howtotrade.ru/image/hgimage/image071.gif она используется, для того, чтобы придать калибровке немного дополнительной стабильности.


Как оказалось, подходящий выбор факторов веса http://www.howtotrade.ru/image/hgimage/image072.gif является критическим для хороших результатов калибровки.



7.2 Локальная оптимизация против глобальной


Минимизация целевой функции является задачей нелинейной оптимизации с нелинейным ограничением http://www.howtotrade.ru/image/hgimage/image073.gif. Это условие гарантирует, что волатильность не может достигнуть нуля. К сожалению, целевая функция далека от того, чтобы быть выпуклой, и как оказалось, существует много локальных экстремумов. Как следствие мы решили пробовать локальные и глобальные оптимизаторы:


Локальные (детерминированные) алгоритмы.

Для градиентных алгоритмов нужно задать начальное значение для вектора параметров оптимизации http://www.howtotrade.ru/image/hgimage/image074.gif. Далее алгоритм определяет оптимальное направление и размер шага и движется вниз в пространстве параметров к локальному минимуму целевой функции. Есть ряд градиентных алгоритмов, для задач оптимизации с ограничениями. Большинство этих алгоритмов, работают стабильно и достаточно быстро, но каждый всегда имеет риск застрять в локальном минимуме. Как следствие стартовое значение параметров оптимизации является критическим.



Стохастические алгоритмы.


В отличии от градиентных, для стохастических оптимизаторов стартовое значение является несущественным (вероятно). Применяемый алгоритм отжига выбирает направление и шаг беспорядочно, "он ищет всюду". Он движется по градиенту, но может двигаться и вверх с определенной вероятностью http://www.howtotrade.ru/image/hgimage/image075.gif, которая зависит от параметра отжига. Этот параметр называют "температурой" по историческим причинам. В течение процесса оптимизации температура постепенно уменьшается. Существует ряд теорем сходимости метода, которые утверждают, что алгоритм всегда останавливается в глобальном минимуме, если процесс отжига достаточно медленен. Но, как правило, стохастические алгоритмы медленны, и в вычислительном отношении более обременительны, чем градиентные оптимизаторы.



7.3 Результаты


Мы протестировали различные градиентные оптимизаторы: оптимизатор пакета IMSL, встроенный Excel solver, который идет с Excel бесплатно, он оказался быстрым и надежным, оптимизатор пакета NAG. Нашим выбором стал оптимизатор e04wdc пакета NAG как наиболее быстрый и устойчивый. Он основан на методе последовательного квадратичного программирования. Градиентный оптимизатор используется, когда мы имеем некоторое "хорошее" начальное значение для вектора параметров оптимизации, например, если вы должны повторно калибровать модель каждый день, и поверхность волатильности существенно не изменилась.


http://www.howtotrade.ru/image/hgimage/image076.gif



Рисунок 2. Поверхность имлицитной волатильности для индекса S&P 500



http://www.howtotrade.ru/image/hgimage/image077.gif


Рисунок 3. Ошибки после калибровки модели Хестона к опционам на индекс S&P 500


Результаты калибровки модели Хестона к опционам на индекс S&P 500 оказались обнадеживающими - максимальная ошибка оказалась меньше чем 0.15 % для опционов at-the-money (рисунки 2 и 3). Градиентный оптимизатор может иногда застревать в локальном минимуме. В таких случаях или когда нет хорошего начального значения, мы использовали стохастические оптимизаторы (simulated annealing, differential evolution). Далее оказалось, то учет скачков в ценах (Хестон + Пуассон = Бейтс) не улучшает существенно качество калибровки.


8 Модель стохастической волатильности с параметрами, зависящими от времени


После столь впечатляющих результатов калибровки можно было бы радостно потирать руки, но вскоре выяснилось, что динамические свойства модели Хестона оставляют желать лучшего. В результате финансовые инженеры должны калибровать параметры модели каждый день к новым данным рынка, что не совместимо с точным описанием динамики. К тому же выпуклость поверхности волатильности, генерируемой моделью Хестона, недостаточна для коротких сроков до экспирации. Поэтому было разработано обобщение модели Хестона - модель с параметрами, зависящими от времени. Применение последней модели позволяет более точно приблизить поверхность волатильности в областях in-the-money и out-of-the-money и несколько стабилизировать параметры стохастической модели.



9 Моделирование методом Монте-Карло со скоростью звука



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

Предполагается, что характеристическая функция http://www.howtotrade.ru/image/hgimage/image078.gif стохастического процесса задана


http://www.howtotrade.ru/image/hgimage/image079.gif

Численно обращая характеристическую функцию, получаем плотность распределения http://www.howtotrade.ru/image/hgimage/image080.gif и функцию распределения http://www.howtotrade.ru/image/hgimage/image081.gif


http://www.howtotrade.ru/image/hgimage/image082.gif


http://www.howtotrade.ru/image/hgimage/image083.gif


Для генерации случайной переменной из http://www.howtotrade.ru/image/hgimage/image081.gif используем метод обратного преобразования:



генерируем равномерную случайную переменную http://www.howtotrade.ru/image/hgimage/image084.gif, а затем находим http://www.howtotrade.ru/image/hgimage/image085.gif для которого



http://www.howtotrade.ru/image/hgimage/image086.gif.


В результате получаем случайную переменную из распределения http://www.howtotrade.ru/image/hgimage/image081.gif.


Для численного обращения функции распределения используется метод Ньютона-Рафсона.


http://www.howtotrade.ru/image/hgimage/image087.gif


В качестве начального шага метода применяется переменная из нормального распределения. Отметим быструю сходимость метода. Для нахождения корня, как правило, достаточно 2-3 итераций.

http://www.howtotrade.ru/image/hgimage/image088.gif


Рисунок 4. Сходимость точного и дискретного методов

На рисунке 4 представлена сходимость точного и дискретного методов. Преимущества точного метода особенно проявляются при вычислении цены опциона с малой ошибкой. Точный метод при этом сходится на порядок быстрее дискретного.



10 Программный пакет для моделей стохастической волатильности



Для оценки опционов в моделях стохастической волатильности разработан программный пакет. Пакет реализован на языке программирования С++, это позволяет проводить расчеты для произвольных стохастических моделей с известной характеристической функцией. При разработке пакета использовался объектно ориентированный анализ и дизайн, UML моделирование, образцы дизайна такие как мост, адаптер, посетитель, фабрика, STL и Boost библиотеки. Это позволило создать устойчивый и универсальный код и использовать библиотеку для новых стохастических моделей и финансовых инструментов. В пакет входят блоки:

* Численные алгоритмы


- Интегрирование (Gauss, adaptive Lobatto)


- Оптимизация (BFGS, DE, SA, Excel Solver)



- Интерфейс к коммерческим оптимизаторам (IMSL, NAG)


- Специальные функции (Bessel functions complex argument, gamma function)


- Случайные числа (Ran1 – Ran3, Mersenne Twister, antithetic)


- Случайные распределения (Normal, Noncentral chi-squared, Gamma, Exponential, Poisson)


* Реализация аналитических решений для стандартных ванильных опционов



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


- Модель Бейтса

- Модель Хестона с параметрами, зависящими от времени


* Калибровкa стохастической модели на стандартных опционах


* Метод Монте-Карло (Euler, predictor-corrector)


* Метод Монте-Карло (Exact)




11 Заключение


Привлекательные особенности модели стохастической волатильности Хестона:


- аналитические решения для цен стандартных Европейских опционов


- модель генерирует распределения для цен, близкие к реализуемым


- стохастическая модель учитывает отрицательную корреляцию между относительными доходностями и волатильностью


- опытным путем наблюдаемые поверхности имплицитной волатильности выглядят подобными тем, которые генерируются моделью Хестона



С другой стороны имеются некоторые недостатки и нерешенные вопросы:


- для определенных значений параметров модели численное решение становится неустойчивым


- интегралы, необходимые для вычисления цен, не всегда сходятся (что является причиной для вышеупомянутой неустойчивости)

- Модель Хестона неявно принимает во внимание систематический риск, связанный с незавершённостью модели посредством линейной спецификации

Комментарии

Очень интересная статья!

Очень интересная статья! Спасибо!)
Кстати, вместо метода отжыга рекоммендую использовать метод Кифера-Вольфовица (для оценки стохастического квазиградиента) в комбинации с адаптивными алгоритмами. Главное хорошо проекспериментировать со сглаживающими коэффициентами!)

По поводу же несходимости к глобальному максимуму/минимуму и вообще несходимости (касательно градиентных оптимизаторов), как вариант, можно рассматривать условия выполнения тех или иных теорем. А уже в зависимости от остальных выбирать люббой другой алгоритм (который, по крайней мере, имеет теоретическую вероятность не "застрять").