모멘텀 추적 전략

저자:차오장, 날짜: 2023-11-10 12:12:44
태그:

img

전반적인 설명

이 전략은 시장 트렌드를 추적하기 위해 모멘텀 지표와 이동 평균을 결합한 모멘텀 지표에 기반합니다. 강한 상승 모멘텀이있을 때 길고 강한 하락 모멘텀이있을 때 짧습니다. 트렌드 다음 전략의 범주에 속합니다.

전략 논리

  1. 가격 동력을 계산하면: (현재 가격 - N 기간 전 가격) / N 기간 전 가격

  2. N 기간 동안 가격의 이동 평균을 계산합니다.

  3. 0-1 범위로 운동량 값을 정상화

  4. 정규화 운동량이 0.5보다 크고 가격이 이동 평균보다 높을 때, 긴 이동

  5. 정규화 추진력이 0.5 미만이고 가격이 이동 평균 이하일 때, 짧은 이동

  6. 적절한 스톱 로스 레벨을 가진 이동 스톱 로스 메커니즘을 사용

위의 내용은 기본적인 거래 논리를 다루고 있습니다. 시장이 트렌딩 할 때 가격은 한 방향으로 지속적으로 움직이며 큰 추진력을 생성합니다. 전략은 진입을 결정하기 위해 추진력을 사용하여 트렌드의 강도를 판단하고 이동 평균을 사용하여 방향을 판단합니다. 또한, 스톱 로스는 위험을 제어하는 데 중요합니다.

이점 분석

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

  1. 잠재적으로 큰 이익을 얻을 수 있는 시장 추세를 추적합니다.

  2. 모멘텀은 가격 변화에 민감하고 트렌드에 빠르게 반응합니다.

  3. 이동 평균은 무작위 잡음을 필터링하고 운동량과 잘 결합합니다.

  4. 스톱 로스 메커니즘은 개별 거래에서 손실을 제한합니다.

  5. 단순하고 명확한 논리, 실행 및 백테스트가 쉽습니다.

  6. 유연 한 매개 변수 는 다른 기간 및 시장 체제 에 적응 할 수 있습니다.

전체적으로, 이것은 트렌딩 시장에 대한 훌륭한 전략입니다. 그것은 방향 트렌드에서 크게 이익을 얻을 수 있습니다.

위험 분석

이점 들 에도 불구하고, 몇 가지 위험성 들 을 주목 해야 합니다.

  1. 부진 후 가격이 역전될 때 상승 추세에서의 부진 위험

  2. 하락 추세의 반전 위험

  3. 윙사 (Whipsaw) 는 가격이 이동평균 주위에서 변동할 때 신호를 줍니다.

  4. 매개 변수가 제대로 설정되지 않으면 잘못된 신호

  5. 범위에 해당하는 불안정한 시장에서 낮은 성과

  6. 조기 출구를 방지하기 위해 엄격한 스톱 손실 및 움직임이 필요합니다.

이러한 위험을 해결하기 위해, 스톱 로스 전략은 최적화, 느슨한 매개 변수로 불필요한 신호를 필터링, 다른 기간에 대한 매개 변수를 조정하고 위치 크기를 제어해야합니다.

최적화 방향

다음은 전략을 더 이상 최적화 할 수있는 몇 가지 방법입니다:

  1. 최상의 백테스트 결과를 위해 다른 매개 변수 조합을 테스트합니다.

  2. 2N 손실과 1N 이익으로 종료하는 거북이 거래 규칙을 포함합니다

  3. 변동성 지표로 스톱 로스를 최적화합니다.

  4. 마감, 시간 등에 기반한 위치 크기 규칙을 추가

  5. 기하급수적인 이동 평균 운동량과 같은 다른 운동량 계산 방법을 테스트

  6. 더 강력한 신호를 위해 촛불 패턴 필터를 추가

  7. 매개 변수 최적화, 기능 선택 등을 위해 기계 학습을 활용

  8. 주요 지점에서 일부 재량적 인 인 입력 포함

이러한 개선으로 전략은 더 나은 안정성, 적응성 및 수익성을 달성 할 수 있습니다. 그러나 모든 최적화는 과잉 적합성을 피하기 위해 엄격한 통계 검증이 필요합니다.

결론

모멘텀 추적 전략은 단순하고 실용적인 트렌드 다음 접근법이다. 시장 트렌드를 민첩하게 파악하고 거품과 충돌을 타고 수익을 창출할 수 있다. 그러나 곡선 적합 위험은 탄력성을 유지하기 위해 규율적인 위험 통제로 관리되어야 한다. 매개 변수 조정 및 기능 확장으로 전략은 더 많은 시장 체제에서 안정적인 수익을 창출할 수 있다.


/*backtest
start: 2023-11-02 00:00:00
end: 2023-11-09 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Momentum Strategy, rev.2", overlay=true)

//
// Data
//
src = input(close)
lookback = input(20)
cscheme=input(1, title="Bar color scheme", options=[1,2])

//
// Functions
//
momentum(ts, p) => (ts - ts[p]) / ts[p]

normalize(src, len) =>
    hi  = highest(src, len)
    lo  = lowest(src, len)
    res = (src - lo)/(hi - lo)

//
// Main
//
price = close
mid = sma(src, lookback)
mom = normalize(momentum(price, lookback),100)

//
// Bar Colors
//
clr1 = cscheme==1?black: red
clr2 = cscheme==1?white: green
barcolor(close < open ? clr1 : clr2)

//
// Strategy
//
if (mom > .5 and price > mid )
    strategy.entry("MomLE", strategy.long, stop=high+syminfo.mintick, comment="MomLE")
else
    strategy.cancel("MomLE")

if (mom < .5 and price < mid )
    strategy.entry("MomSE", strategy.short, stop=low-syminfo.mintick, comment="MomSE")
else
    strategy.cancel("MomSE")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

더 많은