УДК 004.032.26
Оптимизация инвестиционного портфеля с использованием нейронных сетей
Уваров Артем Максимович – магистрант образовательно-научного кластера «Институт высоких технологий» Балтийского федерального университета им. И. Канта
Аннотация: Статья рассматривает применение глубоких нейронных сетей, в частности модели Deep Q Network (DQN), для оптимизации управления инвестиционным портфелем на российском фондовом рынке. Автор исследует процесс управления портфелем, включая выбор финансовых инструментов, сбор и обработку данных, а также обучение и тестирование модели. Он описывает создание среды и агента для обучения DQN, а также тестируют улучшенный алгоритм Gorila. Работа включает анализ финансовых данных за период с 2011 по 2023 годы, включая информацию о ценах акций, инфляции и курсах валют. Результаты исследования могут быть полезны для инвесторов и трейдеров, стремящихся оптимизировать свои инвестиционные стратегии с использованием методов машинного обучения.
Ключевые слова: московская биржа, нейронные сети, анализ, инвестиции, DQN.
Управление инвестиционным портфелем – это процесс принятия решений о постоянном перераспределении суммы портфеля в ряд различных финансовых инвестиционных продуктов, стремясь максимизировать доход и сохранить необходимый уровень риска. Традиционные способы управления портфеля включают в себя фундаментальный анализ, технический анализ и их сочетание.
Технический анализ прогнозирует изменение цены в ближайшем будущем и основывается на статистике и исторических данных. При фундаментальном анализе проводится более глубокое изучение финансово-хозяйственного состояния компании, перспектив её развития, документов, которые компания публикует о себе. Как правило, фундаментальный анализ используют для целесообразности инвестиций в ту или иную компанию, а с помощью технического анализа определяют лучший момент для заключения сделок.
Появление машинного обучения и нейронных сетей заинтересовало инвесторов и трейдеров для возможности их интегрирования в финансовые рынки. Существует достаточно много применений глубоко машинного обучения для торговли на финансовых рынках. Тем не менее, многие из них пытаются предсказать движение цены или тренда. Эти модели принимают на вход исторические цены и выдают прогнозируемый вектор цен за следующий период [1].
Однако прогнозирование будущих рыночных цен, основанное только на исторических данных является трудно реализуемой задачей. Кроме того, прогнозы цен не являются рыночными действиями и их преобразования в действия требуется дополнительного уровня логики, например, учитывание комиссии за сделки, инфляция и др.
В данной работе рассматривается применение глубоких нейронных сетей, а именно Deep Q Network (DQN), для оптимизации инвестиционного портфеля, то есть перераспределения средств между несколькими финансовыми инструментами, на Российской фондовой бирже.
Перед сбором данных будем учитывать три гипотезы:
- В качестве финансовых инструментов для модели выбираем только высоколиквидные финансовые инструменты, то есть те, объём торгов которых будет достаточен для того, чтобы можно было проводить сделки с наименьшей задержкой;
- Действия модели будут иметь нулевое влияние на рынок, то есть капитал, который будет находиться под её управлением будет незначительным, по сравнению с объёмами торгов.
- Остаток портфеля остаётся неизменным между концом предыдущего и началом следующего торговых периодов.
Было принято решение использовать данные по 16 финансовым инструментам за период с 2011-11-17 по 2023-12-28. Далее представлены их тикеры на московской финансовой бирже: SNGS, NVTK, SBERP, CHMF, GAZP, ROSN, PIKK, MAGN, SNGSP, SBER, NLMK, MGNT, GMKN, LKOH, TATN, PLZL.
Выбор финансовых инструментов обусловлен тем, что они полностью соответствуют принятым гипотезам.
В рамках данной работы для обучения и тестирования по указанным инструментам были собраны следующие данные: часовые свечи (цена открытия, цена закрытия, самая низкая цена и самая высокая, объём), данные по инфляции, курсам доллара, евро и юаня, ключевой ставки, ставки RUONIA, а также были рассчитаны некоторые технические индикаторы, такие как: EMA 50, EMA 200, BB 20 2, SRSI, OBV. Большая часть данных была собрана с помощью бесплатной версии API Московской биржи [5].
После этого была проведена очистка датасета и заполнение недостающих данных, итоговый датасет представлен на рисунках 1 и 2.
Рисунок 1. Срез итогового датасета, часть 1.
Рисунок 2. Срез итогового датасета, часть 2.
В итоговый датасет попало несколько событий («чёрные лебеди»), которые значительно повлияли на цены рассматриваемых инструментов негативным образом (рисунок 3).
Рисунок 3. Влияние «чёрных лебедей» на цену инструмента на примере SBER.
Основываясь только на выбранных признаках, без подключения фундаментального анализа, такие события предсказать практически невозможно. Тем не менее, было принято решение сделать два тестовых датасета, один – без «чёрного лебедя» (рисунок 4), а второй – с ним (рисунок 5).
Рисунок 4. График цены SBER в тестовом датасете без «чёрного лебедя».
Рисунок 5. График цены SBER в тестовом датасете с «чёрным лебедем».
Таким образом, получилось 2 набора датасетов: первый включает в себя периоды с 2011-11-17 по 2022-12-31 в тренировочном датасете и с 2023-01-01 по 2023-12-28 в тестовом датасете, а второй с 2011-11-17 по 2021-12-31 в тренировочном и с 2022-01-01 по 2022-12-31 в тестовом датасетах.
В качестве алгоритма обучения был выбран Deep-Q-Network (DQN), а архитектура нейронной сети представлена на рисунке 6 [3]. Для построения модели и обучения использовалась библиотека PyTorch [4].
Рисунок 6. Архитектура нейронной сети.
Для DQN также необходимо реализовать среду и агента.
Среда в данной работе представляет собой рынок акций. Она хранит и выдаёт текущее состояние, портфель (например, X акций SBER, Y акций TCSG и т.д.), распределение в портфеле (распределение средств в процентном соотношении между активами), значения в портфеле (денежный эквивалент каждой позиции в портфеле). Также, на основании входного тензора, представляющий действия, среда совершает нужные сделки для достижения необходимого распределения в портфеле, учитывая текущий баланс и комиссию за сделки.
Значения вышеописанных параметров при инициализации среды представлены на рисунке 7.
Рисунок 7. Параметры среды при инициализации с начальным балансом 1000000 рублей.
Агент в свою очередь принимает на вход текущее состояние среды (в данном случае это тензор размерность 320х1 со всеми признаками рассматриваемых инструментов) и на основании DQN-алгоритма выдаёт тензор с действием размерность 17х1 (16 рассматриваемых инструментов и наличные деньги) (рисунок 8).
Рисунок 8. Тензор с действием.
Кроме классического DQN алгоритма в данной работе был протестирован улучшенный алгоритм – Gorila [2]. По сути, это фреймворк для распределённого обучения с подкреплением. Он состоит из главного сервера с параметрами, который хранит в себе веса целевой нейронной сети и нескольких серверов с агентами, которые рассчитывают градиенты для своих собственных сетей в своих уникальных экземплярах сред. После каждой итерации расчёта градиентов серверы с агентами отправляют их на главный сервер с параметрами, который обновляет веса сети на основании полученных градиентов. Также, каждые несколько шагов происходит синхронизация весов целевой модели между всеми серверами.
Для подбора гиперпараметров использовался тюнинг. Происходил подбор следующих параметров: L_1 – размерность первого линейного слоя; L_2 – размерность второго линейного слоя; batch_size – размер батча; loss_fn – функция потерь; lr – коэффициент обучения; optimizer – алгоритм оптимизации; dropout_1 – коэффициент первого дропаута; dropout_2 – коэффициент второго дропаута.
Тюнинг производился два раза для разных датасетов. Результаты представлены в таблице 1.
Таблица 1. Наилучшие конфигурации сети.
Параметр |
Датасет с «чёрным лебедем» |
Датасет без «чёрного лебедя» |
L_1 |
256 |
512 |
L_2 |
512 |
128 |
batch_size |
128 |
128 |
loss_fn |
MSE |
MSE |
lr |
0,03 |
0,034 |
optimizer |
SGD |
SGD |
dropout_1 |
0,3 |
0,2 |
dropout_2 |
0,5 |
0,2 |
Классический DQN алгоритм обучался 5 раз по 5 эпох, Gorila алгоритм обучался на 2 серверах с агентами по 3 эпохи. Наилучшие результаты на тестовых датасетах после обучения представлены в таблице 2. Кроме того, в таблице также указаны значения индекса московской биржи (IMOEX), отражающие динамику всего фондового рынка для наглядного сравнения результатов обучения.
Таблица 2. Результаты обучения.
Алгоритм |
Датасет с «чёрным лебедем» |
Датасет без «чёрного лебедя» |
||||
Значение в начале |
Значение в конце |
Доходность, % |
Значение в начале |
Значение в конце |
Доходность, % |
|
Классический DQN |
1.000.000,00 |
896.411,59 |
-10,36 |
1.000.000,00 |
1.443.298,30 |
44,32 |
Gorila |
1.000.000,00 |
800.656,83 |
-19,93 |
1.000.000,00 |
1.372.733,11 |
37,27 |
IMOEX |
3.825,30 |
2.154,12 |
-43,12 |
2.157,18 |
3.099,11 |
43,87 |
Таким образом, оба алгоритма на датасете с «чёрным лебедем» показали доходность в 2 и более раз выше, чем IMOEX, а классический DQN оказался в 2 раза лучше Gorila. В датасете без «чёрного лебедя» обе модели показали хорошие результаты, однако классический алгоритм снова оказался эффективнее и смог даже незначительно обогнать индекс московской биржи.
Актуальность модели и всей работы в целом обусловлено тем, что финансово грамотное население чаще всего стремится сохранить свои накопления, а в идеале их увеличить путём инвестирования в активы. Поэтому, эта модель в перспективе может стать как минимум хорошим советником для трейдеров, управляющих инвестиционными фондами и для частных инвесторов, а как максимум – автоматизировать процесс эффективной торговли и инвестирования.
Однако, модель ещё не совсем отражает действительность, так как рассматривает только малую часть финансовых инструментов и не учитывает налоги, не затрагивает фундаментальный анализ, а также имеет небольшое количество признаков для обучения и принятия решений.
Список литературы
- Deep Learning for Finance: Deep Portfolios / J.B. Heaton, N. Polson, J. Witte. — Текст: электронный // Arxiv: [сайт]. — URL: https://arxiv.org/pdf/1602.06561v3.pdf (дата обращения: 15.05.2024).
- Massively Parallel Methods for Deep Reinforcement Learning. / Arun Nair, Praveen Srinivasan, Sam Blackwell — Текст : электронный // Arxiv: [сайт]. — URL: https://arxiv.org/pdf/1507.04296 (дата обращения: 15.05.2024).
- Playing Atari with Deep Reinforcement Learning / V. Mnih, K. Kavukcuoglu, D. Silver, A. Graves, I. Antonoglou, D. Wierstra, M. Riedmiller. — Текст: электронный // Arxiv: [сайт]. — URL: https://arxiv.org/pdf/1312.5602.pdf (дата обращения: 15.05.2024).
- PyTorch documentation. — Текст: электронный // Pytorch: [сайт]. — URL: https://pytorch.org/docs/stable/index.html (дата обращения: 15.05.2024).
- Информационно-статистический сервер Московской Биржи. — Текст : электронный // ISS Moex: [сайт]. — URL: https://iss.moex.com/iss/reference/ (дата обращения: 15.05.2024).