3가지 표준 편차 모멘텀 반전 거래 전략

SMA STD MA SD
생성 날짜: 2024-06-21 14:44:54 마지막으로 수정됨: 2024-06-21 14:44:54
복사: 0 클릭수: 509
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

3가지 표준 편차 모멘텀 반전 거래 전략

개요

3표준차량 역전 거래 전략은 통계학적인 원칙에 기반한 정량 거래 방법이다. 이 전략은 가격의 평균선 주위 변동의 특성을 활용하여 가격의 비정상적인 변동 범위를 계산하여 가격이 극한의 편차에 도달했을 때 역전 거래한다. 이 방법은 단기 시장 과잉 반응 후의 회귀 행동을 포착하기 위해 고안되었으며, 특히 변동이 큰 거래 품종과 작은 시간 주기에는 적합하다.

전략 원칙

이 전략의 핵심 원칙은 이동 평균 ((MA) 와 표준 격차 ((SD) 를 사용하여 가격 변동의 상하 경계선을 구축하는 것입니다. 구체적인 단계는 다음과 같습니다:

  1. 지정된 주기 (기본 20) 의 간단한 이동 평균 (SMA) 을 계산한다.
  2. 같은 기간 가격의 표준 차이를 계산한다.
  3. 표준 차이는 3으로 곱하고, 이동 평균에 각각 덧셈과 셈을 하여 상하한선을 형성한다.
  4. 가격이 하위 경계를 넘으면 과매매로 간주되어 구매 신호가 발생한다.
  5. 가격이 상한을 넘으면 과매매로 간주되어 판매 신호가 발생한다.

이 방법은 가격이 대부분의 경우 평균값 근처에서 변동한다고 가정하며, 가격이 평균값에서 3 표준차로 떨어져 있을 때 평균값 회귀가 발생할 가능성이 높습니다.

전략적 이점

  1. 통계학적 기초: 이 전략은 견고한 통계학적 원칙에 기초하여, 표준 차이를 사용하여 가격 변동의 비정상적인 정도를 정량화하고 이론적 뒷받침이 있습니다.

  2. 자기 적응력: 동적으로 이동 평균과 표준 차이를 계산하여 전략은 다양한 시장 조건의 변동적 특성에 적응할 수 있다.

  3. 역동적 조작: 시장의 감정이 극에 달할 때 입문하여 가격 반전의 기회를 잡는데 도움이 되며, 잠재적인 수익의 여지가 더 크다.

  4. 높은 유연성: 전략 매개 변수 (예를 들어, MA 주기, 표준 격차 배수) 는 다른 거래 품종과 시간 프레임에 따라 최적화 조정할 수 있습니다.

  5. 시각화 친화적: 전략은 거래자가 시장 상태를 직관적으로 이해할 수 있도록 차트에 구매 신호와 가격 변동 영역을 명확하게 표시합니다.

전략적 위험

  1. 가짜 돌파 위험: 높은 변동성 시장에서 가격이 종종 경계를 돌파하지만 진정한 반전이 발생하지 않아 자주 거래되고 손실이 발생할 수 있습니다.

  2. 트렌드 시장의 부실성: 강한 트렌드 시장에서, 가격은 장기간 경계를 벗어나서 전략이 큰 트렌드를 놓치거나 자주 역동적인 작업을 할 수 있습니다.

  3. 변수 민감성: 전략 성능은 이동 평균과 표준 차이의 배수의 선택에 크게 의존하며, 부적절한 변수 설정은 성능의 현저한 하락을 초래할 수 있다.

  4. 슬라이드 포인트 및 거래 비용: 작은 시간 주기에서, 자주 거래하는 것은 높은 슬라이드 포인트와 거래 비용으로 인해 수익을 훼손 할 수 있습니다.

  5. 블랙 스윙 사건 위험: 중요한 뉴스 또는 시장의 급격한 변동이 있을 때, 가격이 정상 변동 범위를 훨씬 뛰어넘어 심각한 손실을 초래할 수 있다.

전략 최적화 방향

  1. 트렌드 필터를 도입한다: 장기적인 트렌드 지표 (예를 들어 더 긴 주기의 이동 평균) 와 결합하여 트렌드 방향으로만 거래를 수행하여 역동적인 작업을 줄인다.

  2. 동적 조정 표준 격차 배수: 시장 변동률에 따라 표준 격차 배수를 자동으로 조정하여 낮은 변동 기간 동안 민감도를 높이고 높은 변동 기간 동안 마이너스를 높인다.

  3. 확인 지표를 추가: 다른 기술 지표와 결합하여 (RSI 또는 MACD와 같은) 보조 확인으로 입구 신호의 신뢰성을 향상시킵니다.

  4. 부분 포지션 관리를 구현: 신호 강도 또는 가격 편차 정도에 따라 배치 입출소를 구현하고, 위험 관리를 최적화한다.

  5. 스톱로스 및 이동 스톱을 추가: 합리적인 스톱 포지션을 설정하고 수익을 올릴 때 이동 스톱을 사용하여 이미 얻은 수익을 보호하십시오.

  6. 최적화 시간 주기의 선택: 다양한 시간 주기의 성능을 재검토하여 전략에 가장 적합한 특정 시간 프레임을 선택하십시오.

  7. 변동성 요소를 고려하십시오. 낮은 변동성 환경에서 전략 변수를 조정하거나 다른 시장 상황에 맞게 거래를 중지하십시오.

요약하다

3 표준 변동량 역전 거래 전략은 통계적 원칙에 기반한 정량 거래 방법이며, 가격의 극단적 편향을 포착하여 거래 기회를 찾습니다. 이 전략은 이론적 기초, 적응성 및 유연성에서 상당한 장점을 가지고 있으며, 특히 고 변동성 시장과 단기 거래에 적합합니다. 그러나 사용자는 가짜 돌파구, 트렌드 시장의 성능 및 파라미터 민감성과 같은 잠재적인 위험에 주의해야합니다.

전략 소스 코드
/*backtest
start: 2023-06-15 00:00:00
end: 2024-06-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("MikEy Scali 3 STD Dev Buy/Sell Strategy", overlay=true)

// Input parameters
length = input.int(20, title="Standard Deviation Length", minval=1)
src = input(close, title="Source")
mult = input.float(3.0, title="Standard Deviation Multiplier", step=0.1)

// Calculate the moving average and standard deviation
ma = ta.sma(src, length)
std_dev = ta.stdev(src, length)

// Calculate upper and lower bands
upper_band = ma + (std_dev * mult)
lower_band = ma - (std_dev * mult)

// Buy and Sell conditions
// Buy when the price is below the lower band (3 std devs below MA)
buyCondition = ta.crossover(src, lower_band)
// Sell when the price is above the upper band (3 std devs above MA)
sellCondition = ta.crossunder(src, upper_band)

// Plot the buy and sell signals on the chart
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")

// Execute buy and sell orders based on the conditions
if (buyCondition)
    strategy.entry("Buy", strategy.long)
if (sellCondition)
    strategy.close("Buy")

// Plot the moving average and the bands
plot(ma, color=color.blue, title="Moving Average")
plot(upper_band, color=color.red, title="Upper Band (3 STD)")
plot(lower_band, color=color.green, title="Lower Band (3 STD)")

// Optional: Plot the source
plot(src, color=color.gray, title="Source")

// Add labels for clarity
bgcolor(buyCondition ? color.new(color.green, 90) : na, offset=-1, title="Buy Signal Background")
bgcolor(sellCondition ? color.new(color.red, 90) : na, offset=-1, title="Sell Signal Background")