이동 평균 회귀 전략


생성 날짜: 2024-02-27 17:51:43 마지막으로 수정됨: 2024-02-27 17:51:43
복사: 0 클릭수: 320
1
집중하다
1166
수행원

이동 평균 회귀 전략

개요

이동 평균 평균 응답 전략은 매우 간단한 트렌드 트레이딩 전략이다. 그것의 핵심 아이디어는 단기 이동 평균이 장기 이동 평균보다 일정 비율이 낮을 때 더 많이 하고, 단기 이동 평균에 장기 이동 평균을 가로질러 평점이다. 이 전략은 먼저 단기 이동 평균과 장기 이동 평균을 계산하고, 두 이동 평균의 관계에 따라 거래 신호를 생성한다.

전략 원칙

이 전략은 주로 두 개의 이동 평균, 즉 단기 이동 평균과 장기 이동 평균에 의존한다. 단기 이동 평균은 smallMAPeriod이며 장기 이동 평균은 bigMAPeriod이다. 전략은 먼저 두 개의 이동 평균을 계산하고 두 개의 이동 평균의 크기의 관계를 비교한다.

단기 이동 평균이 상향에서 아래로 내려가 장기 이동 평균의 일정한 비율 (%BelowToBuy 변수로 설정) 을 넘어서면, 구매 신호가 발생하고, 더 많이 시장에 들어간다. 단기 이동 평균이 추후 상승하여 장기 이동 평균을 다시 넘어서면, 판매 신호가 발생하고, 매매가 청산된다.

이 전략은 단기 이동 평균과 장기 이동 평균 사이의 평균값 응답 기회를 포착한다. 단기 이동 평균이 장기 이동 평균보다 어느 정도 낮을 때, 자산이 과소 평가 될 수 있음을 나타내고 평균값으로 돌아가는 기회가 있어야, 더 많이 하면 반발 수익을 얻을 수 있다.

우위 분석

이동 평균 평균 응답 전략은 다음과 같은 장점이 있습니다:

  1. 간단하고, 이해하기 쉽고, 실행할 수 있습니다.
  2. 단기 및 장기 동향의 전환점을 포착하여 시장의 흐름을 정확하게 판단합니다.
  3. 변수 설정이 유연하여 이동 평균 주기 및 포괄 비율을 조정하여 더 많은 거래 신호를 얻을 수 있습니다.
  4. 양적 거래의 모형적 최적화를 위한 간단한 회수 프로세스

이 전략은 간단한 매개 변수를 최적화하면 좋은 효과를 얻을 수 있습니다. 이동 평균 매개 변수와 양도 비율 매개 변수를 조정하여 주식, 외환, 암호화폐와 같은 다양한 시장 자산에 대한 피드백을 통해 최적의 매개 변수 조합을 선택할 수 있습니다.

위험 분석

이동 평균 평균 응답 전략에는 몇 가지 위험도 있습니다.

  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")