선형 회귀 채널 전략

저자:차오장, 날짜: 2024-01-17 11:41:16
태그:

img

전반적인 설명

선형 회귀 채널 전략은 선형 회귀 분석과 이동 평균 지표에 기반한 단기 거래 전략이다. 전략은 선형 회귀 채널과 허ల్ 이동 평균을 결합하여 트렌드 방향을 파악하고 상대적으로 낮은 위험 입구점을 찾습니다.

전략 논리

선형 회귀 채널 전략은 주로 두 가지 지표에 의존합니다.

  1. 선형 회귀 채널: 선형 회귀 분석에 의해 계산된 채널 범위. 전략은 가격의 장기 트렌드를 나타내는 55일 선형 회귀선을 설정한다. 동시에 가격의 더 높은 온도 영역을 나타내는 채널의 상한을 계산한다.

  2. Hull Moving Average: 가격의 전반적인 경향과 방향을 결정하기 위해 400일 길이의 이동 평균과 같은 트렌드 추적 지표가 사용됩니다.

구체적인 거래 논리는 다음과 같습니다.

가격이 채널의 상단계와 400일 Hull 이동평균 아래로 떨어지면, 긴 거래가 시작됩니다. 가격이 선형 회귀 중간 지점 위로 올라갈 때, 이윤을 취하기 위해 포지션을 닫습니다.

이것은 고도화 기간 동안 하락점을 구매하고 가격이 상승세 채널에 다시 들어가면 수익을 창출할 수 있게 합니다.

이점 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 선형 회귀 채널은 가격 열과 장기 트렌드 방향을 더 정확하게 판단할 수 있으며, 불안한 시장에 맹목적으로 진입하는 것을 피할 수 있습니다.

  2. 헐 이동 평균은 단기 시장 소음을 필터링하여 입시 시기를 더 명확하게 만듭니다.

  3. 이 전략은 상대적으로 낮은 거래 빈도와 마이너스 리스크를 가지고 있습니다.

  4. 이윤 포인트는 명확하고, 중장기 및 단기 트렌드에 따라 좋은 수익을 얻을 수 있습니다.

위험 분석

선형 회귀 채널 전략은 또한 몇 가지 위험을 초래합니다:

  1. 황소 시장에서는 선형 회귀 채널이 평평화되거나 약간 감소하여 구매 기회를 놓칠 수 있습니다. 이는 매개 변수를 적절히 조정함으로써 최적화 될 수 있습니다.

  2. 예상치 못한 사건으로 인해 큰 반전이 발생하면 스톱 손실이 발생하여 큰 손실이 발생할 수 있습니다. 스톱 손실 비율은 단일 거래 손실을 제어하도록 설정 할 수 있습니다.

  3. 만약 인하가 너무 깊어지고 Hull MA 라인을 깨는다면, 출구에서 이윤을 얻지 못할 수 있습니다. Hull MA 매개 변수 또는 스톱 로스는 조정될 수 있습니다.

  4. 거래 빈도는 너무 낮을 수 있습니다. 거래 빈도를 높이기 위해 선형 회귀 주기를 단축합니다.

최적화

선형 회귀 채널 전략은 다음과 같은 측면에서 최적화 될 수 있습니다:

  1. 선형 회귀 채널 매개 변수를 동적으로 조정하여 채널을 실제 가격 변동에 더 가깝게 만듭니다.

  2. 트렌드 반전 지점을 더 잘 결정하기 위해 Hull MA 매개 변수를 최적화합니다.

  3. 채널 내의 후속 스톱 손실 포인트를 설정하여 단일 손실 위험을 효과적으로 제어합니다.

  4. 변동성 시장에서 포지션을 열지 않도록 변동성 지표를 추가합니다.

  5. 실제 브레이크오웃을 결정하기 위해 거래량 지표를 결합합니다.

요약

전체적으로, 선형 회귀 채널 전략은 상대적으로 견고한 트렌드 추후 전략이다. 시장 소음을 피하고 트렌드가 시작되면 올바른 방향으로 진입한다. 매개 변수를 최적화하고 지표를 결합함으로써 거래 위험을 더욱 줄이고 수익성을 향상시킬 수 있다. 이 전략은 빈번한 거래의 필요 없이 중장기 보유에 적합하다. 일반적으로 라이브 거래에 강력한 실용적 가치를 가지고 있다.


/*backtest
start: 2023-01-10 00:00:00
end: 2024-01-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TradingAmmo

//@version=4
strategy("Linear Channel", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(input(9999, "End Year"),  1, 1,  0, 0)
_testPeriod() => true

//linreg
length = input(55)
linreg = linreg(close, length, 0)
plot(linreg, color=color.white) 

//calc band
Value = input(-2)
sub = (Value/100)+1
Band2 = linreg*sub
plot(Band2, color=color.red)

//HMA as a filter
HMA = input(400, minval=1)  
plot(hma(close, HMA), color=color.purple)  

long_condition = close <  Band2  and hma(close, HMA) < close and _testPeriod()
strategy.entry('BUY', strategy.long, when=long_condition)  
 
short_condition =  close > linreg
strategy.close('BUY', when=short_condition)


더 많은