24 октября 2015 ITI Capital
Сегодня речь пойдет о том, можно ли создать успешную торговую стратегию, используя лишь исторические данные о торгах и алгоритмы машинного обучения.
Давид Монтаг (David Montaque), выпускник Стэнфордского университета и сотрудник компании Palantir Technologies, написал статью, в которой описал создание алгоритмических стратегий для торговли фьючерсами на основе исторических данных. Для предсказания будущей цены и волатильности Монтаг использовал техники машинного обучения. Мы представляем вашему вниманию описание эксперимента и выводы, к которым пришел исследователь.
Начало работы
Целью эксперимента была разработка высокоэффективных алгоритмических торговых стратегий для представления их на конкурсе Quantiacs futures. В ходе этого соревнования торговые системы работают на исторических данных и на реальных торгах на платформе Quantiacs (максимально приближены к тому, как это происходит на бирже), по результатам каждого из этих испытаний составляется рейтинг лучших систем. Цель конкурса — получить стратегию с оптимальной производительностью, измеряемой коэффициентом Шарпа (отношение средней прибыли к средней волатильности). Победитель получает инвестиции в размере $1 млн, участник, занявший второе место — $500 тыс, третье — $250 тыс.
Коэффициент шарпа — отношение годовой прибыли к годовой волатильности
Исторические данные для конкурса включают приблизительно 3800 дней торгов (данные о цене и объёме торгов) с 1 января 2001 года до наших дней. Информация представлена для 27 разных фьючерсных контрактов, включая валюту, драгоценные металлы, сельхозпродукты и т.п. Данные включают значения максимальной, минимальной цены дня, а также цену открытия, закрытия и торговые объёмы за период.
В каждый торговый день правила конкурса разрешают стратегии использовать в качестве входных данных информацию о предыдущих 504 торговых периодов (что дает вектор из 2520 элементов).
Монтаг предположил, что эффективнее будет предсказывать будущую цену и волатильность каждого фьючерсного контракта независимо друг от друга, используя исключительно данные об их прошлом поведении.
Алгоритмы
Для предсказания волатильности и результативности торгов Монтаг использовал четыре регрессионных алгоритма:
Линейная и регуляризованная регрессия (собственной разработки);
Нейронные сети (с помощью инструмента MATLAB Neural Networks);
Случайный лес (с помощью функции MATLAB Tree-Bagger);
Градиентный бустинг дерева решений (пакет GBM для R).
Проблема предсказания волатильности оказалась значительно более простой, чем предсказание прибыли.
Для каждой из задач использовались два набора данных — тренировочный набор, состоящий из 9424 примеров (80% доступных данных) и тестовый набор из 2356 примеров (20% данных). Распределение тренировочного и тестового наборов было хронологическим — тренировочные примеры содержали 80% начальных данных, а тестовые примеры состояли из 20% последних данных.
Результаты
Прежде чем приступать к сравнению производительности разных алгоритмов машинного обучения, исследователь осуществил выборку с помощью линейной регрессии:
Здесь PCA — метод главных компонент, а TI — технические индикаторы. Цифры в круглых скобках представляют собой размеры вектора признаков.
После осуществления анализа главных компонент уменьшенного до 250 элементов и нормализованного вектора, было получено оптимальное число главных компонент — 82. Однако применение линейной регрессии, использующей вектор всех технических индикаторов из 18 элементов, позволяло добиться лучших результатов, в итоге Монтагу методом перебора удалось выявить семь технических индикаторов, использование которых позволяет еще улучшить результаты.
В таблице ниже приведена информация о производительности четырех алгоритмов в области предсказания волатильности с использованием 7 индикаторов.
Здесь LR — это линейная регрессия, NN — нейронные сети, RF — случайный лес, GBM — градиентный бустинг дерева принятия решений. Наилучших результатов удалось добиться с помощью алгоритма случайного леса.
Ниже представлены результаты эффективности предсказания прибыли:
Здесь RR — это регуляризованная регрессия (которая оказалась наиболее эффективной), а остальные сокращения идентичны тем, что были использованы выше. Отрицательные значения соответствуют «короткой продаже».
Чтобы использовать предсказания волатильности и прибыли, Монтаг создал торговый алгоритм из трех параметров, который сравнивает предполагаемую прибыль с предсказанной волатильностью, и использует получившееся значение в качестве желаемого распределения портфолио.
На графике ниже изображена производительность этой стратегии — ей удалось добиться годовой прибыли в 6,63%, при годовой волатильности 5,58% и коэффициенте Шарпа в 1,18.
Однако при использовании только первой половины доступных исторических данных стратегия показала коэффициент Шарпа, равный 1,33, а при выборке, включавшей только вторую часть данных, это число было куда меньше — 0,73. Данный факт указывает на то, что не стоит ожидать одинаковой хорошей производительности стратегии, как в прошлом, так и в будущем, однако можно рассчитывать на определенную продуктивность.
Согласно данным ресурса Investopedia, хорошим показателем считается коэффициент Шарпа, равный 1 или выше, очень хорошим — 2 или выше, отличным — 3 и выше. Полученные с помощью указанных выше методов стратегии смогли показать максимальный коэффициент Шарпа, равный 1,2 —на исторических данных, а для будущих данных значительно меньше.
Несмотря на то, что эти стратегии показали прибыль, вероятность того, что в реальной торговли их коэффициент Шарпа поднимется выше единицы не очень велика.
https://iticapital.ru/ (C) Источник
Не является индивидуальной инвестиционной рекомендацией | При копировании ссылка обязательна | Нашли ошибку - выделить и нажать Ctrl+Enter | Отправить жалобу