Индикатор Stochastic — это признанный инструмент для торговли во флэтах. Контртрендовые сигналы индикатора работают действительно неплохо, если рынок долгое время торгуется в диапазоне. Однако у cтохастика есть нераскрытый потенциал. Он может быть хорошим инструментом, когда дело доходит до трендовых рынков, на которых, как считается, индикатор не работает.
Одним из первых, кто заметил и стал использовать трендовые свойства стохастика, был Джо ДиНаполи, о чем он написал в своей книге «Торговля с использованием уровней ДиНаполи». Так что создадим такую стратегию, использующую трендовые возможности стохастика, и отдадим ее в бэк- и форвард-тесты. Узнаем, работает ли трендовый подход со стохастиком.
Полезные материалы, которые хорошо бы изучить перед продолжением:
Видео
Индикатор стохастик (стохастический осциллятор) — как пользоваться, описание, применение и настройки
Индикатор стохастик — это классика, которую используют трейдеры по всему миру. Как правило, ему находят применение, когда рынок торгуется во флэте: на низах рынка индикатор помогает найти входы на покупку и наоборот на верхах рынка.
Стохастик движется в диапазоне от 0 до 100, показывает перекупленность или перепроданность финансового инструмента. Чаще всего, по умолчанию имеет следующие настройки:
- 5, 3, 3
- 8, 3, 3
- 14, 3, 3
Давайте на примере настроек 8, 3, 3 разберемся, как он работает, и как ведется торговля по стохастику.
Шаг 1. Быстрый стохастик — %К
Хоть линий у индикатора две, строятся они в три шага.
Сперва получаем быстрый стохастик. Для этого необходимо взять последние 8 баров или свечей. Отсюда цифра «8» в настройках. Выделив 8 свечей, находим в этом диапазоне минимальную и максимальную точку. Эти точки и станут границами диапазона — 0% и 100% соответственно.
Те самые 8 последних свечей, по которым строится первая точка.
Теперь можем получить первую точку быстрого стохастика. Для нее понадобятся три цены:
- минимум диапазона,
- максимум диапазона,
- цена закрытия (close).
Вычисляем эту точку по формуле:
(close — минимум) / (максимум — минимум) * 100%
Получая по этой формуле значение после каждого закрытия свечи, у нас появляются показания быстрого стохастика на графике.
Стохастик вырисовывает значения за последние 8 свечей.
Получилась довольно ломанная и “шумная” линия. Для более четких сигналов стохастик можно сгладить.
Шаг 2. Медленный стохастик — %D
Для сглаживания быстрого стохастика применим SMA с периодом 3. Отсюда, кстати, вторая цифра в настройках — «8, 3, 3». Нанеся 3-периодную SMA на быстрый стохастик, получаем линию следующего вида:
Оранжевая линия — медленный стохастик, голубая — быстрый (для сравнения).
Шаг 3. Сигнальная линия
Чтобы индикатор генерировал сигналы, на него набрасывают сигнальную линию. Данная линия является 3-периодной простой скользящей средней медленного стохастика и отображается в окне вместе с медленным стохастиком. Отсюда последняя цифра в настройках — «8, 3, 3».
Обычно сигнальную линию рисуют пунктиром либо более тонкой линией, чем медленный стохастик.
Оранжевая линия — медленный стохастик, голубая пунктирная — сигнальная линия.
Главный сигнал, который стохастик генерирует вместе с сигнальной линией, — это пересечение. Как описано в руководстве о скользящих средних, пересечение медленным стохастиком своей сигнальной линии сверху вниз может служить сигналом к покупке. И наоборот — пересечение медленным стохастиком сигнальной линии сверху вниз может служить сигналом к продаже.
Шаг 4. Уровни перекупленности и перепроданности
Наиболее популярные уровни, наносимые на индикатор, — это 80/20 и 70/30. Их называют уровнями перекупленности и перепроданности соответственно.
Пересечение уровней тоже используются как сигнал к открытию или закрытию позиции.
Например, пересечение медленным стохастиком уровня 20 снизу вверх может служить сигналом к покупке. А пересечение стохастиком уровня 70 сверху вниз может служить обратным сигналом.
Итоги по настройкам и сигналам
Трейдер ждет либо пересечения стохастика с одним из «пере-» уровней (уровни перекупленности и перепроданности — 80 и 20), либо пересечения индикатора со своей сигнальной линией (пересечение голубой с оранжевой, как на примере ниже). Ну либо ждет оба этих сигнала одновременно.
Примеры 2-х сигналов: цена перепродана, и быстрый стохастик пересекает медленный снизу вверх — сигналы на покупку (зеленый овал), цена перекуплена, и быстрый стохастик пересекает медленный сверху вниз — сигнал на продажу (красный овал).
Эти сигналы практически не подлежат обсуждению, однако в нашей базе бэктестов буквально не нашлось подтверждений надежности именно этих сигналов (пока не нашлось).
И напротив, мы получаем хороший инструмент для работы в трендах, если используем стохастик в его экстремальных зонах — покупки в перекупленности, продажи в перепроданности.
Как настроить стохастик для точного входа? На этот вопрос явного ответа нет. Лучше всего тестировать и экспериментировать с разными настройками для разных инструментов.
За 1 час поможем разобраться с факторами успеха и причинами неудач на финансовых рынках. Бесплатно 📈📊
Торговая гипотеза и описание стохастик-стратегии
Stochastic-стратегия, которую мы оценим в этой статье, была разработана как раз для эксплуатации трендоследящих возможностей стохастического осциллятора. С учетом того, что индикатор проводит довольно много времени в экстремальных зонах, почему бы не использовать эти данные?
Таким образом, стратегия будет покупать, когда стохастик входит в зону перекупленности, и продавать на входе стохастика в зону перепроданности.
Стохастик в зоне перекупленности, можно поискать лонги.
Торговые сигналы, правила входа и выхода, настройки бэк-теста стратегии со стохастиком
Построим торговую стратегию, которая покупает только когда стохастический осциллятор в состоянии перекупленности и продает, когда стохастик в перепроданности. В текущей версии стратегии рабочий таймфрейм для отслеживания сигналов стохастика — Н4.
На этапе бэк-тестирования значения уровней будут варьироваться. В исходном коде стратегии это параметр p1_level_dn. Всего он принимает 4 значения: от 10 до 40, шаг 10. В то же время значение уровня перекупленности вычисляется автоматически (100 минус перепроданность).
Теперь, чтобы усовершенствовать точку входа, применим немного Price Action. Для открытия лонга нам понадобится краткосрочный откат и довольно широкий бар для формирования сигнала. Вдобавок к этому (для сигнала лонг) максимум сигнального бара будет ниже максимальной цены предыдущих 4-х баров, так же и минимум — ниже минимальной цены предыдущих 4-х баров.
Сигнал на этом рисунке.
Сигнал лонг.
Чтобы еще дальше усовершенствовать сигнальный бар, введем дополнительный критерий: тело сигнального бара не должно превышать Х процентов всего диапазона бара. Можно скачать исходники стратегии и отчеты по ее бэк-тестам, в них есть параметр, который отвечает за соотношение тела к диапазону бара — параметр p3_lim_b2rg (расшифровка: parameter 3, limit, body to range).
И последний штрих по совершенствованию сигнала: введем параметр, который отвечает за цену закрытия бара. Это p4_close_zone. Для формирования сигнала на покупку цена закрытия должна быть выше цены, определяемой этим параметром.
Остается еще один параметр p2_sl. Это стоп-лосс, который измеряется в ATR-ах (30-периодных) на Н4 графике.
Как создавать торговые стратегии на основе статистики и данных, способных работать 24/5 — подскажет курс "Системный трейдинг" 📊
Бэк-тест стратегии на Stochastic
Софт для бэк-тестирования
Другие параметры бэк-теста
Всего мы протестировали 2 версии этой стратегии.
Версия 1 работает без тейк-профита, стратегия закрывает сделку, когда Stochastic уходит из зоны перекупленности или перепроданности. Так 4 параметра дают всего 180 комбинаций.
В версии 2 появляется тейк-профит. За него отвечает параметр p5_tp. Например, p5_tp = 2 означает, что тейк-профит в 2 раза больше стоп-лосса. Так 5 параметров дают всего 540 комбинаций.
Параметры бэк-теста для обеих версий.
Исторические окна: версия 1 — с 4 января 2010 по 7 февраля 2021; версия 2 — с 4 января 2010 по 7 марта 2021.
Инструменты: 28 валютных пар, 2 драгметалла.
В нашем Telegram канале есть то, чего не публикуем в блоге 👇
Форвард-тест
В форвард-тестах использовались все наборы сделок, полученных на бэк-тестах.
Тренировочная (IS — in-sampe) и валидационная (OS — out-of-sample) фазы варьируются и измеряются в неделях. Мы перебрали IS фазы от 2 до 8 лет, OS фазы от 0.5 до 3 лет. При отборе алгоритмов на фазе IS использовались критерии: TPM — количество сделок в месяц, RF — фактор восстановления, R-squared — R-квадрат.
Результаты форвардного теста, pa_stoch_v1.
Результаты получились относительно неплохими. Они показывают снова и снова, что увеличение фаз IS и OS в среднем улучшает результаты.
Форвардный анализ, фаза IS 416 недель, фаза OS 104 недели. Средний годовой доход 14.4%.
Ввиду того, что в версии 1 нет тейк-профита, становится понятно, почему на кривой капитала имеется несколько сделок с очень высокой доходностью. Это как раз те ситуации, когда стохастик проводит много времени в зонах перекупленности или перепроданности — то есть в затяжных трендах.
Странный форвард, очень редкие сделки.
Вот пример странного форвардного теста. Частично это можно объяснить самими критериями отбора, например, TPM (количество сделок в месяц) задан от 0.1 до 5, что, в общем, не отличается от примера выше. Но с другой стороны, требования по RF и R-squared тоже очень занижены. Это означает, что для продвижения алгоритма из фазы IS в фазу OS достаточно, чтобы на тренировочной фазе алгоритм выдал не самую ровную кривую капитала и показал невысокую доходность. Тем не менее, даже такие настройки привели к прибыли на форвардном тесте. Средний годовой доход 9.6%, максимальная просадка 11.1%.
Взглянем на версию 2.
Итоги форвард-анализа, pa_stoch_v2.
Версия 2 будет чуть похуже, красных ячеек больше, что означает больше отрицательных результатов на OS фазах.
Самая высокая доходность получена на тесте ниже. Здесь бросается в глаза низкая частотность сделок.
Форвардный анализ, фаза IS 8 лет, фаза OS 1 год.
Возьмем какую-нибудь кривую капитала, где заметно больше сделок.
Форвардный анализ, фаза IS 8 лет, фаза OS 3 года.
Это одна из самых гладких кривых капитала, полученных на форвардном тесте. Не совсем то, что трейдеру хочется видеть, особенно если посмотреть на кривые капитала из двух соответствующих IS фаз.
Две фазы IS по 8 лет каждая, из которых роботы продвигались для торговли на фазах OS по 3 года.
Снова перед нами классическая проблема оверфиттинга (подгонки): фаза IS дает блестящий результат, но на фазе OS прибыль сильно хуже или убыток.
Выводы
Проведенные бэк- и форвард-тесты являются еще одним примером того, как трейдер может попасть в ловушку оверфита. Но несмотря на то, что большинство тестов отрицательные, из всего опыта можно извлечь несколько уроков.
Первое: в новых версиях стратегию можно модифицировать так, чтобы она отслеживала более крупные тренды, скажем, на дневных таймфреймах.
Не надо использовать настройки стохастика для разных мелких таймфреймов — скорее всего, эффективного использования индикатора вы там не найдете.
Оставим это как гипотезу для работы с будущими версиями робота.
Второе: идея использовать Stochastic как трендовый индикатор действительно имеет смысл — результаты намного лучше, чем тестирование классических сигналов стохастика. Лучше настолько, что пока ни одна стратегия на основе классических сигналов Stochastic не прошла даже первых испытаний перед массовыми тестами.