Main menu

Численные методы в финансовой математике: опционы и модель Блэка-Шоулза

От законов теплопроводности к ценообразованию на Уолл-Стрит

В начале 1970-х годов в мировой экономике произошла революция, инициаторами которой стали не финансисты, а математики и физики. Фишер Блэк, Майрон Шоулз и Роберт Мертон разработали математическую модель оценки стоимости производных финансовых инструментов — опционов. Они показали, что эволюция цены опциона во времени при случайном блуждании цены базового актива (акции) описывается дифференциальным уравнением в частных производных (УЧП). Поразительно, но уравнение Блэка-Шоулза математически эквивалентно уравнению теплопроводности Фурье, где вместо распределения температуры ищется распределение вероятности цены, а вместо коэффициента теплопроводности выступает волатильность рынка.

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

Биномиальные деревья и сеточные методы

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

Вычисления начинаются с конца дерева (даты экспирации), где выплата по опциону точно известна, и путем математического ожидания с дисконтированием сворачиваются обратно к сегодняшнему дню. Этот метод прекрасно подходит для американских опционов, так как на каждом узле дерева алгоритм может проверить, не выгоднее ли исполнить опцион прямо сейчас. Для более сложных задач биномиальные деревья уступают место классическим конечно-разностным методам (метод сеток), которые мы обсуждали ранее. Уравнение Блэка-Шоулза дискретизируется с использованием неявной схемы Кранка-Николсон. Образовавшаяся при этом матрица СЛАУ является трехдиагональной и мгновенно решается методом прогонки. Комбинация этих численных алгоритмов позволяет инвестиционным банкам оценивать риски и формировать портфели в режиме реального времени, пересчитывая гигантские матрицы котировок каждую миллисекунду.

Подробнее

Решение жестких краевых задач: метод ортогональной прогонки Годунова

Вычислительная катастрофа при интегрировании

Ранее мы обсуждали решение краевых задач с помощью метода пристрелки и метода конечных разностей (прогонки). Для хорошо обусловленных систем эти алгоритмы работают безупречно. Однако в физике плазмы, теории пограничного слоя в гидродинамике и расчетах тонкостенных оболочек инженеры сталкиваются с так называемыми жесткими краевыми задачами. Эти задачи характеризуются наличием быстро растущих и быстро затухающих экспоненциальных решений.

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

Спасение через ортогонализацию

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

Алгоритм интегрирует систему независимых векторов с левого конца отрезка. Как только программа замечает, что векторы начинают «слипаться» из-за влияния жесткости (угол между ними становится слишком острым, а матрица их решений теряет обусловленность), процесс интегрирования останавливается. К текущим векторам применяется классический процесс ортогонализации Грама-Шмидта. Векторы принудительно разворачиваются под прямыми углами друг к другу, а их длины нормируются, предотвращая арифметическое переполнение. При этом алгоритм запоминает матрицы преобразования (матрицы ортогонализации). После «очистки» векторов интегрирование продолжается до следующей опасной точки. Дойдя до правого конца и удовлетворив второе краевое условие, алгоритм совершает обратный ход, используя сохраненные матрицы для восстановления истинного физического решения. Метод Годунова стал золотым стандартом надежности для расчета напряженно-деформированного состояния сложнейших оболочечных конструкций.

Подробнее

Сингулярное разложение матриц (SVD): математика рекомендательных систем и сжатия данных

Универсальный инструмент матричного анализа

В вычислительной линейной алгебре существует множество способов разложения матриц (LU, QR, спектральное разложение), однако Сингулярное Разложение (Singular Value Decomposition, SVD) занимает среди них абсолютно особое место. Если спектральное разложение применимо только к квадратным матрицам, то SVD позволяет разложить абсолютно любую прямоугольную матрицу. Эта математическая процедура стала одним из важнейших открытий XX века, заложив фундамент для современной науки о данных, обработки изображений и систем искусственного интеллекта.

Геометрический смысл сингулярного разложения потрясающе красив. Любое линейное преобразование (которое описывается матрицей) можно разбить на три простых последовательных шага. Первый шаг — это поворот исходного пространства. Второй шаг — масштабирование (растяжение или сжатие) пространства вдоль новых координатных осей. Третий шаг — еще один поворот. Матрица SVD буквально предоставляет нам матрицы этих поворотов (ортогональные матрицы сингулярных векторов) и коэффициенты растяжения (диагональную матрицу сингулярных чисел). Чем больше сингулярное число, тем больше информации или «энергии» несет соответствующее направление.

Сжатие информации и метод главных компонент (PCA)

Главная практическая ценность SVD заключается в возможности усечения. Если мы отсортируем сингулярные числа по убыванию, мы обнаружим, что во многих реальных данных первые несколько чисел огромны, а остальные быстро стремятся к нулю (шум). Если мы отбросим эти малые числа и соответствующие им векторы, мы получим матрицу меньшего ранга, которая почти идеально приближает исходную. Это математически строгий способ отделить полезный сигнал от шума.

Этот принцип лежит в основе Метод Главных Компонент (PCA) — важнейшего алгоритма снижения размерности данных. Например, черно-белое изображение лица размером 1000x1000 пикселей (миллион чисел) с помощью усеченного SVD можно сжать до передачи всего 50 векторов, и глаз человека не заметит разницы в качестве. В знаменитом конкурсе Netflix Prize с призовым фондом в миллион долларов, победу одержала команда, алгоритм которой базировался именно на SVD. Матрица, где строками были пользователи, а столбцами — фильмы, содержала огромное количество пропусков (никто не смотрел все фильмы). SVD позволило выявить скрытые (латентные) факторы вкусов пользователей и жанров фильмов, блестяще предсказывая оценки, которые пользователи поставили бы еще не просмотренным картинам.

Подробнее

Соц. сети