Эксперимент: Можно ли создать эффективную торговую стратегию с помощью машинного обучения и исторических данных



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

    Давид Монтаг (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% последних данных.

    Результаты


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

    Algorithm Training r2 CV r2 Test r2
    PCA (82) 0.631 0.490 0.473
    TI (18) 0.710 0.645 0.637
    TI (7) 0.713 0.647 0.639

    Здесь PCA — метод главных компонент, а TI — технические индикаторы. Цифры в круглых скобках представляют собой размеры вектора признаков.

    После осуществления анализа главных компонент уменьшенного до 250 элементов и нормализованного вектора, было получено оптимальное число главных компонент — 82. Однако применение линейной регрессии, использующей вектор всех технических индикаторов из 18 элементов, позволяло добиться лучших результатов, в итоге Монтагу методом перебора удалось выявить семь технических индикаторов, использование которых позволяет еще улучшить результаты.

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

    Algorithm Training r2 CV r2 Test r2
    LR 0.713 0.647 0.639
    NN 0.734 0.660 0.632
    RF 0.731 0.664 0.649
    GBM 0.701 0.666 0.638

    Здесь LR — это линейная регрессия, NN — нейронные сети, RF — случайный лес, GBM — градиентный бустинг дерева принятия решений. Наилучших результатов удалось добиться с помощью алгоритма случайного леса.

    Ниже представлены результаты эффективности предсказания прибыли:

    Algorithm Training r2 CV r2 Test r2
    RR 0.169 0.142 0.138
    NN 0.088 0.013 -0.088
    RF 0.236 0.069 -0.102
    GBM 0.328 0.154 0.028

    Здесь RR — это регуляризованная регрессия (которая оказалась наиболее эффективной), а остальные сокращения идентичны тем, что были использованы выше. Отрицательные значения соответствуют «короткой продаже».

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

    На графике ниже изображена производительность этой стратегии — ей удалось добиться годовой прибыли в 6,63%, при годовой волатильности 5,58% и коэффициенте Шарпа в 1,18.



    Однако при использовании только первой половины доступных исторических данных стратегия показала коэффициент Шарпа, равный 1,33, а при выборке, включавшей только вторую часть данных, это число было куда меньше — 0,73. Данный факт указывает на то, что не стоит ожидать одинаковой хорошей производительности стратегии, как в прошлом, так и в будущем, однако можно рассчитывать на определенную продуктивность.

    Согласно данным ресурса Investopedia, хорошим показателем считается коэффициент Шарпа, равный 1 или выше, очень хорошим — 2 или выше, отличным — 3 и выше. Полученные с помощью указанных выше методов стратегии смогли показать максимальный коэффициент Шарпа, равный 1,2 —на исторических данных, а для будущих данных значительно меньше.

    Несмотря на то, что эти стратегии показали прибыль, вероятность того, что в реальной торговли их коэффициент Шарпа поднимется выше единицы не очень велика.
    • +10
    • 23,6k
    • 3
    ITI Capital
    257,00
    Лучший онлайн-брокер для работы на бирже
    Поделиться публикацией

    Комментарии 3

      0
      Очень интересно, еще одно доказательство расстущей популярности машинного обучения. A про признаках по подробнее можно — что входило в вектор признаков? Зачем понадобился РСА, неужели пространство настолько стало большим? Данные, которые использовались для экспериментов, можно ли их достать, чтобы самому поиграться?
        0
        Неплохо было бы начать с того, что такое волатильность.

        исследователь осуществил выборку с помощью линейной регрессии:

        выборку чего? фич?

        вероятность того, что в реальной торговли их коэффициент Шарпа поднимется выше единицы не очень велика.

        Похоже, к этому выводу приходят все пытающиеся применить машинное обучение к бирже :(
          0
          А что если применить машинное обучение не для технического анализа, а для фундаментального?

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое