Тема: Оценка стоимости европейского опциона методом Монте-Карло
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Предметная область 6
Постановка задачи 8
Обзор литературы 9
1 Последовательные алгоритмы оценки опционов 10
1.1 Численные методы оценки опционов 10
1.2 Алгоритмы оценки опционов, основанные на методе Монте-Карло 10
1.2.1 Стохастическое дифференциальное уравнение .... 11
1.2.2 Континуальный интеграл 16
1.2.3 Дифференциальное уравнение в частных производных 20
2 Параллелизм для ускорения вычислений 24
2.1 Вычислительные мощности 24
2.2 Параллельные вычисления в MATLAB 25
2.2.1 О MATLAB и Parallel Computing Toolbox 25
2.2.2 Параллельный алгоритм в MATLAB 26
2.3 Технология параллельных вычислений OpenCL 27
2.3.1 Описание технологии OpenCL 27
2.3.2 Генератор случайных чисел 29
2.3.3 Редукция выходного массива 31
2.3.4 Структура программы на OpenCL 33
2.3.5 Параллельный алгоритм расчета опционов на OpenCL35
3 Анализ полученного ускорения вычислений 37
3.1 Ускорение в MATLAB 37
3.2 Ускорение при помощи OpenCL 40
3.3 Сравнение времени работы реализаций в MATLAB, на языке
С и OpenCL 46
Выводы 48
Заключение 50
Список литературы
📖 Введение
Метод Монте-Карло имеет применение во многих областях, как то:
• задачи финансовой математики - моделирование рыночных ситуаций;
• задачи теории игр;
• производственные задачи - моделирование сложных систем и сетей;
• задачи ядерной и статической физики, и другие.
Популярность этому методу принесла его существенная простота. Данный метод основан на теории вероятности, а конкретнее, на Центральной предельной теореме. Таким образом, ошибка вычислений, проводимых на основе этого метода, сильно зависит от количества моделируемых испытаний. Чем больше испытаний мы проводим, тем меньше ошибка, и в то же время больше временные затраты на расчеты. Тем не менее, для некоторых задач, которые требуют высокой точности вычислений, даже достаточно большое количество испытаний, проведенных в рамках метода Монте-Карло, не даст желательной точности.
Однако мы будем рассматривать применение этого метода в рамках моделирования экономических ситуаций. Обычно в таких задачах требуется спрогнозировать примерную траекторию развития рыночной ситуации. Например, нам не нужно знать сколько будет стоить акция через год с точностью до копейки, но нам нужно знать, будет ли цена на акцию расти или падать, и чем быстрее мы это узнаем, тем лучше. Таким образом, для прогнозирования в рамках экономической и финансовой области в приоритете оказывается скорость вычислений, нежели их точность. И тут оказывается полезным свойство хорошей распараллеливаемости метода Монте-Карло, путем распределения численных статических испытаний по отдельным процессорам.
В настоящее время большую популярность приобрели различные техно-логии параллельных вычислений, в том числе с использованием GPGPU (General Purpose GPU). Это связано с постоянно растущей сложностью актуальных задач, а так же с растущим объемом данных для обработки. Суть таких вычислений в том, чтобы части программы выполнялись одновременно в наборе потоков, взаимодействующих друг с другом. Использование параллельных компьютеров (компьютерных систем с набором процессоров, работающих одновременно) обосновано идеей о том, что если одному процессору на выполнение задачи требуется времени, то п процессорам на это должно потребоваться в п раз времени меньше. Но, конечно, это идеальный случай, и в реальности такого добиться не удастся. Однако, ускорить работу вполне возможно, в той или иной степени, в зависимости от алгоритма и имеющейся аппаратной системы.
Примерами технологий для параллельных вычислений могут быть OpenMP, MPI, CUDA, OpenCL. Так же в пакете прикладных программ MATLAB существует набор средств для написания параллельных алгоритмов, объединенных в MATLAB Parallel Computing Toolbox.
В данной работе будут исследоваться алгоритмы оценки европейского опциона, как примера классического вида, и азиатского, в качестве усложнения первоначальной задачи. Рассматриваемые алгоритмы, основанные на методе Монте-Карло, будут реализованы последовательно и параллельно с помощью технологий MATLAB Parallel Computing Toolbox и технологии гетерогенных вычислений OpenCL и языка С. Анализ скорости работы разных подходов и технологий будет проведен на высокопроизводительном кластере Ресурсного Центра "Вычислительный Центр СПбГУ"[4].
Опцион - вид экономических деривативов, который является достаточно гибким инструментом работы на бирже и позволяет снизить риски манипулирования активами. Подробнее опционы будут описаны в главе "Предметная область". Большую роль в теории оценки опционов сыграла статья
"The pricing of options and corporate liabilities" 1973 года (Myron Scholes, Fischer Black) [5], в которой была описана модель Блэка-Шоулза, давшая аналитическую формулу для классических, или ванильных, опционов. Но для опционов другого вида, экзотических, формулы нет, поэтому приходится использовать численные методы для приближенного нахождения цены таких опционов, что и приводит нас к методу Монте-Карло.
Таким образом, в данной работе будет исследован вопрос об оценке опционов методом Монте-Карло и ускорении соответствующих вычислений с помощью программных средств MATLAB Parallel Computing Toolbox и технологии гибридных вычислений OpenCL.
✅ Заключение
Для получения ускорения работы алгоритмов были написаны программы на MATLAB, С и OpenCL, которые запускались на высокопроизводительных кластерах. В результате измерения времени данных алгоритмов было получено различное ускорение.
Реализации на MATLAB дали хорошее ускорение, но время работы про-грамм было неудовлетворительным. Реализации на OpenCL показали чуть меньшее ускорение ввиду особенностей работы написанного для алгоритмов генератора, но время работы программ оказалось гораздо меньше.
В итоге были выполнены все поставленные задачи и сделан вывод, что ускорение расчета опционов на OpenCL имеет потенциал.



