Стратегия CAT для отмены колебаний

Автор:Чао Чжан, Дата: 2024-02-19 14:29:51
Тэги:

img

Обзор

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

Принципы стратегии

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

  1. Используйте такие индикаторы, как SMA и EMA для определения общего направления тренда. Например, пересечение EMA144 выше EMA169 считается бычьим сигналом, а пересечение EMA144 ниже EMA169 считается медвежьим сигналом.

  2. Индикатор черного лебедя определяется как (закрыть - открыть) / закрыть. Он отражает степень ненормального колебания свечи. Когда индикатор черного лебедя превышает порог (например, 0,0191) и закрытие ниже, чем открытие, он указывает на понижающуюся ненормальную колебание, которое представляет собой возможность короткого.

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

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

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

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

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

  1. Показатели черного лебедя и белого лебедя могут эффективно улавливать ненормальные колебания цен. Эти колебания часто подразумевают реверсию, поэтому уровень выигрыша в торговле выше.

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

  3. Многочисленные параметры и индикаторы для оптимизации и корректировки. Например, параметры цикла MA и EMA, пороговые параметры индикаторов черного лебедя и белого лебедя и т. Д. Можно оптимизировать и скорректировать стратегию, чтобы лучше адаптироваться к различным продуктам и торговым средам.

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

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

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

Стратегия CAT с обратными колебаниями также сопряжена с некоторыми рисками, в основном:

  1. Риск оптимизации параметров. Установка таких параметров, как черный лебедь и белый лебедь, оказывает большое влияние на эффективность стратегии. Если параметры установлены неправильно, это значительно снизит рентабельность стратегии.

  2. При длительном одностороннем развитии рынка эта стратегия может привести к определенным последовательным потерям и более крупным снижениям.

  3. Риск ложного прорыва. Ложные прорывы часто появляются в реальности в краткосрочной перспективе. Если параметры слишком чувствительны, это может вызвать слишком много ненужных сделок.

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

  1. Создать механизм оптимизации параметров, использовать исторические данные для строгого обратного тестирования и оптимизации для обеспечения разумных параметров.

  2. Установка механизма стоп-лосса. Разумный стоп-лосс может эффективно контролировать однократные торговые потери и максимальное снижение.

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

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

Стратегия CAT с обратными колебаниями также имеет большое пространство для оптимизации.

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

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

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

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

  5. Комбинировать методы глобальной оптимизации, такие как генетические алгоритмы без параметров и моделированное отжигание, чтобы достичь общей оптимизации с несколькими параметрами.

  6. Расширять торговые варианты, увеличивать другие варианты, такие как акции и криптовалюты для арбитража на рынке.

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

Заключение

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


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

//@version=4


//适合1分钟-3分钟的k线,发生波动超过百分之二时,自动报警
strategy("BlackSwan strategy", overlay=true,
         initial_capital=10000, currency='USD', default_qty_type=strategy.percent_of_equity,
         default_qty_value=100, commission_type= strategy.commission.percent, commission_value=0.075,pyramiding=3)
//-------------------------------------------
//-------------------------------------------
timecondition =  timeframe.period =="480"  or timeframe.period =="240" or timeframe.period =="D"  or timeframe.period =="720"
// Make input options that configure backtest date range
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
     defval=11, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
     defval=2018, minval=1800, maxval=2100)
endDate = input(title="End Date", type=input.integer,
     defval=1, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer,
     defval=11, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer,
     defval=2031, minval=1800, maxval=2100)
// Look if the close time of the current bar
// falls inside the date range
inDateRange = (time >= timestamp(syminfo.timezone, startYear,
         startMonth, startDate, 0, 0)) and
     (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))
     
     

// Inputs
a = input(1,     title = "Key Vaule. 'This changes the sensitivity'")
c = input(10,    title = "ATR Period")
h = input(false, title = "Signals from Heikin Ashi Candles")


ma60 = sma(close,60)
ema144 = ema(close,144)

ema169 = ema(close,169)
ma20=sma(close,20)

     
plot(ema144,color=color.yellow, title="144")
plot(ema169,color=color.orange, title="169")

    
heitiane=(close-open)
heitiane:=abs(heitiane)
heitiane:=heitiane/close

if (inDateRange and  heitiane >0.0191 and close<open) //  and close>f3
    strategy.entry("botsell20", strategy.short, comment = "黑天鹅追空"+tostring(heitiane))

if(crossover(ema144,ema169))
    strategy.close("botsell20", comment = "平空")
if (inDateRange and  heitiane >0.0191 and close>open) //  and close>f3
    strategy.entry("botbuy20", strategy.long, comment = "白天鹅追多"+tostring(heitiane))

if(crossunder(ema144,ema169))
    strategy.close("botbuy20", comment = "平多")
  


Больше