선형 회귀 분석과 이동 평균 지표를 기반으로 한 단기 거래 전략


생성 날짜: 2024-01-17 11:41:16 마지막으로 수정됨: 2024-01-17 11:41:16
복사: 0 클릭수: 1092
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

선형 회귀 분석과 이동 평균 지표를 기반으로 한 단기 거래 전략

개요

선형 회귀 통로 전략은 선형 회귀 분석과 평평한 지표에 기반한 짧은 라인 거래 전략이다. 이 전략은 선형 회귀 통로와 헐 이동 평균을 결합하여 트렌드 방향을 식별하고 낮은 위험의 진입 지점을 찾는다.

전략 원칙

선형 회귀 통로 전략은 크게 두 가지 지표에 기반합니다.

  1. 선형 회귀 채널 (Linear Regression Channel): 선형 회귀 분석을 통해 계산된 채널 범위. 전략에는 가격의 장기적인 경향을 나타내는 55 일 길이의 선형 회귀 라인이 설정되어 있습니다. 동시에 더 뜨거운 가격 지역을 나타내는 채널 상한 라인이 계산됩니다.

  2. 헐 이동 평균 (Hull Moving Average): 이동 평균과 유사한 추세를 추적하는 지표로, 길이는 400일로 설정되어 가격의 전반적인 움직임과 방향을 판단한다.

거래 논리는 다음과 같습니다.

가격이 통로 상한선 이하이고 400일 헐 이동 평균 이하일 때, 더 많이 한다; 가격이 다시 상승하여 선형 회귀 중선 위를 할 때, 평소 위치 정지한다.

이렇게 하면 평준화 기간 동안 하락점을 살 수 있고, 가격이 다시 상승 통로로 들어갔을 때 상쇄 수익을 얻을 수 있다.

우위 분석

이 전략에는 다음과 같은 장점이 있습니다.

  1. 선형 회귀 통로는 가격의 열기와 장기적인 경향 방향을 더 정확하게 판단할 수 있으며, 충격적인 상황에서 맹목적으로 입문하는 것을 피할 수 있다.

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

  3. 전략적 동작의 빈도가 낮고, 철회 위험도 낮다. 시장의 흔들림에 따라 고기락을 쫓지 않는다.

  4. 이득이 명확하고, 보통 중·단계 거래에서 좋은 수익을 얻을 수 있다.

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 황소 시장에서, 선형 회귀 통로는 평평하거나 약하게 하락할 수 있으며, 이는 놓친 구매 기회를 초래한다. 적절한 매개 변수를 조정하여 최적화 할 수 있다.

  2. 갑작스러운 사건으로 인해 중요한 조정이 이루어지면, 스톱 라인이 뚫려 더 큰 손실을 초래할 수 있다. 단일 손실을 제어하기 위해 스톱 라인 비율을 설정할 수 있다.

  3. 만약 회귀가 헐 평균선 아래로 깊게 떨어지면, 평준상승이 불가능할 수 있다. 헐 평균선 파라미터를 조정하거나 스톱로스 라인을 설정할 수 있다.

  4. 거래 주파수가 너무 낮을 수 있다. 적정적으로 선형 회귀 주기를 줄여 거래 주파수를 높일 수 있다.

최적화 방향

선형 회귀 통로 전략은 다음과 같은 측면에서 최적화될 수 있다:

  1. 동적으로 리니어 리그리언 채널의 변수를 조정하여 실제 가격 변동에 더 가깝게 조정합니다.

  2. 헐 평균선 변수를 최적화하여 트렌드 전환점을 더 잘 판단할 수 있도록 한다.

  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)