УДК 339.163.4
Д. В. Зелезецкий
Московский физико-технический институт (национальный исследовательский университет)
Глубокое обучение в задаче прогнозирования финансовых временных рядов
Рассматривается задача прогнозирования временных рядов цен финансовых инструментов, а также обсуждается проблематика подбора функции потерь для прогнозирования данных со спекулятивным интересом. В ходе исследования производится проверка ряда нейросетевых архитектур (LSTM, Transformer, TSMixer), затем наилучшая модель интегрируется в торговый алгоритм, который оптимизируется в дальнейшем по своим гиперпараметрам. На последнем этапе производится тестирование полученного торгового алгоритма.
Ключевые слова: финансовые временные ряды, нейросетевое прогнозирование, алгоритмическая торговля, создание торговой стратегии
D. V. Zelezetsky
Moscow Institute of Physics and Technology
Deep learning in financial time SGF1GS forecasting
Deep learning based financial time series forecasting is considered during the work. Moreover, the problem of selecting a loss function for predicting data with speculative interest is also discussed. During the research, a number of neural network architectures (LSTM, Transformer, Tsmuxer) are tested, then the best model is integrated into a trading algorithm, which is further optimized according to its hyperparameters. At the last stage, the resulting trading algorithm is tested.
Key words: financial time series, neural network forecasting, algorithmic trading, creating a trading strategy
1. Введение
Задача прогнозирования финансовых временных рядов представляет интерес из-за ряда особенностей, которыми обладают финансовые данные, поведение которых сложно описывается классическими эконометрическими моделями, которые неспособны обобщить сложные закономерности временного ряда. Среди широкого перечня особенностей данной задачи остановимся на двух основных:
1) Сложность их описания. Финансовые временные ряды, в частности цены акций, сложно описываются с математической точки зрения, так как не имеют постоянного тренда, сезонной и циклической компоненты, а также постоянного среднего и дисперсии. Движение цены хаотично, а следовательно, плохо обобщаемо большинством моделей [1]. Принято считать, что поведение цены акции схоже с поведением мартингала, стохастического процесса, наилучшим прогнозом на следующий временной шаг которого является его текущее значение.
© Зелезецкий Д. В., 2024
(с) Федеральное государственное автономное образовательное учреждение высшего образования
«Московский физико-технический институт (национальный исследовательский университет)», 2024
2) Отсутствие единых стимулов для всего рынка. Рассматривая поведение цены акции с финансовой точки зрения, следует отметить, что игроки отличаются друг от друга своими стимулами к покупке и продаже. Разные группы игроков ориентируются на разные источники данных при принятии решения о совершении транзакции, следовательно, не существует единых подходов к выбору признакового описания временного ряда, которое в полной мере определяло бы его поведение. Среди наиболее популярных подходов можно отметить использование технических индикаторов, анализ новостей и использование фундаментального анализа. Как правило, использование технических индикаторов обусловлено высокой частотой совершения операций, в то время как анализ новостей или отчётностей применяется в среднесрочном и долгосрочном инвестировании.
3) Специфика функции потерь для обучения нейросети. В отличие от других временных рядов, прогнозирование цен акций, как правило, не носит исключительно исследовательский характер, а сопряжено со спекулятивными интересами. Следовательно, как будет показано позднее, классические подходы к выбору функции потерь не выполняют всех требований, накладываемых на них.
Успех нейросетевых архитектур в задачах моделирования последовательностей [2] говорит об их способности обобщать данные и находить в них сложные закономерности. В частности, успехи моделей семейства Transformer в задачах обработки языка [3] вызывают интерес к их адаптации для временных рядов. Опираясь на перечисленные особенности финансовых данных, можно выдвинуть предположение о том, что при успешном подборе модели и признакового описания мы сможем совершать прогнозы с точностью, достаточной для ведения прибыльной торговли, а значит, сможем аппроксимировать некоторую часть игроков рынка, поведение которых мы косвенно предсказываем через прогноз будущей цены.
2. План эксперимента
Целью эксперимента является оценка ряда нейросетевых архитектур [3, 4, 5] на способность генерации качественных прогнозов, а также создание торгового алгоритма, способного работать с этими прогнозами.
Обсуждая основные задачи эксперимента, выделим следующие:
1) выбор признакового описания,
2) разработка функции потерь,
3) поиск оптимальной архитектуры,
4) внедрение архитектуры в торговый алгоритм и его оптимизация,
5) тестирование алгоритма.
В ходе работы используются данные цен закрытия акций, входящих в Индекс Мосбиржи с частотой обновления 1 час. В качестве признакового описания используются 57 технических индикаторов. Данные получены посредством Python библиотеки Algopack, являющейся официальным продуктом Московской Биржи. Использование технических индикаторов обусловлено высокой частотой обновления цен. Метрики фундаментального анализа или анализ новостей сложно интегрируемы с часовыми данными, так как частота обновления этих признаков сильно ниже частоты обновления цен, а значит, на протяжении большого количества временных тактов признаки будут неизменны.
3. Разработка функции потерь
Разработка функции потерь для обучения нейроеети является отдельной важной задачей. Как говорилось ранее, стандартные функции (Mean Squared Error, Mean Average Error), зачастую используемые при обучении нейроеетей, не отвечают всем накладываемым требованиям, а значит, некорректно обучают модель.
Рис. 1. Иллюстрационный пример для оценки ценности прогнозов
Рассмотрим ситуацию на рис. 1. Предположим, находясь на моменте времени t, мы прогнозируем t + 1 период времени двумя моделями, одна из которых (модель 1) прогнозирует рост цены со 100 до 115, в то время как другая (модель 2) прогнозирует падение со 100 до 95. Оценивая их ошибки через MSE, МАЕ или другие симметричные функции, мы приравниваем их, так как квадрат или модель убивают знак, в результате давая ошибку, равную 100 в елучаае MSE и 10 в случае МАЕ. Однако, как только мы начинаем рассматривать их ошибки с позиции спекулятивного интереса, выясняется, что они не равны друг другу. Так, при использовании прогноза модели 2, мы займем короткую позицию, одолжим акцию у брокера, продадим за 100 рублей, однако в t + 1 периоде потеряем деньги, так как будем вынуждены выкупить ее за 105 рублей. В свою очередь, используя прогнозы модели 1, мы займём длинную позицию в периоде ¿и в t + 1 периоде заработаем на повышении цены, хотя и не таком сильном, как пред сказывал ось. Решением данной проблемы является подбор специфической функции потерь, учитывающей спекулятивный интерес [6].
В рамках эксперимента была разработана следующая функция потерь:
Уг+1 - Уг+1
CustomLoss(yi+i,yi+i) =
Уг+1
Как можно видеть из формулы, часть
- А(&+1 - yi){yí+1 - Уг). (1)
полностью соответствует функции эициентом чувствительности Л. Если
Уг+1 -Уг + 1 У1+1
МАРЕ, однако далее идет добавленный штраф с коэфе. знаки (уг+1 — Уг) и (у1+\ — у^ совпадают, то знак этого произведения всегда будет положительный, а значит, коэффициент Л должен идти со знаком минус. И наоборот, если члены произведения отличаются знаками, то предсказанное направление движения актива отличается от его истинного движения, а следовательно, это должно увеличивать функцию потерь. Коэффициент Л, в свою очередь, отвечает за величину штрафа и является гиперпараметром. При слишком большом Л модель будет стараться угадывать направление в ущерб точности самого прогноза, и наоборот, при слишком маленьком Л модель не будет бояться ошибаться в направлениях. Следовательно, этот коэффициент должен быть таким,
чтобы модель при обучении сошлась к весам, с которыми могла бы угадывать направление, однако делала это с приемлемой точностью.
<-——-
-•- Winrate
—Маре
□ 5 10 15 20
Lambda
Рис. 2. Зависимость Winrate и МАРЕ от гиперпараметра Л
Winrate(y,y) = — ^[sign(yi - yi-i) = signai - у-)]. (2)
г=2
Эмпирические исследования подтверждают теоретическое представление о работе штрафной компоненты функции. Как видно на рис. 2, метрика Winrate (доля правильно угаданных направлений) имеет тенденцию расти при росте гиперпараметра Л, и, как следствие, это влечет за собой динамику метрики МАРЕ, которая также растет. Очевидно, не существует единственно правильного ответа на вопрос о том, какое значение параметра выбрать для максимизации качества прогнозов. С одной стороны, мы хотим получать достоверные прогнозы с точки зрения их точности, так как если бы мы старались максимизировать Winrate путём сильного увеличения Л, то модель хоть и начинала бы чаще угадывать направление, однако из-за низкой точности цена ошибки была бы высока. II наЛ
частоту угадываний направления и, как следствие, недостаточный Winrate для ведения прибыльной торговли.
4. Поиск оптимальной архитектуры
На нервом этане необходимо найти оптимальную архитектуру, которая наиболее точно обобщает данные.
Рис. 3. Испытания моделей
На рисунке 3:
И.1 Одномерный ряд (без признаков), прогноз на 1 час вперёд.
И.2 Многомерный ряд (признаки технические индикаторы), прогноз на 1 час вперёд. И.З Многомерный ряд (признаки другие активы на рынке), прогноз на 1 час вперёд. Как видно из рис. 3, исследуются 4 модели, две из которых являются представителями семейства Transformer, отличающимися лишь наличием декодера в своём составе.
В рамках испытания мы проверяем 4 модели на трех видах данных: одномерном ряду без признаков, с использованием технических индикаторов и с использованием других активов в качестве признаков для прогноза целевого. Посколькую Л является гиперпараметром, то каждая из моделей будет обучаться на каждом из испытаний для всех Л € [0,1, 5,10,12, 25, 35, 45, 50], с последующим усреднением.
4.1. Итерация 1
В рамках первой итерации мы работаем на данных 2020 и 2021 годов. Набор данных имеет размер 172.129 строк и (1/58/42) столбцов, где 1 столбец это цена закрытия (целевая переменная), а остальные признаковое описание.
И.1 И.2 И.З
LSTM 24,55 19.47 21.7
Transformer(encoder часть) 20.11 12.19 16.33
Transformer(encoder + dccoder) 20.00 13.17 16.4
TSMixer 21.00 15.71 16.52
Рис. 4. Результаты испытаний для итерации 1
Как можно заметить из рис. 4, наилучших) результата смогла достигнуть Transformer (Encoder) архитектура в испытании 2, где в качестве признаков выступают технические индикаторы. Это значит, что следующий этан (оптимизация гиперпараметров стратегии) будет проходить на ее основе и с применением данного признакового пространства. Наглядно видно, как модели начинают ухудшать свой результат при отсутствии признаков. Это наблюдение подтверждает гипотезу о том, что признаки несут в себе информационную пользу для модели и помогают прогнозировать будущие цены точнее.
4.2. Итерация 2
В рамках второй итерации мы работаем на данных 2020, 2021 и 2022 годов. Набор данных имеет размер 241.978 строк и (1/58/42) столбцов, где 1 столбец это цена закрытия (целевая переменная), а остальные признаковое описание.
И.1 И.2 И.З
LSTM 28.67 22.46 24.85
Transformer (encoder часть) 24.54 17.2 18.26
Transformer(encoder + decoder) 24.4 18.55 19.00
TSMixer 25.64 18.9 20.09
Рис. 5. Результаты испытаний для итерации 2
Усреднённые по всем Л £ {0,1, 5,10,12, 25, 35, 45, 50} значения функции потерь для каждой модели и каждого испытания изображены на рис. 5. Как можно заметить, снова наилучших) результата смогла добиться Transformer(Encoder) архитектура в испытании 2, где в качестве признаков выступают технические индикаторы. Это значит, что следующий этан (оптимизация гиперпараметров стратегии) также будет проходить на её основе и с применением данного признакового пространства. Результаты 1 этапа данной итерации подтверждают результаты этого же этапа предыдущей итерации, где модели продемонстрировали схожее поведение. Во время второй итерации видно, что каждая из моделей ухудшила свой средний loss на каждом из испытаний. Причиной этому может служить появление данных 2022 года. Данные 2022 года были обрезаны по 1 марта и причиной данного решения является тот факт, что рынок того времени не отражал типичное поведение игроков. На тот момент на рынке преобладал несистематический риск, а следовательно,
данные того периода не содержат в себе полезной информации для модели. Однако стоит заметить, что, несмотря на обрезанные по начало апреля данные, фондовый рынок имел высокую волатильность и дальше. Это могло послужить причиной повышенного значения усреднённой функции потерь.
5. Оптимизация портфеля
В рамках данного эксперимента наши модели прогнозируют будущую цену актива, а значит, из ожидаемой цены возможно получить ожидаемую доходность путём следующей элементарной операции:
Уг+1 — Уг
Гг+1 = ---, (3)
Уг
где уг известна, а У+ - это ожидаемая цена.
Из этого следует, что в каждый момент времени, при условии прогнозирования N активов на рынке, мы можем получить вектор размерности каждой координатой которого будет являться прогнозируемая доходность определённого актива на следующий момент времени. Данный вектор позволяет нам переходить к задаче оптимизации портфеля, где целевой переменной может выступать вектор весов портфеля, вектор вложений портфеля, вектор торговых операций и так далее.
Используемая в ходе эксперимента задача оптимизации является адаптацией задачи, предложенной Стивеном Бойдом в работе [7], и представляет собой однопериодную оптимизацию портфеля. Однопериодная задача оптимизации инвестиционного портфеля заключается в правильном выборе распределения средств, которые направляются на покупку и продажу активов. Данная задача решается путём оптимизации выпуклой или вогнутой функции.
Частная постановка задачи:
Max rjht + rjut - cTut - 71 • ((h + ut)£(ht + ut)), щ
subject to ut e Mra+1, ht + ut >= 0, (4)
1T Ut + cT Ut = 0,
где с - вектор комиссий брокеру и бирже,
ht - портфель до торговых операций, u,t - вектор торговых операций,
Tt - ожидаемые доходности всех торгуемых активов, 71 - коэффициент принятия риска(гиперпараметр), £ - ковариационная матрица доходностей.
По завершению первого этапа в обеих итерациях, мы смогли определить наиболее качественную модель с точки зрения усреднённой функции потерь, а также подобрать то признаковое описание, которое позволяет нам добиться наименьшего значения функции потерь для данной модели. В ходе проведения испытаний мы выяснили, что в обеих итерациях модель Transformer (Encoder) показала наилучший результат на испытании 2, где признаками выступают 57 технических индикаторов. Следовательно, следующей задачей будет являться интеграция модели в торговый алгоритм и оптимизация последнего по гиперпараметрам Л, risk aversion (далее RA).
Имея 9 весов Трансформера, обученного на Л e {0,1, 5,10,12, 25, 35, 45, 50}, мы переходим к проведению бектеста и поиску оптимальных параметров на обрезанных по март данных 2022 года для первой итерации и данных 2023 года для второй итерации. Также стоит напомнить, что параметр RA определяется как 7 в теле целевой функции, при решении задачи оптимизации и отвечает за чувствительность к риску при поиске оптимальных торговых операций.
Require:
Л= {0,1,5,10,12,25,35,45,50}, Г = {0.5,1,2,3,4,5,8}; Ensure:
Sharpe Ratio - значение коэффициента Шарпа для получившегося портфеля 1: for Л е Л,7 е Г do
2: Проводим почасовое прогнозирование всего года трансформером, обученным на Л.
3: На полученнв1х данных проводим бектест с RA = j 4: Фиксируем полученный Sharpe Ratio 5: end for=0
Рис. 6. Обобщённая схема проведения бектестов для всех А, 7
Схема алгоритма па рис. 6 показывает общий вид проведения бектеста с фиксированными параметрами.
5.1. Итерация 1
В рамках первой итерации сбор результатов бектеста и поиск оптимальных параметров Л, 7 производится на данных 2022 года, обрезанных по 1 марта. Общий размер данных составляет 69 849 строк. Транзакционные издержки равны 0, 02%, что является наиболее выгодным предложением для частного трейдера па момент проведения исследования.
Lambda=G,RA=0.5,S harpe=-2,205 Lambda=0,RA=1,Sha rpe=- 2.217 Lambda=0,RA=2,Sha rpe=-2.207 Lambda=0,RA=3,Sha rpe=-2.218 Lambda=0,ra=4,sha rpe=-2.276 Lambda=S,RA=5,Sharpe=-2.326 Lambda=G,RA=S,Sha rpe=-2.408 Lambda=l, RA=0. 5, S ha rpe=-2.484 Lambda=l,RA=1,Sha rpe--2.443 Lambda=1,RA=2,Sha rpe=- 2.432 Lambda=1, RA=3, Sha rpe=- 2.3 36 Lambda=1,RA=4,Sha rpe=-2,2 6 Lambda=lJRA=5,Sharpe=-2.201 Lambda=lJ RA=SiSharpe=-2.104 Lambda=5, RA-Q. 5, Sha rpe=-2.647 Lambda=5,RA=1,Sha rpe=-2.5 85 Lambda=5,RA=2, Sharpe—2.529 Lambda=5,RA=3,Sha rpe=- 2.491 Lambda=5,RA=4 rSha rpe=-2.472 Lambda=5, RA=5,Sha rpe=-2.496 Lambda=5,RA=S,Sha rpe=-2,427 Lambda=10,RA=G.5,Sha rpe=-1.128 Lambda=10,RA=l,Sharpe=-1.098 Lambda=10, RA=2, Sha rpe=-1.054 Lambda=10,RA=3, Sharpe=-1.042 Lambda=10,RA=4, Sharpe=-1. G98 Lambda=lG,RA=5, Sharpe=-1.212 Lambda=10,RA=8,sharpe=-1.478 Lambda=l2 rRA=G.b,Sharpe=-1.614 Lambda=12,RA=lJSharpe=-l.621 Lambda=12,RA=2,Sharpe=-1.62 Lambda=12,RA=3FSharpen-1.674
Lambda-Lambda; Lambda= Lambda= Lambda^ Lambda^ Lambda= Lambda* Lambda^ Lambda: Lambda^ Lambda^ Lambda^ Lambda: Lambda: Lambda= Lambda: Lambda: Lambda: Lambda^ Lambda: Lambda: Lambda: Lambda= Lambda: Lambda: Lambda^ Lambda: Lambda: Lambda: Lambda^ Lambda=
12 f RA: ■12 , RA: 12, RA 12.RA: :25, RA: ;25 , RA-25, RA: <25, RA: :25,RA: :25 , RA: ■25, RA: 35, RA: 35, RA: '35 , RA: :35,RA: :35,RA: :35,RA: 35, RA: 45, RA: 45, RA: 45, RA: 45, RA: 45, RA: 45, RA: 45, RA: 50, RA: 56, RA: -50, RA: :50,RA: 50, RA: :50,RA: :50,RA:
=3 j Sha rps—-1. =4, Sharpen-1. =5,Sharpen-1. =8,Sharpe=-1. =0.5, Sharpe— =1,Sharpe=-2, ■2,5harpe=-2. =3,Sharpe=-2, :4,Sharpe--2. :5,Sharpe=-2. =8,Sharpe=-2, -0.5,Sharpe=-=1,Bharpe=-0, :2,Sharpe=-0, =3,Sharpe=-0, =4,5Иагре=-0, :5, Sharpest). :8,Sharpe=-0, -0.5,Sharpe= =1,Sharpe=-1, -2,Sharpe=-1, :3,Sharpe=-1, :4, Sharpe=-1, :5,Sharpe=-l, -8 ^ Sha rps—-1. :0.5,Sharpe= =1,Sharpe=-3. -2, Sharpe=-3, =3,5harpe=-3, ■4, Sharpe=-3, =5,5harpe=-3, :8,Sharpe=-3,
674
713
731
773
2.575
565
577
567
565
553
533
0.9G8
9
828
825
865
903
984
1.901
893
878
878
888
868
802
3.322
354
35
347
34
385
387
Рис. 7. Результаты сери и бектестов для первой итерации
Как видно из рис. 7, пи па одной из комбинаций гиперпараметров алгоритм пе смог достичь положительной доходности. Как говорилось ранее, в течение всего 2022 года российский фондовый рынок страдал от высокой волатильпости вследствие сильного несистематического риска, вызванного сапкциоппым давлением па российскую экономику. Данные факторы могли внести негативный вклад в успех торгового алгоритма, однако пашей
задачей по-прежнему является попек параметров, дающих максимальный коэффициент Шарпа. Как видно на рис. 7, оптимальными параметрами являются Л* = 35, ИА* = 3, именно на них мы будем тестировать торх'овую стратегию на следующем шаге.
5.2. Итерация 2
В рамках второй итерации сбор результатов бектеета и поиск оптимальных параметров
Л,
Транзакционные издержки также равны 0, 02%.
Lambda=0,RA=0.5,Sharpe=-0.736 Lambda=0,RA=l,Sharpe=-0,786 Lambda=0.RA=2,Sha rpe=-0.79B Lambda=0,RA=3,Sha rpe=-0.784 Lambda=0,RA=4,Sharpe=-0.822 Laimbda=0)RA=5, Sharpen-0.873 Lambda=0,RA=8,Sha гре=-1,004 Lambda=l,RA=0.5,Sha rpe=-1.01 Lambda=l,RA=l,Sharpe=-0,985 Lambda=l„RA=2,Sha rpe=-0.913 Lambda=l,RA=3,Sha rpe=-0.885 Lambda=l,RA=4,Sharpe=-0.9 Lambda=l,RA=5,Sharpen-0.894 Lambda=l,RA=8,Sha rpe=-0.869 Lambda=5,RA=0.5,Sha rpe=0.215 Lambda=5,RA=1,Sha rpe=G.242 Lambda=5, RA=2, Sha rpe=0.271 Lambda=5,RA=3,Sha rpe=0.276 Lambda=5,RA=4,Sha rpe=6.275 Lambda=5,RA=5,Sharpe=0.345 Lambda=5,RA=8,Sha rpe=0.334 Lambda=lQ,RA=0.5,5harpe=-2.291 Lambda=10,RA=l,Sharpe=-2.2B5 Lambda=19,RA=2,Sha rpe=-2.245 Laimbda=ia, RA=3, Sha rpe=- 2.209 Lambda=10,RA=4,Sha rpe=-2.1S9 Lambda=10,RA=5,Sha rpe=- 2.16 Lambda=10,RA=8,Sharpe=-2.21 Lambda=12,RA=0.5,5harpe=-2.435 Lambda=12,RA=1,Sharpe=-2.438 Lambda=12,RA=2,Sha rpe=-2.443 Lambda=12,RA=3,Sha rpe=-2.445
Lambda=12,RA=4,Sha rpe=-2.456 Lambda=12,RA=5,Sha rpe=-2.466 Lambda=12,RA=8,Sha rpe=- 2.502 Lambda=25,RA=0.5,5haгре=-1.821 Lambda=25,RA=1,Sha гре=-1,798 Lambda=25,RA=2,Sha гре=-1.785 Lambda=25,RA=3,Sha гре=-1.791 Lambda=25,RA=4,Sha гре=-1.814 Lambda=25,RA=5,Sha rpe=-1.833 Lambda=25,RA=8,Sha rpe=-1.868 Lambda=35,RA=0.5,5harpe=-1.819 Lambda=35,RA=1,Sha rpe=-1.827 Lambda=35,RA=2,Sha rpe=-1.861 Lambda=35,RA=3,Sharpen-1.9 Lambda=35,RA=4,Sha rpe=-1.923 Lambda=35,RA=5f Sharpen-1.947 Lambda=35,RA=8,Sha rpe=-1.894 Lambda=45,RA=0.5,Sharpe=-1.221 Lambda=45,RA=1,Sha rpe=-1.224 Lambda=45,RA=2,Sharpe=-1.254 Lambda=45,RA=3,Sharpe=-1.279 Lambda=45,RA=4,Sha rpe=-1.2S3 Lambda=45,RA=5,Sha rpe=-1.279 Lambda=45,RA=3,Sharpe=-1.265 Lambda=5Q,RA=0.5,Sha rpe=-1.Q67 Lambda=50, RA=1, Sha гре=-1,063 Lambda=50,RA=2,Sha гре=-1.081 Lannbda=50, RA=3, Sha rpe=-1,1 Lambda=50,RA=4,Sha rpe=-1.144 Lambda=50,RA=5,Sha rpe=-1.168 Lambda=50,RA=S,Sha гре=-1.246
Рис. 8. Результаты серии бектестов для второй итерации
На рисунке 8 можно наблюдать, что наибольший коэффициент Шарпа достигается при Л* = 5, * = 5
Л
а значит, мы можем констатировать факт тшх), что стратегия адаптируется в зависимости от рынка, на котором происходит торх'овля. Нестабильный рынок 2022 года требовал увеЛ
Л
прогноза, а не доле правильно угаданных направлений.
6. Тестирование алгоритма
Наконец, последним этаном проверки торх'овой стратегии является ее тестирование на тестовых данных, которых она не видела прежде. Дойдя до этшх) этана, мы уже выбрали
оптимальную нейроеетевую архитектуру, а также оптимальные гиперпарамерты торх'овой Л* *
на тестовых данных, в ходе которшх) собираем результаты торх'овли.
Ключевой метрикой оценки качества стратегии является Return доходность стратегии за тестируемый период. Кроме того, результат стратегии сравнивается с результатом доходности бенчмарка (Индекс Мосбиржи) для ответа на вопрос о том, может ли она перегнать бенчмарк в виде индекса, торгуя лишь активами из него самого.
6.1. Итерация 1
Тестирование стратегии с параметрами Л* = 35, И А* = 3 в рамках первой итерации производится на данных 2023 года, имеющих 77 043 наблюдения. Транзакционные издержки по-прежнему равны 0, 02%.
Т а б л и ц а 1
Результаты тестирования для Л = 35, КА = 3 (с = 0.0002)
Metric Value
Initial value (cash) 1.000e+06
Final value (cash) 9.585(4-05
Profit (cash) 1.151c 01
Avg. return (annualized) 0.1%
Volatility (annualized) 32.1%
Avg. excess return (annualized) 0.1%
Avg. active return (annualized) 0.1%
Excess volatility (annualized) 32.1%
Active volatility (annualized) 32.1%
Avg. growth rate (annualized) 5.2%
Avg. excess growth rate (annualized) 5.2%
Avg. active growth rate (annualized) 5.2%
Sharpe ratio 0.00
Information ratio 0.00
Avg. drawdown 9.2%
Min. drawdown 24.9%
Avg.leverage 101.4%.
Max. leverage 106.8%
Avg. turnover 95.9%.
Max. turnover 104.1%.
Рис. 9. График стоимости портфеля Л = 35, RA = 3 (с = 0.0002)
Как таблица 1, так и рисунок 9 содержат результаты тестирования стратегии. Мы можем наблюдать, что алгоритм не смог реализовать положительную доходность, хотя период с 2023-06 по 2023-08 можно охарактеризовать периодом уверенного рост цены портфеля.
Разбираясь в причинах такого неудовлетворительного результата, следует обратить внимание на общую стоимость транзакционных издержек, которые мы заплатили в ходе торговли: 712 796 рублей. Как можно увидеть, на комиссию брокеру уходит достаточно большая доля, а значит, что алгоритм, чрезмерно часто перебалансируя портфель, теряет на этом большие суммы.
6.2. Итерация 2
Тестирование стратегии с параметрами Л* = 5, И А* = 5 в рамках второй итерации производится на данных 2024 года (01.01.2024 01.04.2024), имеющих 20 803 наблюдения. Транзакционные издержки по-прежнему равны 0, 02%.
Т а б л и ц а 2
Результаты тестирования для Л = 5,КА = 5 (с = 0.0002)
Metric Value
Initial value (cash) 1.000e+06
Final value (cash) 1.081(4-06
Profit (cash) 8.062o+04
Avg. return (annualized) 39.5%.
Volatility (annualized) 28.7%
Avg. excess return (annualized) 39.5%.
Avg. active return (annualized) 39.5%.
Excess volatility (annualized) 28.7%
Active volatility (annualized) 28.7%
Avg. growth rate (annualized) 35.4%.
Avg. excess growth rate (annualized) 35.4%.
Avg. active growth rate (annualized) 35.4%.
Sharpe ratio 1.37
Information ratio 1.37
Avg. drawdown -4.1%
Min. drawdown -12.3%
Avg. leverage 100.5%.
Max. leverage 108.5%.
Avg. turnover 87.2%
Max. turnover 104.2%.
1.125 х 10"
l.lx 10ь 1.075 х 106 1.05 х106
1.025 х 106
106
9.75 х 10! 9.5 X 105
Л*>
- Portfolio value
fiT 4 . JL
I
I fl1
L—
- -1-i —
J&
J&
дъ
date
Рис. 10. График стоимости портфеля Л = Б, RA = 5 (с = 0.0002)
Результаты таблицы 2 и рисунка 10 говорят об эффективности торгового алгоритма
при транзакциопных издержках в 0, 02%. Начиная с января 2024 и по начало апреля этого же года, стоимость портфеля выросла на 8.1%. За аналогичный период времени бенчмарк (Индекс Мосбиржи) вырос на 5, 6%, что свидетельствует об эффективности алгоритма. Общие издержки на комиссию составили 88 629 рублей.
7. Обсуждение результатов
После проведения эксперимента и фиксации полученных результатов, мы можем переходить к их интерпретации и обсуждению.
7.1. Обсуждение результатов поиска оптимальной архитектуры
Приведём основные выводы данного этапа:
1) Оценивая исследуемые архитектуры по результатам первой и второй итерации, мы можем заметить, что наихудшую производительность показывает архитектура LSTM, дающая наивысший средний Loss среди всех испытуемых моделей. Причиной такого результата может служить ограничение модели на объём удерживаемой памяти внутри себя, что является известной проблемой всех рекуррентных нейросетевых архитектур [8].
2) Говоря об TSMixer архитектуре, следует отметить её высокую скорость обучения по причине того, что она состоит из полносвязных слоёв, однако данный факт сыграл негативную роль в результатах модели, из-за чего её точность не смогла сравняться с точностью трансформеров, хотя и обогнала LSTM.
3) Трансформеры (оба варианта) смогли показать наилучший результат среди всех исследуемых моделей, благодаря блокам памяти (Attention Laver) и позиционному кодированию (Positional Encoding). Данные нововведения позволяют захватывать более сложные взаимосвязи во входящих последовательностях, а значит, совершать более качественные прогнозы.
4) Говоря о признаковом описании ряда, мы можем наблюдать наихудший результат у всех четырёх моделей, работающих с одномерным рядом (ряд цен без дополнительных признаков). Полученные результаты вполне очевидны, так как, используя данные одних лишь цен, трудно обнаружить сложную структуру во входящей последовательности. На втором месте по результативности идёт постановка, в которой признаками являются цены закрытий других активов. Данное описание целевой переменной позволило понизить средний Loss у всех моделей. Исходя из этого, можно выдвинуть гипотезу о том, что модель использовала значения цен сильно коррелированных активов для предсказания поведения цен. Сама по себе корреляция активов не является гипотезой и давно исследуется научным сообществом [9]. Наконец, наилучший результат с точки зрения точности на обеих итерациях дали 57 технических индикаторов, которые были получены вместе с ценой через API Мосбиржи. Данные индикаторы позволили всем моделям добиться оптимальных результатов в прогнозировании, а значит, предоставили скрытую в них информацию о поведении цены.
7.2. Обсуждение результатов поиска оптимальных гиперпараметров торговой стратегии
Обсуждая результаты поиска оптимальных гиперпараметров, следует обратить внимание на то, что они отличаются от итерации к итерации, а значит, адаптируются под конъюнктуру рынка и данных, на которых обучается модель. Попробуем проинтерпретировать полученные результаты.
1) Первая итерация показала, что оптимальными параметрами торговли на рынке 2022 года оказались Л* = 35, RA* = 3. Напоминаем, что в рамках эксперимента
Л £ {0,1, Б, 10,12, 25, 35, 45, 50}, RA £ {0.5,1, 2, 3, 4, Б, 8}, а значит, полученная Л* име-
*
жить, что данная необходимость обоснована высокой волатильностью и непредсказуемостью рынка 2022 года, когда санкционное давление на экономику России вызвало высокий несистематический риск на всех её рынках. Этот факт заставляет нашу модель обращать особое внимание на направление движения предсказанного актива
(большой Л*), так как цепы ведут себя нехарактерным для спокойного времени обра*
со средней силой. Иными словами, алгоритм должен вести торговлю с умеренной агрессией, хотя и не совсем консервативно.
2) Вторая итерация показала, что оптимальными параметрами торговли на рынке 2023 года оказались Л* = 5,RA* = 5. Можно сказать, что в условиях растущего рынка с положительной динамикой модель начинает меньше опасаться непредсказуемого поведения цен, проявляя это в снижении параметра А*. Однако параметр RA* возрос по сравнению с первой итерацией, что означает, что теперь требуется вести более-менее рискованную торговлю.
Можно заключить, что оптимальные параметры в большинстве своём неплохо соотносятся с реальностью.
7.3. Обсуждение результатов тестирования стратегии
Результаты тестирования стратегий сообщают об одной основной уязвимости нашего алгоритма, которая в некоторых случаях мешает ему вести прибыльную торговлю - высокие издержки на комиссию брокеру. Обсудим это подробнее.
1) Согласно наблюдаемым результатам, алгоритм первой итерации торгует либо в минус, либо не догоняет бенчмарк, по причине высоких издержек на комиссию и лишь с комиссии, равной 0.009%, наш алгоритм начинает обгонять бенчмарк на тестовых данных. Данные издержки происходят из-за частых перебалансировок портфеля, которые приводят к большому количеству сделок на рынке, не все из которых могут покрыть комиссию. Решением данной проблемы может служить переход на данные большей фракции, например на двухчасовые или дневные диапазоны.
2) Более того, гипотетической причиной неудачи на первой итерации может служить то, что оптимальный параметр Loss функции, а также коэффициент RA подбирались на рынке 2022 года, который кардинально отличался от рынка 2023 года, на котором эти параметры тестировались. Данное различие двух рынков предположительно могло спровоцировать негативный результат при тестировании. Частично эта гипотеза подтверждается результатами второй итерации, в которой наша стратегия, оптимизировавшись на растущем рынке 2023 года, смогла продемонстрировать положительный результат на части 2024 года, обогнав бенчмарк примерно в два раза (индекс +5.6%, стратегия +8.1%).
Исходя из проделанной работы можно заключить, что архитектуры типа Transformer, обученные на разработанной функции потерь, способны производить прогнозы, достаточные для ведения прибыльной торговли. В свою очередь, разработанный торговый алгоритм позволяет обрабатывать прогнозы и производить перебалансировку портфеля с достаточной скоростью и точностью.
Однако, как было сказано ранее, существенным недостатком данного подходя являются большие расходы на комиссии брокеру, которые мешают ведению прибыльной торговли в
некоторых случаях. Причиной таких расходов является частая перебалансировка портфеля (раз в час). Одним из возможных способов устранения данных недостатков является переход на данные с более низкой частотой обновления.
Список литературы
1. Zinenko A. Forecasting financial time series using singular spectrum analysis // Business Informatics. 2023. V. 17, N 3. P. 87-100.
2. Junyoung C., Caglar G., KyungHyun C., Yoshua B. Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling // Deep Learning and Representation Learning Workshop. 2014.
3. Vaswani A., Shazeer N., Parmar N., Uszkoreit J., Jones L., Gomez A.N., Kaiser L., Polosukhin I. Attention is all you need // Proceedings of the 31st International Conference on Neural Information Processing Systems, NIPS'17, Red Hook, NY, USA. Curran Associates Inc. 2017. P. 6000-6010.
4. Hochreiter S., Schmidhuber J. Long short-term memory // Neural Computation. 1997. V. 9, N 8. P. 1735-1780.
5. Zeng A., Liu X., Lin Z., Xu J., Tao D. TSMixer: An All-MLP Architecture for Time Series Forecasting // arXiv preprint arXiv:2303.06053. 2023.
6. Lee T. Loss Functions in Time series forecasting // University of California, Riverside. 2007.
7. Boyd S., Busseti E., Diamond S., Kahn R.N., Koh K., Nystrup P., Speth J. Multi-Period Trading via Convex Optimization // Foundations and Trends in Optimization. 2017. V. 20, N 20. P. 1-74.
8. Landi F., Baraldi L., Cornia M., Cucchiara R. Working Memory Connections for LSTM // Neural Networks. 2021. P. 334-341.
9. Song D.-M., Tumminello M., Zhou W.-X., Mantegna R.N. Evolution of worldwide stock markets, correlation structure, and correlation-based graphs // Physical Review E. 2011. V. 84, N 2.
References
1. Zinenko A. Forecasting financial time series using singular spectrum analysis. Business Informatics. 2023. V. 17, N 3. P. 87-100.
2. Junyoung C., Caglar G., KyungHyun G., Yoshua B. Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling. Deep Learning and Representation Learning Workshop. 2014.
3. Vaswani A., Shazeer N., Parmar N., Uszkoreit J., Jones L., Gomez A.N., Kaiser L., Polosukhin I. Attention is all you need. Proceedings of the 31st International Conference on Neural Information Processing Systems, NIPS'17, Red Hook, NY, USA. Curran Associates Inc. 2017. P. 6000-6010.
4. Hochreiter S., Schmidhuber J. Long short-term memory. Neural Computation. 1997. V. 9, N 8. P. 1735-1780.
5. Zeng A., Liu X., Lin Z., Xu J., Tao D. TSMixer: An All-MLP Architecture for Time Series Forecasting. arXiv preprint arXiv:2303.06053. 2023.
6. Lee T. Loss Functions in Time series forecasting. University of California, Riverside. 2007.
7. Boyd S., Busseti E., Diamond S., Kahn R.N., Koh K., Nystrup P., Speth J. Multi-Period Trading via Convex Optimization. Foundations and Trends in Optimization. 2017. V. 20, N 20. P. 1-74.
8. Landi F., Baraldi L., Cornia M., Cucchiara R. Working Memory Connections for LSTM. Neural Networks. 2021. P. 334-341.
9. Song D.-M., Tumminello M., Zhou W.-X., Mantegna R.N. Evolution of worldwide stock markets, correlation structure, and correlation-based graphs. Physical Review E. 2011. V. 84, N 2.
Поступим в редакцию 15.07.2024