Торговля с классификацией (SVM) и техническим анализом

Уведомление редакции: Спасибо Валерию Т за устранение утечки данных. Правильный код находится в ссылке Github, но сохраните исходный текст в качестве напоминания о подозрениях, когда результаты тестов вне выборки выглядят слишком хорошо!

Эта статья - вторая часть (для первой статьи) из нескольких обзоров, которые я выстроил, комментируя курсы Quantra. В частности, это будет обзор их курса Торговля с машинным обучением: классификация и SVM. Для тех из вас, кто не знаком, Quantra - это обучающая платформа, ориентированная на алгоритмическую торговлю. Думайте об этом как о замене для тех из вас, кто имел опыт работы с Quantopian до того, как он вышел из строя.

Если вы заинтересованы в том, чтобы опробовать курс самостоятельно или найти другие, похожие на него, то НАЖМИТЕ ЗДЕСЬ, чтобы увидеть мою реферальную ссылку.

Для кого курс и подходит ли он?

Этот курс, как и курс регрессии, хорош для людей, желающих лучше познакомиться с торговым алгоритмом на Python - с моделями классификации. Аналогичным образом из их курса регрессии все кодирование, математика и машинное обучение преподаются для обслуживания нескольких стилей обучения. Например, это сочетание видеороликов, объяснений в PDF-файлах, викторин и кодов, на которые уходит более 4 часов обучения.

Преимущества курса

Объясните концепцию опорных векторов

Объясните, что такое гиперплоскость

Используйте перекрестную проверку для настройки гиперпараметров машины опорных векторов

Разработайте торговую стратегию для прогнозирования тренда на следующий день с помощью классификатора опорных векторов.

Бумажная торговля, анализ стратегий и применение на реальных рынках без каких-либо установок или загрузок [1]

Интересные примечания

В этом курсе применяется пакет «Талиб». Лично меня установка всегда очень утомляла, но, к счастью, курс упрощает использование. Помимо этого одного пакета, в курсе хорошо сочетаются математика, код и общий обзор классификации.

Мне нравится, как в курсе описываются такие показатели классификации, как F1, и то, что точности недостаточно для решения подобных задач. Конечно, существует много типов классификационных моделей, но в основном обсуждаемая модель - это вспомогательный векторно-машинный классификатор (SVM).

Торговая модель машины опорных векторов (SVM)

Машины опорных векторов довольно универсальны, поскольку они работают как для классификации, так и для регрессии. В нашем случае мы сосредоточимся на стороне классификации. Если вы хотите продолжить, вот ссылка на Github. Для нашего кода мы возьмем данные о ценах из Foot Locker (FL) от Yahoo Finance с 2017 по 2021-08-04. Ниже представлен график цены закрытия всех данных:

SVM довольно хороши в высокоразмерных наборах функций, поэтому мы собираемся добавить больше функций, чем мы сделали в модели регрессионной торговли в предыдущей статье. Для создания наших функций мы будем использовать Talib. К техническим индикаторам, которые мы добавим, относятся индекс относительной силы (RSI), простая скользящая средняя (SMA), корреляция между ценой закрытия и скользящей средней, параболический SAR (SAR), средний направленный индекс (ADX), разница между ценой закрытия и закрытием. цены и, наконец, ежедневные доходы.

Для этого конвейера мы просто применим стандартный масштабатор прямо в SVM. Масштабирование используется для обработки выбросов, в то время как SVM будет настроен гиперпараметром, чтобы выбрать лучшие значения из обучающего набора. Поскольку мы хотим имитировать тест вне выборки, например, форвард-тест, мы применим функцию TimeSeriesSplit, чтобы оставить самые актуальные даты для тестирования.

Для торговой стратегии мы разделим на три группы: покупка, бездействие и продажа. Из нашей обучающей выборки мы сначала организуем отдачу от самого высокого до самого низкого. Верхние 33% будут помечены как покупка (1), а нижние 33% будут помечены как продажа (-1). Левое превышение значений будет классифицировано как бездействие (0). В результате тестирования мы получаем матрицу путаницы и матрицу классификации ниже:

Оба приведенных выше показателя показывают, что модель лучше предсказывает, когда открывать длинную позицию, чем что-либо еще. Следует отметить, что отзыв по длинной стороне впечатляющих 87%!

Еще одна важная вещь при использовании торговой модели - это знать, сколько вы можете потерять. Это называется просадкой, и, в частности, мы рассмотрим максимальную просадку.

Максимальная просадка - это вопрос, который каждый инвестор должен решить, что для него больше всего. Я считаю, что большинство людей предпочли бы, чтобы просадка составляла менее 20%, при этом большинство предпочитает 10% или меньше. Эта модель была -11,66%.

Наконец, SVM-классификация по возвратам FL:

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

Вывод

Таким образом, курс «Торговля с использованием машинного обучения: классификация и SVM» был довольно увлекательным. Этот курс понравится тем, кто хочет попробовать другой метод прогнозирования на основе обычных показателей регрессии. Для начинающих этот курс содержит хорошее описание, позволяющее понять, как работают бинарные и множественные классификации, что может быть хорошим напоминанием о собеседовании для других. Другие интересные вещи, которые стоит попробовать, - это различные функции и другие активы.

Если вы заинтересованы в том, чтобы опробовать курс самостоятельно или найти другие, похожие на него, то НАЖМИТЕ ЗДЕСЬ, чтобы увидеть мою реферальную ссылку.

Заявление об ограничении ответственности: все, что изложено в этой статье, принадлежит мне, а не работодателю. Инвестирование сопряжено с серьезным риском, поэтому для принятия любых инвестиционных решений обращайтесь к своему консультанту по инвестициям. Я могу активно торговать активами, указанными в этой статье. Этот пост содержит партнерские ссылки, связанные с Quantra.

использованная литература

[1] Quantinsti. (нет данных). Торговля с машинным обучением: классификация и SVM. Получено с https://quantra.quantinsti.com/course/trading-machine-learning-classification-svm/?ref=lesterleong