VWAP 브레이크아웃 팔로잉 전략


생성 날짜: 2023-12-20 16:18:50 마지막으로 수정됨: 2023-12-20 16:25:18
복사: 1 클릭수: 888
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

VWAP 브레이크아웃 팔로잉 전략

개요

VWAP 브레이크 트래킹 전략은 VWAP 지표를 사용하여 트렌드 방향을 식별하는 추적 전략이다. 그것은 최근 5 K 선의 종결 가격의 VWAP를 깨는 상황을 분석하여 가격의 브레이크 방향을 판단한다. 3 개의 연속 K 선이 같은 방향으로 VWAP를 깨는 것을 감지하면, 그 방향의 3 K 선의 최고 가격 또는 최저 가격을 기록한다. 이후 가격이 최고 가격 또는 최저 가격을 깨면 거래 신호가 발생한다.

이 전략의 주요 장점은 가격 돌파구를 빠르게 잡을 수 있다는 것입니다. 그러나 너무 빨리 포지션이 축적 될 위험이 있습니다. 포지션 매개 변수를 적절하게 조정하여 최적화 할 수 있습니다.

전략 원칙

지표 계산

이 전략이 사용하는 주요 지표는 VWAP이다. VWAP는 가격을 나타내는 평균 거래 가격이며, 거래량 가중된 가격 평균선이다. 시장에서 인정되는 가격 수준을 잘 반영한다.

전략 내에서는 5개의 종결 가격 K선과 VWAP 지표를 실시간으로 계산한다. 그리고 일련의 논리 판단 변수를 정의하여 가격이 지정된 수의 연속적인 돌파가 발생하는지 검출한다.

거래 신호

전략의 거래 신호는 가격 돌파구에서 생성된 새로운 높은 가격 또는 새로운 낮은 가격에서 나온다. 구체적인 논리는 다음과 같다:

  1. 최근 5개의 K선 중 첫 번째 3개가 같은 방향으로 연속적으로 VWAP를 뚫었는지 판단하기 (가격이 계속 상승하거나 하락하면)
  2. 만약 그렇다면, 3번째 K선에서 가장 높은 가격이나 가장 낮은 가격을 기록합니다.
  3. 거래 신호가 생성되는 동안, 가격의 최고 또는 최저가 기록을 깨기를 기다립니다.

따라서, 이 전략의 핵심은 가격의 돌파구를 식별하고, 돌파구에서 발생하는 새로운 높은 가격이나 낮은 가격으로 거래하는 것입니다.

위치 제어

기본 포지션 크기는 계정 이득의 100%이다. 이것은 전 포지션 거래를 의미한다. 전략의 고주파 단선 특성을 고려하여 포지션 크기를 적절히 낮추어 위험을 제어할 수 있다.

평지 조건은 가격이 VWAP 지표를 다시 통과하는 것이다. 즉, VWAP를 손실을 막기 위해 스톱로스로 사용한다.

우위 분석

VWAP의 가장 큰 장점은 단기 가격 동향을 빠르게 포착하여 거래의 흐름을 추적하는 것입니다. 주요 장점은 다음과 같습니다.

  1. 가격 돌파구에 빠르게 대응하고 최신 트렌드를 추적합니다.
  2. VWAP 지표로 판단하는 방향, 어느 정도 신뢰성
  3. 이윤을 극대화할 수 있는 기본 전장 거래
  4. VWAP는 단편적 손실을 제한하는 스톱로즈입니다.

이 전략은 특히 고주파 단선 거래에 적합하며, 단기 수익을 빠르게 고정할 수 있다. 현저한 변동성이 있는 품종 (유기, 금 등) 에서 가장 효과적이다.

위험 분석

VWAP의 어 추적 전략은 신속하고 효율적이지만 몇 가지 위험도 있습니다.

  1. 수차례 추적된 포지션이 너무 커져 손실 위험이 커집니다.
  2. VWAP 지표는 손실을 완전히 방지할 수 없습니다.
  3. 높은 출입/출입 거래비용 압박
  4. 기본 풀 포지션 거래는 위험성이 높으며 더 큰 철수를 요구합니다.

위와 같은 위험들을 위해, 다음과 같은 방법으로 더 많은 최적화를 할 수 있습니다:

  1. 적당히 줄여서 단편적 손실의 영향을 줄여라.
  2. 다른 지표의 판단 필터링을 추가하여 의사 결정의 정확성을 향상시킵니다.
  3. 정지선 거리를 적절히 풀어주어, 너무 자주 정지되는 것을 줄여주십시오.
  4. 이윤을 보호할 수 있는 PROTECT 차단장치를 추가하여 수익을 고정합니다.

최적화 방향

VWAP 침투 추적 전략은 추적 클래스 초단선 전략으로 다음과 같은 차원에서 계속 최적화 할 수 있습니다.

  1. 다중 지표 통합: 변동률, MACD 및 기타 지표를 통합하여 거래 신호 필터링 조건을 더 엄격하게 설정하여 잘못된 판단의 가능성을 줄입니다.

  2. 역동적인 위치: 시장의 변동 정도에 따라 포지션 크기를 동적으로 조정한다. 대시장 흔들림 때 포지션을 줄이고, 트렌드가 분명할 때 포지션을 증가시킨다.

  3. 자율적 제약: 고정된 VWAP 스톱라인을 동적으로 추적하는 스톱 위치로 변경한다. 그리고 ATR 지표와 결합하여 스톱라인을 계산하여 스톱라인을 자율적으로 조정한다.

  4. 풍력 조절 장치최대 지분 기간, 일일 손실 제한, 철수율 선과 같은 여러 위트 컨트롤 지표를 설정하여 거래에 제약을합니다.

  5. 기계 학습: 역사적 거래 데이터를 수집하고, 더 높은 안정성을 추구하기 위해 전략 변수를 최적화하기 위해 딥러닝 모델을 사용합니다.

요약하다

VWAP 돌파 추적 전략은 전반적으로 매우 실용적인 고주파 거래 전략이다. 그것은 단기 가격 돌파 기회에 신속하게 반응하고, 전체 포지션을 추적하여 초단계 하자를 달성한다. 또한, 내장된 VWAP 추적 중지 메커니즘은 위험을 잘 제어 할 수 있다.

다중 지표 통합, 동적 포지션 관리, 자율적 인 스톱 라인, 풍력 제어 장치와 같은 최적화 방법을 통해이 전략의 거래 의사 결정이 더 안정되고 추적 효율이 더 높을 수 있습니다. 기계 학습 파라미터 최적화와 함께 VWAP 돌파 트래킹 전략의 효과는 크게 향상 될 수 있습니다.

고주파 트레이딩을 좋아하는 투자자들에게는 이것은 반드시 고려하고 지속적으로 최적화해야 할 전략이다.

전략 소스 코드
/*backtest
start: 2023-12-12 00:00:00
end: 2023-12-19 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=5
strategy(title="VWAP Push", initial_capital = 100000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, currency = 'USD', overlay=true)


//VWAP
vwap = ta.vwap(close)
plot(vwap, color=color.black, title="vwap")

//Last 5 Closes
closeBarPrevious5 = close[5]
closeBarPrevious4 = close[4]
closeBarPrevious3 = close[3]
closeBarPrevious2 = close[2]
closeBarPrevious1 = close[1]
closeBarCurrent = close


//is_1530 = (hour == 15) and (minute == 30)

is_push_up = (closeBarCurrent > closeBarPrevious1) and (closeBarPrevious1 > closeBarPrevious2) and (closeBarPrevious2 > closeBarPrevious3) and (closeBarPrevious4 < vwap) and (closeBarPrevious3 > vwap)  
is_push_down = (closeBarCurrent < closeBarPrevious1) and (closeBarPrevious1 < closeBarPrevious2) and (closeBarPrevious2 < closeBarPrevious3) and (closeBarPrevious4 > vwap) and (closeBarPrevious3 < vwap)  

var float hi = na
var float lo = na

hi := is_push_up ? high : hi
lo := is_push_down and (close < vwap) ? low : lo

plot(hi, "High", color.green, 1, plot.style_circles)
plot(lo, "Low", color.red, 1, plot.style_circles)

// Conditions

longCondition = ta.crossover(close,hi)
exitLong = ta.crossunder(close,vwap)

shortCondition = ta.crossunder(close,lo) and (close < vwap)
exitShort = ta.crossover(close,vwap)

// Entries Exits


if (longCondition)
    strategy.entry("Long", strategy.long)
if (exitLong)
    strategy.close("Long")
 

if (shortCondition)
    strategy.entry("Sell", strategy.short)
if (exitShort)
    strategy.close("Sell")