리소스 로딩... 로딩...

VWAP 크로스오버 동적 수익 목표 거래 전략

저자:차오장, 날짜: 2024-07-30 17:01:49
태그:VWAPMT

img

전반적인 설명

VWAP 크로스오버 동적 이익 목표 거래 전략은 볼륨 가중화 평균 가격 (VWAP) 크로스오버 신호를 고정 비율 수익 목표와 결합한 양적 거래 접근법이다. 이 전략은 VWAP를 동적 지원 및 저항 라인으로 활용하여 가격이 VWAP를 넘어서면 거래를 입력하고 미리 정의된 3% 이익 목표가 달성되면 자동으로 포지션을 닫습니다. 트렌드 추적을 수익 잠금 메커니즘과 통합함으로써이 방법은 적시에 이익을 확보하면서 단기 가격 움직임을 포착하는 것을 목표로합니다.

전략 원칙

이 전략의 핵심 원칙은 다음의 핵심 요소들을 포함합니다.

  1. VWAP 계산: 전략은 가격 동향을 평가하는 동적 기준으로 사용되는 14 기간 VWAP를 계산하는 것으로 시작합니다. VWAP 계산은 가격과 양을 모두 포함하여 시장 수요와 공급 균형의 더 정확한 반영을 제공합니다.

  2. 입력 신호:

    • 롱 엔트리 (Long Entry): 종료 가격이 VWAP보다 높을 때 구매 신호가 발사됩니다.
    • 단기 출입: 폐쇄 가격이 VWAP 이하로 넘어가면 판매 신호가 발사됩니다.
  3. 수익 목표:

    • 롱 포지션 종료: 가격이 입상 가격의 103%를 달성하면 자동으로 포지션을 종료합니다.
    • 쇼트 포지션 출구: 가격이 입상 가격의 97%에 도달하면 자동으로 포지션을 닫습니다.
  4. 포지션 관리: 전략은 다양한 방향으로 여러 포지션을 허용하며, 각 크로스오버 신호에 새로운 거래를 개시합니다.

전략적 장점

  1. 동적 지원 및 저항: VWAP는 동적 지원 및 저항 라인으로서 시장 변화에 적응하고 더 정확한 거래 신호를 제공합니다.

  2. 가격-용량 통합: VWAP는 가격과 부피 정보를 모두 통합하여 시장 역학에 대한 더 포괄적인 시각을 제공합니다.

  3. 자동 이윤 잠금: 미리 설정된 3%의 이윤 목표는 신속한 이윤을 확보하여 이윤 침해를 방지하고 전략의 수익성 안정성을 향상시킵니다.

  4. 양방향 거래: 전략은 상향 및 하향 시장 움직임을 포착하여 수익 기회를 증가시킵니다.

  5. 단순성: 전략 논리는 명확하고 이해하기 쉽기 때문에 초보자 및 경험이 많은 거래자에게 적합합니다.

  6. 객관성: 잘 정의된 수학적 계산과 규칙에 기초하여 전략은 주관적 판단에 의해 도입된 편견을 줄입니다.

전략 위험

  1. 빈번한 거래: 매우 변동적인 시장에서 전략은 과도한 거래 신호를 생성하여 거래 비용을 증가시킬 수 있습니다.

  2. 고정 수익 목표의 한계: 3% 고정 수익 목표가 다른 시장 환경에서 일관성 없는 성과를 낼 수 있으며 때로는 너무 일찍 포지션을 닫고 더 큰 추세를 놓칠 수 있습니다.

  3. 스톱 로스 메커니즘의 부재: 전략은 스톱 로스를 포함하지 않으며 극단적인 시장 조건에서 거래가 상당한 손실에 노출 될 수 있습니다.

  4. 미끄러짐 효과: 유동성이 낮은 시장에서 전략은 실제 성과에 영향을 미치는 심각한 미끄러짐에 직면 할 수 있습니다.

  5. 시장 조건 의존성: 트렌딩 시장에서 잠재적으로 좋은 성과를 거두는 반면, 전략은 범위 제한 시장에서 빈번한 잘못된 신호를 생성 할 수 있습니다.

  6. 매개 변수 민감도: VWAP 기간 설정 및 수익 목표 비율은 전략 성과에 상당한 영향을 미치므로 신중한 최적화가 필요합니다.

전략 최적화 방향

  1. 동적 수익 목표: 시장 변동성에 따라 동적으로 수익 목표를 조정하는 것을 고려하십시오. 예를 들어, 평균 진정한 범위 (ATR) 를 사용하여 수익 목표를 설정하십시오.

  2. 필터 추가: 잘못된 신호를 줄이기 위해 RSI 또는 MACD와 같은 추가 기술 지표를 필터로 도입하십시오.

  3. 스톱 로스 구현: 잠재적 인 손실을 제한하기 위해 고정 금액, 퍼센트 기반 또는 지표 기반 스톱 로스와 같은 스톱 로스 기능을 추가합니다.

  4. VWAP 기간 최적화: 적응 기간을 고려하여 VWAP 계산 기간을 최적화합니다.

  5. 포지션 사이징: 시장 변동성과 계정 위험에 따라 거래 크기를 조정하는 동적 포지션 사이징을 구현합니다.

  6. 시간 필터링: 매우 변동성 또는 낮은 유동성을 피하기 위해 거래 시간 필터를 추가합니다.

  7. 멀티 타임프레임 분석: 입력 신호의 신뢰성을 향상시키기 위해 장기 시간 프레임 분석을 포함합니다.

  8. 유출 통제: 최대 유출 통제 메커니즘을 도입하고 특정 유출 수준에 도달하면 거래를 중단합니다.

결론

VWAP 크로스오버 동적 이윤 목표 거래 전략은 트렌드 추종과 이윤 관리를 결합한 정량적 거래 방법이다. 동적 기준 라인으로서 VWAP를 활용하고 고정 수익 목표를 설정함으로써 전략은 단기 가격 움직임을 포착하고 신속히 이윤을 확보하는 것을 목표로 한다. 전략 논리는 간단하고 직관적이지만, 실질적인 응용에서는 여전히 과잉 거래 및 고정 이익 목표의 제한과 같은 과제와 직면한다. 전략의 탄력성과 적응력을 향상시키기 위해, 거래자는 동적 매개 변수 조정, 필터 추가, 중지 손실 메커니즘 구현 및 기타 최적화 방향에 집중하는 것이 좋습니다. 동시에 철저한 백테스팅 및 매개 변수 최적화는 성공적인 전략 구현에 중요합니다. 거래자는 최적의 결과를 달성하기 위해 시장 특정 거래 도구 및 전략에 지속적으로 조정하고 최적화해야합니다.


/*backtest
start: 2024-06-29 00:00:00
end: 2024-07-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("VWAP Crossover Strategy with Profit Targets", overlay=true)

// Define the period for calculating VWAP
cumulativePeriod = input(14, "VWAP Calculation Period")

// Calculate the Typical Price for the period
typicalPrice = (high + low + close) / 3

// Calculate Typical Price multiplied by volume
typicalPriceVolume = typicalPrice * volume

// Cumulative sum of Typical Price * Volume
cumulativeTypicalPriceVolume = sum(typicalPriceVolume, cumulativePeriod)

// Cumulative sum of Volume
cumulativeVolume = sum(volume, cumulativePeriod)

// Calculate VWAP
vwapValue = cumulativeTypicalPriceVolume / cumulativeVolume

// Plotting the VWAP on the chart
plot(vwapValue, color=color.blue, title="VWAP")

// Conditions for entering a long position (buy when price crosses above VWAP)
longCondition = crossover(close, vwapValue)
if (longCondition)
    strategy.entry("Long", strategy.long)

// Conditions for entering a short position (short when price crosses below VWAP)
shortCondition = crossunder(close, vwapValue)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Setting up a profit target to close the long position
longProfitTarget = strategy.position_avg_price * 1.03
if (strategy.position_size > 0 and close >= longProfitTarget)
    strategy.close("Long", comment="Long Profit Target Reached")

// Setting up a profit target to close the short position
shortProfitTarget = strategy.position_avg_price * 0.97
if (strategy.position_size < 0 and close <= shortProfitTarget)
    strategy.close("Short", comment="Short Profit Target Reached")


관련

더 많은