Традиционный технический анализ похож на интерпретацию созвездий на небе. Соедините ряд точек (поворотов), чтобы найти интересный паттерн, такой как фигура «голова и плечи» или красивая бабочка, а затем предположительно паттерн будет либо бычьим, либо медвежьим.

Многие технические специалисты проводят свою жизнь в погоне за Святым Граалем: системой, которая сделает их богатыми, просто обнаружив общие модели и выполняя сделки, просто следуя специальному рецепту. Техники в истории, такие как Эдвардс, Эллиотт, Фибоначчи, Ганн и Гартли, показали нам визуально привлекательные графики, но не показали никаких доказательств того, что эти методы действительно работали.

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

Системы обычно работают в двух контекстах: тренд и контртренд. Вы можете использовать такую ​​систему, как прорыв открытого диапазона Тоби Крэбела (ORB), для дней с самым широким диапазоном (WR), когда, по вашему мнению, рынок или инструмент будут двигаться в тренде, или в качестве альтернативы вы можете ослабить поддержку и сопротивление в стратегии возврата к среднему. [Обратите внимание, что г-н Крэбел управляет успешным хедж-фондом и написал редкую новаторскую книгу о краткосрочной торговле: Дневная торговля с краткосрочными ценовыми паттернами и прорывом диапазона открытия]

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

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

Вернемся к нашему примеру. Давайте посмотрим на паттерн Crabel WR4 на ежедневной основе (широкийнаилучший Rдиапазон с 4 > с указанием скользящего четырехдневного периода). Мы хотим обучить модель, которая предсказывает, будет ли какой-либо конкретный день иметь самый широкий диапазон за последние четыре дня. Если наша обученная модель дает нам какую-либо прогностическую силу, мы можем отсеять Nнаиболее узкие дни Rrange (NR) и не торговать систему ORB, отсекая убыточные сделки. Мы хотим найти паттерны WR4 с достаточно высокой точностью.

Во-первых, примечание о несбалансированных классах. Если шаблон, который вы пытаетесь предсказать, встречается редко, и вы пытаетесь достичь наибольшей точности, то обучение модели, как правило, будет бесполезным, поскольку классификатор будет смещен в сторону предсказания большинства классов. Я предпочитаю получить как можно больше данных, а затем провести недостающую выборку мажоритарного класса, чтобы результирующие классы (метки обучения) были одинаково сбалансированы.

Обучив данные с помощью Random Forests и XGBoost, мы получили следующие результаты на наших тестовых наборах:

Для любого алгоритма мы можем предсказать дни WR4 с точностью почти 70%. Следовательно, мы можем затем определить наши собственные торговые режимы, чтобы выбрать наиболее подходящую систему в начале каждого торгового дня. Мы также можем экспериментировать с этими моделями на разных фракталах, таких как недельные или даже внутридневные, на HFT (Hвысокая Fчастота T рейтинг).

Давайте теперь рассмотрим важность функций, чтобы увидеть, улавливают ли оба алгоритма общие важные функции:

Из 10 основных функций у нас есть 5 общих важных функций, хотя и не в том же порядке или величине: 17, 42, 109, 110 и 130. Тем не менее эти гистограммы относительной важности каждой функции укрепляют нашу уверенность в модель.

Перед развертыванием любой модели в режиме реального времени мы хотим оценить деградацию модели между обучающим и тестовым наборами. Для классификаторов я предпочитаю как ROC (Rприемная Oрабочая C характеристика), так и калибровочные кривые. Во-первых, вот кривые ROC:

Вы можете видеть, что среднее значение AUC (Areason Under Curve) уменьшилось с 0,87 в тренировочный набор 0,71 в тестовом наборе, как и ожидалось. Теперь давайте сравним уровни достоверности при калибровке каждого классификатора. Мы хотим убедиться, что все наши калибровочные кривые наклонены вверх слева направо.

Идеально откалиброванный классификатор дал бы прямую линию, но мы по-прежнему видим, что даже в тестовом случае кривые наклонены вверх. Итак, какой алгоритм лучше? На нижнем правом графике показано распределение среднего прогнозируемого значения [децили 0,1] для RF и XGB. Ясно, что распределение количества XGB (зеленая линия) более равномерное, что дает нам больше уверенности. В противоположность этому, количество децилей РФ довольно мало в обоих концах. В большинстве случаев я предпочитаю использовать XGBoost, так как у него безупречная репутация и он выиграл множество конкурсов Kaggle.

Для практиков технического анализа не все потеряно. Смысл машинного обучения в том, чтобы строить полезные модели на основе данных, а технический анализ — это именно данные. Но вам больше не нужно экспериментировать с несколькими вариантами RSI или MACD на ваших графиках. Вы можете просто загрузить тысячи этих технических индикаторов в блендер функций и посмотреть, что получится.

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