Стратегия торговли Momentum Aperture


Дата создания: 2023-12-28 14:38:33 Последнее изменение: 2023-12-28 14:38:33
Копировать: 0 Количество просмотров: 1021
1
Подписаться
1623
Подписчики

Стратегия торговли Momentum Aperture

Обзор

Стратегия Momentum Gap Trading - это количественная торговая стратегия, которая отслеживает колебания цен. Она использует разрыв между ценой открытия и ценой закрытия предыдущего дня, чтобы создать динамический показатель и генерировать торговый сигнал с этого показателя.

Эта стратегия основана на статье бывшего количественного аналитика Boeing Perry J. Kaufman, опубликованной в январе 2024 года в журнале Phoenix Technical Analysis. Kaufman построил временную последовательность движущихся величин, отслеживающих пробелы, и предложил использовать движущиеся средние величины этой временной последовательности в качестве торгового сигнала.

Стратегический принцип

Ключом к стратегии движущихся пробелов является построение временной последовательности движущихся пробелов. Конструкция похожа на количественную терминологию, используемую для обозначения эластичности объема на балансе (On-Balance Volume, OBV), только используется ввод цены, который превращается в ежедневные пробелы от ежедневной закрывающей цены.

Процесс подсчета:

  1. Рассчитайте отношение абсолютных значений последнего N-го прямого отверстия к отрицательному отверстию
  2. Агрегация пропорций в последовательность пороховых движений
  3. Применение последовательности поперечных величин к отверстиям генерирует сигнал с движущейся средней

Положительная порция определяется как разница между ценой открытия и ценой закрытия на день ранее, а отрицательная порция - наоборот. Показатель по сути отражает контрастность между сильными положительными и отрицательными порциями за последнее время.

Движущаяся средняя сглаживает первоначальную волатильную последовательность, которая может быть использована для отправки торгового сигнала. Эта стратегия использует медленно движущуюся среднюю, которая делает больше, когда она проходит медленно движущуюся среднюю на быстром прорезином.

Анализ преимуществ

По сравнению с традиционными техническими показателями, стратегии сдвижных отверстий имеют следующие преимущества:

  1. Повышение цены - способ поймать рыночный дисбаланс

Пропасть в ценах (Gap) представляет собой гигантский дисбаланс спроса и предложения, а направление скачка представляет собой перемещение рыночных ценных бумаг. Эта стратегия эффективно улавливает этот дисбаланс, сравнивая рыночную силу плюсового пространства с помощью пробелов.

  1. Продолжительность

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

  1. Меньше параметров, проще внедрения

Весь индикатор содержит только два параметра, окно для отслеживания динамики и сигнал для сглаживания.

  1. Количественный, подходит для автоматической торговли

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

Анализ рисков

Несмотря на много преимуществ, в стратегии по использованию пороховых двигателей есть некоторые риски:

  1. Подвержены ошибочным сигналам

Повышение цены может вскоре вызвать пополнение, что может привести к появлению ложных сигналов.

  1. Неэффективное реагирование на землетрясения

При частом колебании цены, индикатор будет выпускать множество взаимоуничтожающих торговых сигналов.

  1. Потенциальные проблемы с оптимизацией

Только два параметра могут легко привести к переоптимизации исторических данных.

Рекомендуется контролировать риски следующими способами:

  1. Применение стопа для ограничения одиночных убытков

  2. Увеличение параметров для большего количества рыночных условий

  3. Оптимизация множественных комбинаций для предотвращения переоптимизации

Направление оптимизации

Эта стратегия может быть расширена и оптимизирована в следующих аспектах:

  1. Комбинация нескольких временных периодов

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

  1. Интегрированный показатель прыжков

Например, в управлении рисками используется совместное использование показателя истинного разрыва и показателя ATR.

  1. Рассмотреть все аспекты прыжка

Включают в себя более разрывные характеристики, такие как расстояние, количество прыжков и дата их совершения.

  1. Модели машинного обучения

Более сложные модели машинного обучения, использующие данные прыжков, могут достичь лучшей производительности.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//  TASC Issue: January 2024 - Vol. 42, Issue 1
//     Article: Gap Momentum Indicator
//              Taking A Page From The On-Balance Volume
//  Article By: Perry J. Kaufman
//    Language: TradingView's Pine Script™ v5
// Provided By: PineCoders, for tradingview.com


//@version=5
string title  = 'TASC 2024.01 Gap Momentum System'
string stitle = 'GMS'
strategy(title, stitle, false)


int period       = input.int( 40,   'Period:')
int signalPeriod = input.int( 20,   'Signal Period:')
bool longOnly    = input.bool(true, 'Long Only:')


float gap   = open - close[1]
float gapUp = 0.0
float gapDn = 0.0
switch
    gap > 0 => gapUp += gap
    gap < 0 => gapDn -= gap


float gapsUp   = math.sum(gapUp, period)
float gapsDn   = math.sum(gapDn, period)
float gapRatio = gapsDn == 0?1.0:100.0*gapsUp/gapsDn
float signal   = ta.sma(gapRatio, signalPeriod)


if strategy.opentrades <= 0 and signal > signal[1]
    // buy at next open:
    strategy.entry('long', strategy.long)
else if strategy.opentrades > 0 and signal < signal[1]
    if longOnly
        // close all at next open:
        strategy.close_all()
    else
        // sell at next open:
        strategy.entry('short', strategy.short)


plot(gapRatio, 'Gap Momentum', color.red,    2)
plot(signal,   'Signal',       color.silver, 1)