Стратегия арбитража с двойным обращением

Автор:Чао Чжан, Дата: 2024-02-06 09:58:04
Тэги:

img

Обзор

Стратегия двойного реверсивного арбитража - это алгоритм арбитража, который объединяет двойные индикаторы реверсивного арбитража.

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

Стратегия состоит из двух подстратегий:

  1. 123 Система обратного движения: Это из книги Как я утроил свои деньги на рынке фьючерсов Ульфа Дженсена, страница 183. Правила торговли: когда цена закрытия выше предыдущей цены закрытия и ниже цены закрытия 2 дня назад, идти длинный, когда медленная линия K ниже 50; когда цена закрытия ниже предыдущей цены закрытия и выше цены закрытия 2 дня назад, идти короткий, когда быстрая линия K выше 50.

  2. Осиллятор Гэнна: он был адаптирован из книги Роберта Крауша "A W.D. Gann Treasure Discovered". Он оценивает направление колебаний рынка, рассчитывая рост и падение самых высоких и самых низких цен за определенный период.

Торговая логика этой стратегии арбитража заключается в следующем: когда направления сигналов двух подстратегий последовательны, генерируются фактические торговые сигналы. Длинный сигнал - когда обе подстратегии дают длинные сигналы одновременно; короткий сигнал - когда обе подстратегии дают короткие сигналы одновременно.

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

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

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

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

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

Руководство по оптимизации

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

  1. корректировка параметров подстратегий для оптимизации частоты торгов;
  2. Добавление оценок других технических показателей для улучшения качества сигнала;
  3. Оптимизировать вес подстратегий на основе различных продуктов и временных рамок;
  4. Добавить механизмы остановки потери для контроля потери одной сделки.

Резюме

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


/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 04/11/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The Gann Swing Oscillator has been adapted from Robert Krausz's book, 
// "A W.D. Gann Treasure Discovered". The Gann Swing Oscillator helps 
// define market swings. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

    
GannSO(Length) =>
    pos = 0.0
    xGSO = 0.0
    xHH = highest(Length)
    xLL = lowest(Length)
    xGSO:= iff(xHH[2] > xHH[1] and xHH[0] > xHH[1], 1,
             iff(xLL[2] < xLL[1] and xLL[0] < xLL[1], -1, nz(xGSO[1],0)))
    pos := iff(xGSO > 0, 1,
    	     iff(xGSO < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Gann Swing Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthGSO = input(5, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posGannSO = GannSO(LengthGSO)
pos = iff(posReversal123 == 1 and posGannSO == 1 , 1,
	   iff(posReversal123 == -1 and posGannSO == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Больше