Количественная торговая стратегия стохастических циклов Элерса
Обзор
Стратегия стохастического цикла Элерса — это количественная торговая стратегия, использующая индикатор стохастического цикла Элерса для генерации торговых сигналов. Стратегия объединяет преимущества стохастического осциллятора и циклического индикатора, стремясь уловить циклические возможности на рынке.
Принцип стратегии
Сначала стратегия строит сглаженный циклический индикатор, а затем на его основе вычисляет стохастическое значение. Торговые сигналы генерируются при пересечении скользящей средней этого стохастического значения.
В частности, сглаженный циклический индикатор рассчитывается по формуле:
smooth = (src + 2 * src[1] + 2 * src[2] + src[3]) / 6
где src — входные ценовые данные, например, цена закрытия. Этот индикатор комбинирует текущую цену и цены трех предыдущих периодов, создавая сглаженный циклический сигнал.
На основе сглаженного индикатора затем вычисляется стохастический цикл cycle:
cycle := (1 - .5 * alpha) * (1 - .5 * alpha) *
(smooth - 2 * smooth[1] + smooth[2]) +
2 * (1 - alpha) * cycle[1] -
(1 - alpha) * (1 - alpha) * cycle[2]
Эта формула включает разность второго порядка сглаженного циклического сигнала, а также значения двух предыдущих циклов. α — коэффициент сглаживания, регулирующий вес старых и новых циклических значений.
Наконец, на основе cycle вычисляется стохастическое значение value1 в диапазоне 0–100. По 10-дневной скользящей средней value1 строится сигнальная линия signal. Когда скользящая средняя signal пересекает её вверх или вниз, генерируется торговый сигнал.
Преимущества стратегии
Стратегия объединяет стохастический и циклический индикаторы, используя преимущества обоих. По сравнению с простыми трендовыми стратегиями, такими как скользящие средние, данная стратегия позволяет лучше улавливать циклические возможности, достигая лучших результатов.
Основные преимущества:
- Циклический индикатор идентифицирует повторяющиеся паттерны, а стохастический предоставляет точки входа/выхода.
- Двойная индикаторная конструкция эффективно отфильтровывает ложные сигналы.
- Настраиваемые параметры позволяют адаптироваться к различным рыночным условиям.
Риски стратегии
Основные риски данной стратегии:
- Неправильная настройка параметров может привести к частым сделкам, увеличивая торговые издержки и проскальзывание.
- Неспособность эффективно обрабатывать рынки с резкими ценовыми колебаниями, что может привести к значительным убыткам.
- Сильная зависимость циклического индикатора от подгонки кривой, неправильная подгонка может порождать ложные сигналы.
Риски можно контролировать путем оптимизации параметров, установки стоп-лоссов, использования дополнительных фильтрующих индикаторов и других методов.
Направления оптимизации стратегии
Стратегию можно оптимизировать по следующим направлениям:
- Комбинирование с другими техническими индикаторами (например, полосы Боллинджера, RSI) для фильтрации сигналов и сокращения ложных срабатываний.
- Внедрение адаптивного механизма выхода, динамически изменяющего стоп-лосс в зависимости от волатильности рынка.
- Использование методов машинного обучения для автоматической оптимизации параметров, позволяя стратегии динамически адаптироваться к рынку.
- Оптимизация использования капитала с помощью кредитного плеча, реинвестирования и других методов повышения эффективности использования средств.
Заключение
Стратегия стохастического цикла Элерса объединяет преимущества стохастического и циклического индикаторов, эффективно контролирует риски за счет двойного сигнала и позволяет получать хорошую прибыль на рынках с выраженной цикличностью. При дальнейшей оптимизации данная стратегия может стать рекомендуемой количественной торговой стратегией.
/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Ehlers Stochastic Cyber Cycle Strategy",overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 1, commission_type = strategy.commission.percent, commission_value = 0.1)
src = input(hl2, title = "Source")
alpha = input(.07, title = "Alpha")- 1

