В нашем блоге мы много пишем о создании торговые роботы и алгоритмические торговые технологии.
Сегодня мы поговорим о том, можно ли создать успешную торговую стратегию, используя только исторические торговые данные и алгоритмы машинного обучения.
Дэвид Монтак, выпускник Стэнфордского университета и сотрудник Palantir Technologies, написал статья , в которой он описал создание алгоритмических стратегий для торговли фьючерсами на основе исторических данных.
Монтэг использовал методы машинного обучения для прогнозирования будущих цен и волатильности.
Представляем вашему вниманию описание эксперимента и выводы, к которым пришел исследователь.
Начало работы
Целью эксперимента была разработка высокоэффективных алгоритмических торговых стратегий для представления их на конкурсе.В ходе этого конкурса торговые системы работают на исторических данных и на реальной торговле на платформе Quantiacs (максимально приближенной к тому, как это происходит на бирже), по результатам каждого из этих тестов составляется рейтинг лучших систем.
скомпилировано.
Цель конкурса — получить стратегию с оптимальной эффективностью, измеряемой коэффициентом Шарпа (отношение средней прибыли к средней волатильности).
Победитель получает инвестиции в размере $1 млн, участник, занявший второе место, получает $500 тысяч, третье место получает $250 тысяч.
Коэффициент Шарпа – отношение годовой прибыли к годовой волатильности.
Исторические данные конкурса включают примерно 3800 дней торгов (данные о ценах и объемах торгов) с 1 января 2001 года по сегодняшний день.
Информация представлена по 27 различным фьючерсным контрактам, включая валюты, драгоценные металлы, сельскохозяйственную продукцию и т.д. Данные включают максимальные и минимальные цены дня, а также цены открытия и закрытия и объемы торгов за период. В каждый торговый день правила конкуренции позволяют стратегии использовать в качестве входных данных информацию за предыдущие 504 торговых периода (в результате получается вектор из 2520 элементов).
Монтэг предположил, что было бы более эффективно прогнозировать будущую цену и волатильность каждого фьючерсного контракта независимо, используя данные исключительно об их прошлом поведении.
Алгоритмы
Чтобы спрогнозировать волатильность и эффективность торговли, Монтэг использовал четыре алгоритма регрессии:- Линейная и регуляризованная регрессия (собственная разработка);
- Нейронные сети (с использованием инструмента MATLAB Neural Networks);
- Случайный лес (с использованием функции MATLAB Tree-Bagger);
- Повышение градиентного дерева решений (пакет GBM для R).
Для каждой из задач использовалось два набора данных — обучающий набор, состоящий из 9424 примеров (80% доступных данных) и тестовый набор из 2356 примеров (20% данных).
Распределение обучающей и тестовой выборок было хронологическим – обучающие примеры содержали 80% исходных данных, а тестовые – последние 20% данных.
Полученные результаты
Прежде чем сравнить производительность различных алгоритмов машинного обучения, исследователь выполнил выборку с помощью линейной регрессии:Алгоритм | Обучение р 2 | резюме р 2 | Тест р 2 |
---|---|---|---|
ПКА (82) | 0.631 | 0.490 | 0.473 |
ТИ (18) | 0.710 | 0.645 | 0.637 |
ТИ (7) | 0.713 | 0.647 | 0.639 |
Числа в скобках представляют размеры вектора признаков.
После проведения анализа главных компонент, сокращенного до 250 элементов и нормализованного вектора, было получено оптимальное количество главных компонент — 82. Однако использование линейной регрессии с использованием вектора всех технических показателей из 18 элементов позволило добиться лучшего результата.
результаты, в результате Монтэг смог выделить семь технических индикаторов, использование которых может еще больше улучшить результаты.
В таблице ниже показана эффективность четырех алгоритмов прогнозирования волатильности с использованием 7 индикаторов.
Алгоритм | Обучение р 2 | Резюме р 2 | Тест р 2 |
---|---|---|---|
ЛР | 0.713 | 0.647 | 0.639 |
НН | 0.734 | 0.660 | 0.632 |
РФ | 0.731 | 0.664 | 0.649 |
ГБМ | 0.701 | 0.666 | 0.638 |
Наилучшие результаты были достигнуты при использовании алгоритма случайного леса.
Ниже приведены результаты прогнозирования прибыли:
Алгоритм | Обучение р 2 | резюме р 2 | Тест р 2 |
---|---|---|---|
Р.
Р.
|
0.169 | 0.142 | 0.138 |
НН | 0.088 | 0.013 | -0.088 |
РФ | 0.236 | 0.069 | -0.102 |
ГБМ | 0.328 | 0.154 | 0.028 |
Отрицательные значения соответствуют «коротким продажам».
Чтобы использовать прогнозы волатильности и доходности, Монтэг создал трехпараметрический торговый алгоритм, который сравнивает ожидаемую доходность с прогнозируемой волатильностью и использует полученное значение в качестве желаемого распределения портфеля.
На диаграмме ниже показана эффективность этой стратегии: ей удалось достичь годовой доходности 6,63% при годовой волатильности 5,58% и коэффициенте Шарпа 1,18.
Однако при использовании только первой половины имеющихся исторических данных стратегия показала коэффициент Шарпа 1,33, а когда в выборку была включена только вторая часть данных, это число было значительно ниже – 0,73. Этот факт указывает на то, что не стоит ожидать одинаково хорошей производительности стратегии как в прошлом, так и в будущем, но на некоторую продуктивность можно рассчитывать.
По данным ресурса Инвестопедия Коэффициент Шарпа 1 и выше считается хорошим показателем, коэффициент Шарпа 2 и выше считается очень хорошим, а коэффициент Шарпа 3 и выше считается отличным.
Стратегии, полученные с использованием вышеуказанных методов, смогли показать максимальный коэффициент Шарпа 1,2 на исторических данных и значительно меньший для будущих данных.
Несмотря на то, что эти стратегии показали прибыль, вероятность того, что в реальной торговле их коэффициент Шарпа поднимется выше единицы, не очень высока.
Теги: #алгоритмический трейдинг #трейдинг #онлайн-торговля #Алгоритмы #торговые роботы #Разработка сайтов
-
Как Выбрать Подходящий Курс Обучения?
19 Oct, 24 -
Поиск По Коду Google Обновлен.
19 Oct, 24 -
Чтобы Роскомнадзор Не Пришел Внезапно
19 Oct, 24