Стратегия высокочастотного арбитража

Автор:Чао Чжан, Дата: 2024-01-08 15:47:41
Тэги:

img

Обзор

Эта стратегия использует метод суждения, основанный на K-линейном шаблоне, для реализации высокочастотного рыночного арбитража. Ее основная идея заключается в открытии и закрытии сделок для высокочастотного рыночного arbitrage путем оценки бычьих / медвежьих моделей в разных K-линейных временных рамках. В частности, стратегия одновременно отслеживает несколько K-линейных временных рамок и принимает соответствующие длинные или короткие позиции, когда она наблюдает последовательные рост или падение K-линий.

Логика стратегии

Основная логика этой стратегии заключается в суждении о бычьих/медвежьих моделях в разных K-линейных временных рамках. В частности, она одновременно отслеживает 1-минутные, 5-минутные и 15-минутные K-линии. Стратегия определяет текущее настроение, проверяя, выросли или упали ли цены по сравнению с N предыдущими K-линиями. Если цены последовательно растут, это указывает на бычье настроение; если цены последовательно падают, это сигнализирует о медвежьем взгляде.

Основная логика реализуется путем отслеживания двух индикаторовupsиdns, которые записывают количество последовательных поднимающихся и опускающихся K-линий.consecutiveBarsUpиconsecutiveBarsDownпозволяют настраивать порог для определения тенденции.upsбольше или равноconsecutiveBarsUp, это сигнализирует о тенденции к росту; когдаdnsпревышаетconsecutiveBarsDownКроме того, стратегия указывает временной диапазон обратного тестирования и сообщения об исполнении ордеров и т.д.

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

Преимущества этой стратегии включают:

  1. Использование высокочастотных арбитражных возможностей для формирования рынка
  2. Простая и эффективная логика, основанная на K-линейных моделях
  3. Одновременный мониторинг нескольких временных рамок улучшает скорость захвата
  4. Интуитивное настройка параметров
  5. Конфигурируемый интервал времени обратного тестирования для оптимизации

Риски

Кроме того, следует учитывать ряд рисков:

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

Возможные способы смягчения рисков включают:

  1. Включить больше логики для определения разумного входа/выхода
  2. Оптимизировать параметр для сбалансирования частоты торговли и прибыльности
  3. Рассмотрим больше факторов, таких как объем, волатильность, чтобы судить о тенденциях
  4. Испытать различные механизмы остановки потери для ограничения потери по сделке

Возможности для расширения

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

  1. Добавьте больше факторов, чтобы судить о моделях, помимо простых подъёмов / падений, таких как амплитуда, энергия и т. Д.
  2. Оценивать другие индикаторы входа/выхода, такие как MACD, KD и т.д.
  3. Включить технические факторы, такие как MA, каналы для фильтрации сигналов
  4. Оптимизируйте параметры в разных временных рамках для поиска лучших комбинаций
  5. Разработка механизмов стоп-лосса и прибыли для улучшения стабильности
  6. Внедрить контроль количества рисков, таких как максимальные позиции, частота торговли и т.д.
  7. Испытание на различных продуктах для поиска наилучшего соответствия

Заключение

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


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-21 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

// Strategy
strategy("Up/Down Strategy", initial_capital = 10000, default_qty_value = 10000, default_qty_type = strategy.cash)

consecutiveBarsUp = input(1)
consecutiveBarsDown = input(1)

price = close

ups = 0.0
ups := price > price[1] ? nz(ups[1]) + 1 : 0

dns = 0.0
dns := price < price[1] ? nz(dns[1]) + 1 : 0

// Strategy Backesting
startDate  = input(timestamp("2021-01-01T00:00:00"), type = input.time)
finishDate = input(timestamp("2021-12-31T00:00:00"), type = input.time)

time_cond  = true

// Messages for buy and sell
message_buy  = input("{{strategy.order.alert_message}}", title="Buy message")
message_sell = input("{{strategy.order.alert_message}}", title="Sell message")

// Strategy Execution

if (ups >= consecutiveBarsUp) and time_cond
    strategy.entry("Long", strategy.long, stop = high + syminfo.mintick, alert_message = message_buy)
    
if (dns >= consecutiveBarsDown) and time_cond
    strategy.entry("Short", strategy.short, stop = low + syminfo.mintick, alert_message = message_sell)

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

Больше