Линейная регрессия и двойная скользящая средняя краткосрочная стратегия

Автор:Чао Чжан, Дата: 2024-01-26 12:33:14
Тэги:

img

Обзор

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

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

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

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

В частности, основные пункты стратегии включают:

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

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

По сравнению с традиционными скользящими средними и другими показателями эта стратегия имеет следующие преимущества:

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

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

Эта стратегия также сопряжена с некоторыми рисками:

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

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

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

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

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

Резюме

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


/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy('LR&SSL_Short', overlay=true)
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(9999,1,1,0,0)
_testPeriod() => true

len = input(title="Period", defval=89)
smaHigh = linreg(high, len, 0)
smaLow = linreg(low, len, -1)
Hlv = 0.0
Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1]
sslDown = Hlv < 0 ? smaHigh : smaLow
sslUp = Hlv < 0 ? smaLow : smaHigh

plot(sslDown, linewidth=2, color=color.red)
plot(sslUp, linewidth=2, color=color.lime)



length = input(200, title="DEMA") 
d1 = ema(close, length)                                               
d2 = 2 * d1 - ema(d1, length)                                         
trendColour = d2 > d1 ? #AAFFAA : #FFAAAA 
dema=sma(d2,length) 

turnGreen = d2 > d1 and d2[1] <= d1[1]  
turnRed   = d2 <= d1 and d2[1] > d1[1]  

up =turnGreen 
down=turnRed 
  
plotshape(down, title="down", style=shape.triangledown,location=location.abovebar, color=color.red, transp=0, size=size.small) 
plotshape(up,  title="up", style=shape.triangleup,location=location.belowbar, color=color.green, transp=0, size=size.small) 
plot(dema, color = trendColour,linewidth=3 ,transp = 0)
bgcolor(close > dema ? color.green : color.red)

strategy.entry("short", strategy.short, when= crossunder(sslUp, sslDown) and dema > close and _testPeriod())
strategy.close("short", when = crossover(sslUp, sslDown) or crossover(close, dema))


Больше