이동 평균 회전 전략에 기초한

저자:차오장, 날짜: 2024-02-27 17:51:43
태그:

img

전반적인 설명

스 매인 리버션 전략은 매우 간단한 트렌드 트레이딩 전략이다. 그것의 핵심 아이디어는 단기 이동 평균이 일정 비율로 장기 이동 평균보다 낮아지면 긴 거리를 이동하고, 단기 이동 평균이 장기 이동 평균보다 높을 때 포지션을 닫는 것입니다. 이 전략은 먼저 단기 및 장기 이동 평균을 계산하고 두 이동 평균 사이의 관계를 기반으로 거래 신호를 생성합니다.

전략 논리

이 전략은 주로 두 개의 이동 평균, 단기 평균과 장기 평균에 의존한다. 단기 이동 평균 매개 변수는 smallMAPeriod이며, 장기 이동 평균 매개 변수는 bigMAPeriod이다. 이 전략은 먼저 이 두 이동 평균을 계산하고, 그 다음 사이즈 관계를 비교한다.

단기 이동 평균이 상위에서 떨어지고 장기 이동 평균의 특정 비율 (percentBelowToBuy 매개 변수에 의해 설정) 을 통과하면, 긴 이동 평균에 대한 구매 신호가 생성됩니다. 단기 이동 평균이 나중에 상승하고 장기 이동 평균을 넘을 때, 판매 신호가 생성되어 포지션을 닫습니다.

전략은 단기 및 장기 이동 평균 사이의 평균 회귀 기회를 포착합니다. 단기 이동 평균이 일정 범위에서 장기 이동 평균보다 낮을 때 자산이 과소평가 될 수 있으며 평균으로 되돌릴 수있는 기회가 있어야합니다. 따라서 장기간 이동하면 리바운드 수익을 얻을 수 있습니다.

이점 분석

스 평균 역전 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 논리는 간단하고 이해하기 쉽고 실행하기 쉽습니다.
  2. 시장 동향에 대한 정확한 판단을 위해 단기 및 장기 트렌드의 전환점을 포착합니다.
  3. 유연한 매개 변수 설정으로 이동 평균 기간과 양보 비율을 조정하여 더 많은 거래 신호를 얻을 수 있습니다.
  4. 양적 거래 시뮬레이션 및 최적화에 적합한 간단한 백트테스팅 프로세스

이 전략은 간단한 매개 변수 최적화를 통해 좋은 결과를 얻을 수 있습니다. 이동 평균 및 양보 비율 매개 변수를 조정함으로써 최적의 매개 변수 조합을 검사하기 위해 주식, 외환 및 암호화폐와 같은 다른 시장 자산에서 백테스팅을 수행 할 수 있습니다.

위험 분석

스 (Jaws) 의 반전 전략은 또한 몇 가지 위험을 가지고 있습니다.

  1. 자주 거래 할 수 없는 신호가 적습니다.
  2. 가격 역전 현상이 없는 경우
  3. 부적절한 매개 변수는 과도하게 빈번한 거래, 더 높은 거래 비용 및 미끄러짐 손실로 이어질 수 있습니다.

다음과 같은 방법을 사용하여 위험을 완화 할 수 있습니다.

  1. 적절한 거래 신호 수를 위한 매개 변수를 적절히 조정
  2. 가짜 브레이크오웃을 피하기 위해 브레이크오웃 풀백 엔트리 방법을 채택합니다.
  3. 이동 평균 기간과 양보 비율을 선택하여 매개 변수 조합을 최적화합니다.

최적화 방향

스 평균 회귀 전략은 다음 측면에서 최적화 될 수 있습니다:

  1. 전략 신호 소스로 닫기, 높은, 낮은, 전형적인 가격과 같은 다른 가격 데이터를 테스트
  2. 지수, 가중, 홀 이동 평균 등과 같은 이동 평균의 다른 유형을 시도
  3. 트렌드가 아닌 시장에서 불필요한 거래를 피하기 위해 필터 조건을 추가합니다.
  4. 부피 지표를 포함하여 가격 상승과 불충분한 추진력을 가진 거짓 브레이크오프를 피합니다.
  5. 기계 학습 또는 유전자 알고리즘을 자동화된 매개 변수 최적화를 위해 사용

결론

스 평균 역전 전략은 단기 가격과 장기 이동 평균을 비교하여 단기 가격이 장기 트렌드에서 벗어나면 평균 역전 기회를 포착합니다. 전략은 이해하기 쉽고 구현하기 쉬운 간단한 논리를 가지고 있습니다. 매개 변수 최적화를 통해 좋은 결과를 얻을 수 있습니다. 그러나 더 적은 신호와 놓친 역전과 같은 위험이 여전히 존재하며 전략 수익을 극대화하기 위해 매개 변수 및 필터의 테스트 및 최적화를 필요로합니다.


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

// @version=4
//
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
//
// @author Sunil Halai
//
// This very simple strategy is an implementation of PJ Sutherlands' Jaws Mean reversion algorithm. It simply buys when a small moving average period (e.g. 2) is below
// a longer moving average period (e.g. 5) by a certain percentage, and closes when the small period average crosses over the longer moving average. 
// 
// If you are going to use this, you may wish to apply this to a range of investment assets, as the amount signals is low. Alternatively you may wish to tweak the settings to provide more
// signals.


strategy("Jaws Mean Reversion [Strategy]", overlay = true)

//Strategy inputs
source = input(title = "Source", defval = close)
smallMAPeriod = input(title = "Small Moving Average", defval = 2)
bigMAPeriod = input(title = "Big Moving Average", defval = 5)
percentBelowToBuy = input(title = "Percent below to buy %", defval = 3)


//Strategy calculation
smallMA = sma(source, smallMAPeriod)
bigMA =  sma(source, bigMAPeriod) 
buyMA = ((100 - percentBelowToBuy) / 100) * sma(source, bigMAPeriod)[0]

if(crossunder(smallMA, buyMA))
    strategy.entry("BUY", strategy.long)

if(crossover(smallMA, bigMA))
    strategy.close("BUY")

더 많은