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

Анализ поведения стоимости ценной бумаги в будущем. Оценка банковских инвестиций с помощью прогнозных математических моделей: метода Монте-Карло и нейронных сетей. Уменьшение времени принятия решения за счет увеличения скорости формирования прогноза.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 18.07.2020
Размер файла 2,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

Курманова Карина Аскаровна

Аннотация

Целью данной выпускной квалификационной работы является построение системы предиктивного анализа банковских инвестиций с использованием технологий суперкомпьютерного моделирования. При использовании банком алгоритмической торговли, в первую очередь необходимо решить задачу для предсказания поведения стоимости ценной бумаги в будущем. Оценка банковских инвестиций будет осуществляться при помощи двух прогнозных математических моделей: метода Монте-Карло (ММК) и нейронных сетей. Используя исторические данные ценной бумаги Goldman Sachs на фондовом рынке, было проведено компьютерное моделирование данных моделей. Моделирование показало, что при использовании алгоритмической торговли предпочтительнее использовать ММК. Так как котировки ценных бумаг на фондовом рынке изменяются каждую миллисекунду, скорость является преимуществом для увеличения доходности торговых операций Банка. Применяя методы параллельного программирования, можно уменьшить время принятия решения за счет увеличения скорости формирования прогноза с использованием ММК.

ОГЛАВЛЕНИЕ

инвестиции банковский стоимость модель

Введение

Глоссарий

Глава 1. Анализ современного состояния проблемы оценки эффективности банковских инвестиций

1.1 Анализ источников данных для построения системы оценивания разных классов активов

1.2 Технические требования к системе предиктивного анализа для банковских инвестиций

Глава 2. Разработка математического обеспечения системы

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

2.2 Использование метода Монте-Карло для оценки эффективности банковских инвестиций

2.3 Алгоритмические торговые стратегии для банковских инвестиций. Обоснование выбора алгоритмической стратегии при реализации системы поддержки банковских инвестиций

2.4 Компьютерное моделирование

Глава 3. Проектирование системы поддержки банковских инвестиций

3.1 Обоснование выбора средств проектирования и разработки

3.2 Разработка информационной структуры системы

3.3 Разработка структурно-функциональной схемы

3.4 Разработка пользовательского интерфейса системы

Заключение

Список использованной литературы

Приложения

Введение

Проникновение технологических продуктов для оптимизации деятельности финансового сектора в банковской индустрии в Российской Федерации происходит быстрее, чем в европейских странах. У клиентов российских банков, одних из первых в мире, появилась возможность бесконтактной оплаты (применение технологий ApplePay и т.д.), удобный онлайн-банкинг, быстрые переводы денежных средств между клиентами разных банков. Примерами банков, у которых создана высокоразвитая розничная информационная инфраструктура, являются Сбербанк Онлайн, банк Тинькофф. Все технологические изменения в банках происходят из-за высокой конкуренции с компаниями сектора финансовых технологий (Финтех). Эти компании также предоставляют высокотехнологичные сервисы своим клиентам, например - стартап Revolut. Изменения в банковской сфере обусловлены и конкуренцией между самими банками. Большое внимание уделяется вопросам повышения лояльности клиентов банков как розничного, так и корпоративного и инвестиционного бизнесов. Банки заинтересованы в увеличении безрискового дохода (транзакционный и комиссионный доходы), а также в уменьшении рискового дохода (процентный). Этим обстоятельством объясняется большой объем инвестиций в дистанционное банковское обслуживание (ДБО). Технологические изменения в банках осуществляются и для сокращения банковских издержек (сокращение персонала, увеличение операционной эффективности, снижение количества ошибок из-за человеческого фактора).

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

В выпускной квалификационной работе будут рассмотрены вопросы разработки и внедрения информационных технологий в области Trading/Asset Management. Несколько примеров: торговые роботы, использование методов статистического анализа для Human Capital Management, применение финансовой математики для решения задач управления активами банка и др. Применение высокопроизводительных вычислительных комплексов, а также технологий суперкомпьютерного моделирования все чаще используется для анализа биржевой информации и, в целом, для управления трейдерской деятельностью банка. Снижение времени принятия решений, а также повышение точности и достоверности принимаемых решений в управлении ценными бумагами является крайне актуальной задачей в деятельности финансово-кредитных организаций. Результатом проведенного исследования являются алгоритмическое и программное обеспечение системы предиктивного анализа банковских инвестиций.

Глоссарий

Алгоритмическая торговля - способ исполнения большой заявки (задача разделить данную заявку на несколько). В текущее время под этим подразумевают как реализованный на языке программирования алгоритм открытия и закрытия заявок.

Актив - в данной работе мы подразумеваем под активами ценные бумаги.

Суперкомпьютер - системы для выполнения сверхсложных задач/задач, содержащие большие объемы данных, за счет концентрации вычислительных ресурсов множества параллельно работающих компьютеров.

Торговый терминал - программно-аппаратный комплекс, позволяющий вести торги на фондовом рынке и предоставляющий финансовые данные.

Фондовый рынок - совокупность отношений на финансовом рынке, связанных с эмиссией и с объектом купли-продажи - ценными бумагами.

Алгоритм VWAP - средневзвешенная цена по объему. Внутридневной расчет, которым пользуются институциональные трейдеры для оценки, где акции торгуются относительно среднего объема за торговый день.

Глава 1. Анализ современного состояния проблемы оценки эффективности банковских инвестиций

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

1.1 Анализ источников данных для построения системы оценивания разных классов активов

Для принятия обоснованных решений по инвестированию в различные активы необходимо анализировать исторические данные по сделкам с разными типами активов.Доступ к таким данным предоставляется системами информационной поддержки торговли на бирже, так называемыми торговыми терминалами. К системам такого класса относятся: Bloomberg Terminal, Thomas Reuters Eikon, MetaStock от компании DataLink, SMARTx, QUIK и др.

Наиболее популярными компьютерными системами, позволяющими финансистам и специалистам казначейства в различных компаниях в реальном режиме времени контролировать и анализировать движение финансового рынка являются Bloomberg Terminal и Thomas Reuters. Так как данные системы предоставляют сервисы для мониторинга и анализа финансовой информации при проведении торгов на международных электронных торговых площадках, то именно эти системы целесообразно рассматривать в качестве источников данных при проектировании системы предиктивного анализа.

Таблица 1. Сравнительная таблица торговых терминалов

Торговый терминал

Биржи

Функции

Стоимость

Скорость предоставления информации

Bloomberg Terminal

Международный

Доступ к торгам, Биржевая информация, административная поддержка,

Чат и почтовый ящик для общения с пользователями,

Информация о компаниях,

Абоненты могут строить собственное программное обеспечение (через доступ к рыночной информации, BLPAPI SDKs);

Новости компаний,

Специализированная клавиатура с «горячими клавишами»

$24 000 в год

Миллисекунды

Thomson Reuters

Международный

Доступ к торгам,

Биржевая информация,

Новости о компаниях,

Получение информации в любом формате,

Также возможно строить собственное программное обеспечение через API, административная поддержка.

$ 22 000 в год

Миллисекунды

MetaStock

Международный

Доступ к торгам, административная поддержка,

Графические компоненты для отрисовки графиков,

Биржевая информация.

$1395 в месяц

Несколько раз в секунду

QUIK

Международный

Доступ к торгам,

Биржевая информация в реальном времени,

Административная поддержка,

Программирование торговых роботов,

Динамический экспорт информации,

Графическое отображение динамики торгов.

42 686 руб. в месяц

Данные запрашиваются несколько раз в секунду

SMARTx

Международный

Возможность создания торговых роботов, расширение программы плагинами,

Биржевая информация.

Доступ к торгам.

Первый месяц бесплатно, далее комиссия в зависимости от сделок

Данные обновляются раз в секунду

Рассмотрим некоторые характеристики данных систем:

- терминалы имеют клиент-серверную архитектуру. Клиентское приложение, которое используется финансовыми пользователями для взаимодействия с терминалом, является приложением Windows;

- работают под управлением Unix или Unix-подобных операционных систем;

- терминалы имеют не совсем удобные интерфейсы для пользователей,

- данные о сделках, ценах и т.п. хранятся в структурированном виде на сервере БД системы,

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

Преимуществом Bloomberg Terminal является огромное количество клиентов-пользователей системы, что позволяет его использовать для поддержки коммуникаций с компаниями, трейдерами и т.п.

В 2015 году у терминалов появился дешевый конкурент - мессенджер Symphony, идейные создатели - один из самых влиятельныхбанков на мировом рынке Goldman Sachs. Многие западные банки вложили в развитие данного мессенджера около 70 млн. долларов. Идея создания альтернативного Bloomberg Terminal решения появилась из-за того, что журналисты Bloomberg имели доступ к информации, которая была закрыта от общественности. Также терминал отслеживал онлайн действия в терминале банковских сотрудников, в системе хранилась история переписок со службой поддержки.

Бесплатную финансовую информацию можно получить посредством Yahoo Finance, Google Finance. Оба провайдера предоставляют следующую информацию о финансовом рынке: статистика торгов, котировки акций и данные об инвестициях, данные о компаниях. В основном данные приложения используются индивидуальными трейдерами.

Также у банков может быть собственная информация о финансовом состоянии их клиентов, на основании которых можно сделать дополнительные выводы для принятия инвестиционных решений.

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

1.2 Технические требования к системе предиктивного анализа для банковских инвестиций

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

Архитектура системы: клиент-серверная с сервером приложений (трехзвенная).

Разрабатываемая система структурно должна состоять из трех подсистем с возможностью расширения и масштабирования:

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

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

- подсистема администрирования.

Разрабатываемая система должна удовлетворять следующим функциональным требованиям:

Реализовывать выгрузку данных из указанных в системе источников данных;

Осуществлять очистку, преобразование и загрузку данных в систему по определенным алгоритмам;

Формировать прогнозные котировки ценных бумаг в соответствии с предложенной математической моделью;

Представлять результаты прогноза в графическом виде с использованием графиков, диаграмм, дашбордов и т.п.;

Реализовывать возможность коммуникаций пользователей системы с использованием чата;

Подсистема администрирования должна позволять осуществлять мониторинг сбоев в системе, автоматическое создание инцидента в системе HPSM с описанием инцидента и его классификацией. Рассматриваются инциденты двух типов: ошибки в логике работы системы и ошибки в данных по вине поставщика финансовой информации.

Разрабатываемая система должна удовлетворять следующим нефункциональным требованиям:

Требования к надежности системы: система должна функционировать без ошибок во время работы биржи. Время восстановления после отказа должно составлять не более 30 минут.

Требования к пользовательскому интерфейсу: Windows-интерфейс (GUI). Языки интерфейса приложения: русский и английский.

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

Требования к средствам проектирования и разработки: исходные коды должны быть реализованы на языке Python.

Стадии и этапы разработки системы:

Постановка задачи;

Определение и уточнение требований к техническим средствам;

Технико-экономическое обоснование разработки системы;

Согласование и утверждение, прием в реализацию технического задания;

Проектирование ИТ-архитектуры системы (бизнес-архитектура, информационная архитектура, функциональная архитектура);

Тестирование процесса получения данных из открытых источников;

Разработка интерфейса для пользователя, а также интерфейса для администратора системы;

Разработка и тестирование подсистемы безопасности (Кибербезопасность);

Тестирование системы пользователями и администраторами системы;

Исправление недостатков (при наличии);

Реализация системы и ввод в промышленную эксплуатацию для сотрудников.

Порядок оформления и предоставления работ: разработчик ведет проект на серверах Банка; после окончания разработки и завершения всех этапов тестирования системы Банк принимает решение о вводе системы в промышленную эксплуатацию для банковских сотрудников.

Глава 2. Разработка математического обеспечения системы

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

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

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

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

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

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

Выгрузим исторические данные по ценной бумаге Goldman Sachs за период, начиная с 04.05.1999 - 16.05.2020. В наборе данных представлена следующая информация по котировке акции: High, Low, Volume, Open, Close и Adj Close (исходные данные прикреплены в приложении).

При помощи языка программирования Python будем строить прогноз. Импортируем необходимые библиотеки (Tensorflow, os, matplotlib, numpy и pandas) и исторические данные ценной бумаги GS (программный код прикреплен в приложении).

В связи с тем, что данные предоставлены по дню, будем строить прогноз поведения ценной бумаги в течение следующих 90 дней. То есть, до следующей выплаты дивидендов Банком, так как значение выплаты дивидендов влияет на будущее значение ценной бумаги. По причине того, что много факторов влияет на выплату дивидендов, мы не можем заранее узнать ее значение. Всего в нашем наборе данных имеется 5294 значений, первые - 2647 будут обучающим набором данных, а остальные - проверочным набором данных.

Устанавливаем seed для обеспечения повторяемости результатов.

Сначала будем обучать модель, используя только одну особенность (Adj Close), и использовать ее для прогнозирования в будущем.

Рисунок 1. Данные по Adj Close ценной бумаги GS по времени

По осям координат: x - дата, y - значение Adj Close на определенную дату.

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

Для следующих графиков по осям будет следующая информация: формирование целевого значения (Y) для работы для двух временных рядов (одномерного и многомерного) одинаковое: целевое значение составляется на основе признака в первой модели - Adj Close. Разница только в сформированном наборе признаков, которые даются на вход модели: в случае с одномерным временным рядом для прогнозирования будущего значения входные данные (X) состоят только из признака: Adj Close; а для второго ряда - будем брать показатели волатильности, такие как High, Low and Volume.

Создаем данные для одномерной модели. Для модели будут даны последние 100 значений ценной бумаги, для того чтобы модель научилась прогнозировать следующее значение по времени.

После создания данных, рассмотрим следующий пример. Информация, которая была передана в сеть (выделено синим цветом на графике) и она должна предугадать значение в красном кресте. По оси x - Time step (временной интервал).

Рисунок 2. Значение, которое должна предсказать нейронная сеть

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

Рисунок 3. Прогнозирование при помощи метода базовой линии

Далее используем рекуррентную нейронную сеть. Такая нейронная сеть постепенно обрабатывает временный ряд, поддерживая и суммируя содержащуюся информацию. Будем использовать следующую разновидность архитектуры нейронной сети - Long short-term memory (LTSM). Одно из преимуществ данной модели заключается в том, что она запоминает информацию на протяжении длительного времени, и, следовательно, данные сети практически нет необходимости обучать.

«Сеть имеет следующую архитектуру:

[1.1]

[1.2]

[1.3]

[1.4]

[1.5]

[1.6]

Переменные:

- выходной вектор.

» [1].

На рисунке 4 по оси y - наши стандартизированные данные (Adj Close), по оси x - временной интервал (построенный прогноз на одно значение в будущем).

Рисунок 4. Прогнозирование временного ряда с использованием простой модели LTSM

Рисунок 4 показывает точность прогноза с применением машинного обучения. Наша нейронная сеть работает с последовательностями, подаваемые на вход модели данные имеют следующую структуру: наблюдения = 5294, временной интервал = 90, количество признаков = 1. Мы обучили данную модель, каждая эпоха проходила 2674 шагов (количество данных обучения). После выполнения подготовки простой LTSM-модели, мы получили следующий результат прогноза (на рисунке 4).

Теперь сравниваем результат прогноза простой LTSM модели с прогнозом на базовой линии (рисунке 3). Как мы видим, что при помощи нейронных сетей наш прогноз получился точнее (синим цветом - это история, красный крест - правильное будущее значение, зеленый кружок - это предсказанное значение модели).

Дальше строим прогноз многомерного временного ряда. Сначала построим прогноз на одно будущее значение.

В качестве переменных будем рассматривать показатели волатильности: High, Low and Volume. Получаем следующие графики:

Рисунок 5. Данные по High, Low and Volume ценной бумаги GS по времени.

Когда модель обучена, сделаем пример прогноза. Модель получила историю о трех параметрах High, Low и Volume, прогноз сделан на один день в будущем, поэтому появляется разрыв между историческими данными и спрогнозированными значениями. Для алгоритмической торговли лучше ориентироваться на данную модель с одним шагом, из-за непредсказуемости фондового рынка.

На фондовом рынке уже присутствует волатильность за счет Bid/Ask (покупки/продажи) ценных бумаг, но на него также влияет человеческий фактор. Нет возможности предсказать сделки M&A (слияния и поглощения), которые повлияют на цены акций, нельзя предсказать новые регламентации от ЦБ, нет возможности предсказать действия/слова лидеров разных компаний, которые также повлияют на рынок. Кроме того, свое влияние оказывает политика, макроэкономическая обстановка и многое другое. Поэтому лучше использовать прогнозирование на один шаг, при наличии непредсказуемых обстоятельств. Можно также полагаться и на интервальный прогноз, который будет построен далее, но есть риски, что цены будут формироваться по другому сценарию.

Рисунок 6. Прогнозирование одного шага

Если на рисунке 4 мы предсказывали значение только по Adj Close, сейчас мы предсказываем на основании трех признаков (High, Volume, Low). На рисунке 6 по оси y стандартизированные значения уже по трем признакам, по оси x - временной интервал. Так как нам надо было спрогнозировать только одно значение в будущем, то и модель соответственно обучали под построение прогноза на одно будущее значение (такая модель называется Single - Step). Наша модель обучилась на основании исторических данных ценной бумаги GS. Проверяем, как точно отработала наша модель. После того, когда модель была обучена, был выполнен пробный прогноз, который показан на рисунке 6.

Красный крест - это настоящее будущее, зеленым кружком то, что предсказала наша модель, синяя линия - это исторические значения.

Также, при помощи данной модели спрогнозируем последовательность значений в будущем времени. Временной период для формирования прогноза составляет следующие 90 дней. В связи с тем, что данная задача сложнее, чем предыдущая, модель состоит из двух слоев TLSM, выходной слой составляет 90 нейронов. По оси y - наши стандартизированные данные (также три признака - High, Low, Volume), по оси x - временной шаг (в нашем случае - 5 (рабочие дни биржи)).

Рисунок 7. Предсказание для последовательности значений в будущем

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

2.2 Использование метода Монте-Карло для оценки эффективности банковских инвестиций

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

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

- модель для прогнозирования, построенная с использованием ММК, не учитывает влияние текущего финансового кризиса, который может оказать существенное воздействие на полученные результаты.

- «В текущее время метод Монте-Карло лежит в основе компьютерных программ финансового планирования, где целью является проверка осуществимости финансовых планов. Монте-Карло предполагает более широкий спектр сценариев, чем могут предоставить довольно ограниченные исторические данные. На примере облигаций, в статье «The Advantages Of Monte Carlo Simulations» было продемонстрировано преимущество использования метода при анализе облигаций. Каждый элемент данных, рассматриваемых в ММК, равнозначен, что влияет на показатели успешности инвестиционного портфеля с различными распределениями активов» [7].

ММК обладает и рядом преимуществ при решении задачи формирования прогноза стоимости ценных бумаг на финансовом рынке:

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

Метод показывает, не только какие доход/доходность мы сможем получить, но также с его помощью можно определить вероятность выполнения каждого сценария.

Моделирование цены акции Goldman Sachs методом Монте-Карло позволить нам отобразить данные в виде дэшборда для банковских сотрудников.

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

«Симуляция Монте-Карло использует результат оценки, который не зависит от риска. Рассмотрим дериватив, который зависит от единственной рыночной переменной Sё обеспечивающую выплату в момент времени T. Далее сделаем предположение, что процентные ставки постоянны, в таком случае мы сможем оценить ценную бумагу следующим образом:

Строим образец для случайных путей для цены базового актива(в оригинале - random path) для S в нейтральном к риску мире.

Рассчитываем выплату по деривативу.

Повторяем шаг 1 и шаг 2 для получения множества выборочных значений выплаты по деривативу.

Рассчитываем среднее значение выборочных выплат для получения оценки ожидаемой выплаты.

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

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

[2.1]

Где - Винеровский процесс, - ожидаемая доходность, - это волатильность.

Для моделирования пути, по которому следует S, мы можем разделить цикл дериватива на N коротких интервалов пути времени :

[2.2]

Где S(t) обозначает значение S в момент времени t, является случайной выборкой из нормального распределения со средним - нулем, и стандартным отклонением - 1.0. Это позволяет рассчитать значение в момент времени из изначального значения S, а значение во времени 2 может быть рассчитано от значения во времени и т.д. Одно моделирование включает построение полного пути для S с использованием N случайных выборок из нормального распределения.

На практике моделирование lnS оказывается точнее, чем S, из Леммы Ито процесс, который следует lnS, является:

[2.3]

И что:

[2.4]

Или эквивалентно:

]

[2.5]

Уравнение 2.5 используется для построения пути S. Если и - постоянные, то:

[2.6]

И выражение 2.6 верно для всех T. Следовательно:

[2.7]

Данное уравнение можно использовать для оценки ценных бумаг, которые обеспечивают нестандартную выплату в момент времени T. Основные преимущества моделирования методом Монте-Карло состоит в том, что его можно использовать, когда выплата зависит от пути S, по которому следует базовая переменная S, и также, когда он зависит только от конечного значения S. Выплаты могут происходить несколько раз в течение срока ценной бумаги, а не все в конце. Любой случайный процесс для S может быть приспособлен, процедура может быть расширена для учета ситуаций, когда выплата по ценной бумаге зависит от нескольких базовых рыночных переменных» [2].

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

Применяем компьютерное моделирование (программный код приведен в приложении), мы используем следующую формулу [2.7] ММК для формирования прогнозного значения ценной бумаги GS.

Применяя 10 итераций, получим 10 возможных прогнозов ожидаемой цены акций GS, временной интервал - 90 дней:

Рисунок 8. Прогнозирование методом Монте-Карло

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

Далее, в компьютерном моделировании будет использовано моделирование методом Монте-Карло для сравнения скорости построения прогноза на обычном компьютере и на суперкомпьютере. Для оптимизации скорости расчета будет применено распараллеливание, которое было указано в технических требованиях для построения системы предиктивного анализа.

2.3 Алгоритмические торговые стратегии для банковских инвестиций. Обоснование выбора алгоритмической стратегии при реализации системы поддержки банковских инвестиций

В данном разделе рассмотрим существующие алгоритмические торговые стратегии и сами алгоритмы, которые рассмотрены в книге Барри Джонсона «Алгоритмическая торговля и DMA». Автор данной книги является разработчиком программного обеспечения для количественного анализа в инвестиционном банке. Торговый алгоритм - это просто модель, которая включает в себя шаги, необходимые для торговли особым образом, с учетом таких переменных, как цена, время и объем. Компьютерные алгоритмы отправляются на исполнение небольшими порциями полного заказа. Так как рынок реагирует на любые действия в покупке/продажи ценных бумаг, то если начать исполнять большие заявки, это вызовет реакцию рынка, которая может повлиять на доходность Банка на фондовом рынке. Поэтому Банк разрабатывают алгоритмическую стратегию, чтобы разделить заявки на меньшие количества и выставлять заявки таким образом, чтобы сделка не позволяла ценам закрытия сильно отличаться от VWAP. Также для того чтобы трейдеры не следили за постоянно меняющимися котировками ценных бумаг и не делили большую заявку самостоятельно. Кроме того необходимо, чтобы модель реагировала на различные рыночные сигналы, что еще больше ее усложняет. Алгоритмическая торговля использует сложные математические модели, а также человеческий контроль для конечного принятия решений о покупке или продаже ценных бумаг на бирже. Поэтому очень важно выбрать соответствующую математическую модель для построения будущего прогноза котировки ценной бумаги. Если модель будет выбрана некорректно, Банк рискует потерять большую сумму денег по причине неправильной работы алгоритма.

«В настоящее время существуют и доступны буквально сотни разных торговых алгоритмов. Каждый брокер или вендор предоставляет свой собственный набор торговых алгоритмов, которые ориентированы на конкретные цели. Движущими силами многих из данных алгоритмов являются цены, объем или ликвидность. Некоторые алгоритмы строго придерживаются определенного графика торговли, в то время как другие могут быть более динамичными и адаптироваться в реальном времени к постоянно изменяющимся рыночным факторам. Для эффективной работы торгового алгоритма, очень важно, чтобы все цели были сформулированы четко и корректно.

Таблица 2. Типы существующих торговых алгоритмов » [3]

Переменные

Торговый алгоритм

Расписание

Время

Средневзвешенная по времени цена (Time Weighted Average Price (TWAP))

Объем

Средневзвешенная по объему цена (Volume Weighted Average Price (VWAP))

Заданный бенчмарк

Объем

Процент объема (Percentage of Volume (POV))

Цена

Дефицит реализации (Implementation of Shortfall (IS)).

Коэффициент

Pairs (парная торговля)

Spread Trading (Торговля спредом)

Динамический бенчмарк

Цена

Price Inline (Встроенная цена)

Market on close (рыночный ордер, который будет исполнен после закрытия фондовой биржи).

Ликвидность

Алгоритм на основе ликвидности

Интеллектуальная маршрутизация ордеров

Для нашей системы предиктивного анализа банковских инвестиций будем применять алгоритм VWAP (Volume Weighted Average Price), который используют институциональные инвесторы (в нашем случае - банк) для оценки поведения рынка. Как только VWAP начинает снижаться - это показатель того, что участники потеряли интерес к ценной бумаге, если возрастает - наоборот. Поэтому также важна скорость выполнения прогнозирования, чтобы успеть вовремя, купить или продать определенный актив.

«Алгоритм VWAP - индикатор для определенного промежутка времени, который представляет деление общей торговой стоимости на общую торговую сумму. Учитывая объем сделок n в день, каждая с определенной ценой и размером , мы можем вычислить ежедневный VWAP как:

[3.1]

Следовательно, крупные сделки оказывают влияние на ориентировочную цену сильнее, чем мелкие. Для VWAP необходимо торговать в правильных пропорциях. Так как они основаны на объеме торгов за день, нельзя заранее предугадать какими должны быть пропорции. Решением данной проблемы является использование исторических данных об торгуемых объемах (средние значения объема торгов за определенные промежутки времени в течение предыдущих торговых дней). Если день разбит на j периодов, то ежедневный VWAP выражается как:

[3.2]

Где - процент дневного объема торгов, а - средняя цена за каждый период. Роберт Кисселл и Мортон Гланц (2003) демонстрируют, что оптимальный график торговли для соответствия индикатору VWAP может основываться на данном проценте, т.е. целевое количество для каждого периода j:

[3.3]

Где X - общий размер ордера. Можно использовать уравнение для предопределения идеальной модели для торговли. Предполагается, что объем торговли за день следует аналогичному историческому профилю. Это является разумным предположением для многих ликвидных активов, при условии, что исторический профиль основан на достаточных данных. Время начала и конца можно указать для торговли VWAP за определенный интервал; иначе алгоритмы по умолчанию будут торговаться в течение всего торгового дня. Как правило, VWAP - приемлемый ориентир для торговли, если не применяются специфические параметры для определения цены актива». [3]

Программный код для реализации расчета VWAP:

На основании выгруженных данных из Bloomberg Terminal, будет построен график VWAP для банковских сотрудников, который будет отображен на интерфейсе пользователя в главе 3.

2.4 Компьютерное моделирование

Время выполнения реализации компьютерного моделирования ММК без распараллеливания (программный код в приложении) (10 итераций, 90 прогнозных значений без применения распараллеливания):

Используя пакет multiprocessing, данный модуль позволяет использовать несколько процессов на компьютере (программный код в приложении) Полученное время составило:

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

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

Глава 3. Проектирование системы поддержки банковских инвестиций

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

3.1 Обоснование выбора средств проектирования и разработки

В соответствии с ранее предоставленным техническим заданием (глава 1.3) разрабатываем систему для предиктивного анализа банковских инвестиций.

Под средствами проектирования будем подразумевать - комплекс инструментов, которые обеспечивают в рамках выбранного технического задания проектирования поддержку полного жизненного цикла системы предиктивного анализа для банковских инвестиций. Комплекс включает в себя: постановку задачи, определение и уточнение к требованиям ТЗ, технико-экономическое обоснование, прием в реализацию, проектирование ИТ-архитектуры, разработку интерфейсов, ИБ, тестирование, исправление недостатков, ввод в промышленную эксплуатацию. Архитектура терминала следующая: клиент-сервер с сервером, который запущен на Unix-платформе. Клиент, который используется финансовыми пользователями для взаимодействия с терминалом, является приложением Windows.

Средства управления требованиями - система Jira (оформление технического задания; назначение разработчиков, тестировщиков, администраторов системы, ответственных за внедрение; ведение всей последующей документации в рамках проекта).

В качестве средства моделирования бизнес-процесса, приложения и данных было выбрано Visio от Microsoft - графический универсальный редактор для создания диаграмм, а также блок-схем для Windows.

Средство разработки системы - язык программирования Python (IDE - Jupyter Notebook). Только разработчики имеют права вносить последующие изменения в программный код.

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

СУБД Системы - MS SQL Server.

3.2 Разработка информационной структуры системы

Архитектура имеет следующую структуру:

Рисунок 9. Трехзвенная архитектура

Предоставление данных из Bloomberg Terminal и отображение результатов прогноза в графическом виде осуществляется на стороне клиента.

Прикладной компонент (data quality check и расчет математической модели, управление ордерами и их мониторинг, обмен финансовой информацией) осуществляется на выделенном сервере приложений.

Управление рыночными данными осуществляется на сервере базы данных.

Информационная система имеет следующую структуру:

Данные в реальном времени - это данные Bloomberg Terminal, они передаются в обработку данных, оттуда в витрину и затем попадают в систему для предиктивного анализа. После этого данные передаются для отображения банковским сотрудникам.

Помимо этого, используются данные Банка для обработки бэк-офисных операций и поддержки системы администратором.

Рисунок 10. Информационная структура системы

3.3 Разработка структурно-функциональной схемы

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

Непосредственно в системе заложены торговые стратегии, настройки, User Interface, мониторинг ордеров и их исполнения, отчет о прибылях и убытках, текущие позиции. В системе ведется мониторинг и осуществляется резервное копирование ответственным администратором, ведется учет для выполнения операций бэк-офиса. Три подсистемы:

проверки и обработки данных, полученных из Bloomberg Terminal;

для администрирования системы ответственным сотрудником;

для формирования прогнозов и их визуализации для трейдеров.

Рисунок 11. Структурно-функциональная система

3.4 Разработка пользовательского интерфейса системы

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

Рисунок 12. Пользовательский интерфейс системы

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

Рисунок 13. Интерфейс для администратора системы

Заключение

В данной дипломной работе была разработана система для предиктивного анализа банковских инвестиций с использованием технологий суперкомпьютерного моделирования. Было разработано техническое задание для ввода системы в эксплуатацию Банком, выбрана алгоритмическая стратегия (VWAP), рассмотрено и реализовано несколько моделей для предиктивного анализа: использование нейронных сетей для прогнозирования временного ряда и метод Монте-Карло. При использовании алгоритмической торговли лучше использовать метод Монте-Карло, что было продемонстрировано во второй главе. В соответствии с техническим заданием необходимо использовать распараллеливание с применением суперкомпьютера, в целях увеличения скорости прогноза для принятия решения по инвестированию в ценные бумаги. Так как данные на бирже меняются в течение миллисекунды, Банку такое увеличение принесет дополнительную доходность от торговых операций.

Список использованной литературы

«Understanding LSTM Networks», Stanford University, 2015, https://web.stanford.edu/class/cs379c/archive/2018/class_messages_listing/content/Artificial_Neural_Network_Technology_Tutorials/OlahLSTM-NEURAL-NETWORK-TUTORIAL-15.pdf

Джон Халл «Опционы, фьючерсы и другие производные финансовые инструменты», 2019, Вильямс.

Барри Джонсон «Алгоритмическая торговля и DMA», 2010, 4Myeloma Press.

http://connection.ebscohost.com/c/articles/9712013898/decision-making-under-conditions-uncertainty-wakeup-call-financial-planning-profession, «Decision Making under Conditions of Uncertainty: A Wakeup Call for the Financial Planning Profession», Hopewell, Lynn, 1997 (Первое применение моделирования методом Монте-Карло в оценке производных финансовых инструментов).

Ernest P. Chan «Machine Trading: Deploying Computer Algorithms to Conquer the Markets», 2016.

Xu Zhang, Chen Li, Yasuhiko Morimoto « A Multi-factor Approach for Stock Price Prediction by using Recurrent Neural Networks», 2019.

https://www.forbes.com/sites/wadepfau/2016/06/13/the-advantages-of-monte-carlo-simulations/#582665de40c6, «The Advantages Of Monte Carlo Simulations» Wade Pfau, 2016.

https://docs.python.org/3/library/multiprocessing.html «multiprocessing -- Process-based parallelism»

Приложения

Исторические данные ценной бумаги GS:

Компьютерный код для прогнозирования временного ряда при помощи нейронных сетей:

Реализация Монте-Карло:

Размещено на Allbest.ru


Подобные документы

  • Характеристика основных методов для решения различных задач с помощью случайных последовательностей. Реализация и проверка эффективности метода Монте-Карло при его применении на различных примерах. Алгоритм метода имитации. Издержки неопределенности.

    курсовая работа [98,9 K], добавлен 04.05.2014

  • Анализ применения нейронных сетей для прогнозирования ситуации и принятия решений на фондовом рынке с помощью программного пакета моделирования нейронных сетей Trajan 3.0. Преобразование первичных данных, таблиц. Эргономическая оценка программы.

    дипломная работа [3,8 M], добавлен 27.06.2011

  • Технологии решения задач с использованием нейронных сетей в пакетах расширения Neural Networks Toolbox и Simulink. Создание этого вида сети, анализ сценария формирования и степени достоверности результатов вычислений на тестовом массиве входных векторов.

    лабораторная работа [352,2 K], добавлен 20.05.2013

  • Основные отличия нейросетей от других методов. Неформализуемые и трудно формализуемые задачи. Моделирование интеллектуальной деятельности человека. Оценка стоимости квартир в Перми с использованием нейронных сетей. Проектирование и обучение нейросети.

    презентация [139,4 K], добавлен 14.08.2013

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

    курсовая работа [1,2 M], добавлен 06.08.2013

  • Способы применения нейронных сетей для решения различных математических и логических задач. Принципы архитектуры их построения и цели работы программных комплексов. Основные достоинства и недостатки каждой из них. Пример рекуррентной сети Элмана.

    курсовая работа [377,4 K], добавлен 26.02.2015

  • Некоторые сведения теории вероятностей. Математическое ожидание, дисперсия. Точность оценки, доверительная вероятность. Сущность метода Монте-Карло. Генераторы случайных чисел. Вычисление кратных интегралов. Описание пользовательского интерфейса.

    курсовая работа [301,5 K], добавлен 08.11.2013

  • Исследование эффективности применения нейронных сетей в рамках отношений между людьми. Принцип работы с нейросимулятором. Составление обучающей выборки и проектирование персептронов. Анализ выбора супружеской пары с использованием нейросетевых технологий.

    презентация [150,8 K], добавлен 19.08.2013

  • Описание технологического процесса напуска бумаги. Конструкция бумагоделательной машины. Обоснование применения нейронных сетей в управлении формованием бумажного полотна. Математическая модель нейрона. Моделирование двух структур нейронных сетей.

    курсовая работа [1,5 M], добавлен 15.10.2012

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

    курсовая работа [64,5 K], добавлен 21.11.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.