글 목차
근거와 범위
플랫폼 문서와 브라이언 섀넌의 슬라이드는 계산, 앵커 선택 및 되돌림에 대해 설명합니다. 하지만 아래 제시된 알고리즘에 대한 독립적으로 검증된 수익률 시리즈는 제공하지 않습니다. VWAP를 살짝 건드린다고 해서 자동으로 수익성 있는 거래가 되는 것은 아닙니다. [1] [2] [3]
실전 적용 절차
- 앵커를 정의하세요신호 앞에는 고정된 규칙과 가용성 타임스탬프가 있어야 합니다.
- 데이터를 선택하세요정확한 거래 내역 또는 HLC3 바의 근사치를 식별하십시오.
- 당시 이용 가능한 정보만 누적가격과 거래량은 의사 결정 마감 시점까지만 사용하십시오.
- 가격 반응을 기다리세요단순 접촉이 아니라 되돌림 이후의 회복을 요구합니다.
- 점진적으로 검증합니다같은 거래 후보를 현실적인 체결 비용을 반영하여 비교합니다.
평균 거래 가격일 뿐, 보장된 지지 가격은 아닙니다.
정확한 거래 계산식 VWAP는 거래 가격과 수량을 곱한 값의 합을 총 수량으로 나눈 값입니다. 많은 차트 구현 방식에서는 개별 거래를 각 캔들의 HLC3 값에 거래량을 곱한 값으로 대체합니다. 하지만 캔들 간격이 변경되면 이 근사값이 달라질 수 있습니다. TradingView는 캔들 기반 계산 방식과 선택 가능한 재설정 기간을 문서화하고 있습니다. [1]
앵커는 고정된 세션 시작 시점, 이미 발표된 실적 발표, 확정된 돌파 또는 확정된 스윙일 수 있습니다. 섀넌의 슬라이드는 의미 있는 앵커와 기울기를 사용하며, 모든 접점을 자동 매수로 간주하지 않습니다. [3] 선과의 거리는 선택된 샘플에 대한 상대적인 위치를 나타냅니다. 이는 특정 시장 참여자 그룹의 정확한 매입 단가를 보여주지는 않습니다.
앵커링은 모델링 과정에서 결정되는 사항입니다. 세션 앵커는 하루 평균 거래가 이루어진 위치를 묻고, 이벤트 앵커는 해당 이벤트 이후 거래가 이루어진 위치를 묻습니다. 어느 쪽이 항상 더 우월한 것은 아니며, 시각적으로 매력적인 여러 앵커를 평균내는 것만으로는 독립적인 증거를 만들 수 없습니다. 시작 시간을 선택하기 전에 질문을 명확히 해야 합니다.
사건 발생 시각과 정보 이용 가능 시각
event_at와 available_at는 별도로 저장하세요. 월요일에 발생한 저점은 확인을 위해 이후 두 개의 일봉 차트가 필요하지만, 수요일 종가 이후에만 기준점이 될 수 있습니다. 이때 월요일부터 선을 그릴 수 있지만, 수요일 확인을 이용해 월요일 거래를 시뮬레이션할 수는 없습니다.
뉴스에서 파생된 앵커는 전략에서 실제로 사용 가능한 게시 타임스탬프가 필요합니다. 가격 변동 이후에 수정된 파일과 할당된 레이블은 동시적인 증거가 아닙니다. 자유롭게 드래그할 수 있는 차트 앵커는 탐색에 유용하지만 알고리즘으로 사용하기 전에 명확한 선택 규칙이 필요합니다. TradingView의 그리기 도구는 사용자가 선택한 시작점을 기록합니다. [2]
또한, 대체 및 만료 시점을 명확히 정의하십시오. 새로운 돌파가 발생할 경우, 기존 앵커를 대체할지, 두 번째 독립적인 후보를 생성할지, 아니면 현재 거래를 그대로 둘지 결정해야 합니다. 테스트 전에 이러한 사항들을 결정하십시오. 현재 포지션이 불안정해 보일 때마다 앵커를 교체하는 것은 은밀하게 위험을 확대하고, 과거에 나타난 지지선을 재현할 수 없게 만들 수 있습니다.
누적 계산과 사전에 고정한 조건
가격이 코인당 USD이고 거래량이 코인 수량이면, 가중합인 분자의 단위는 USD이며 최종 결과는 다시 코인당 USD가 됩니다. 수량을 호가 통화 기준 거래대금으로 대체하면 가중 방식이 달라집니다. 누적 거래량이 0이면 NA를 반환합니다. 아래 ATR 버퍼와 조건은 제안한 실험 규칙이며 섀넌의 시스템을 완전히 재현한 것이 아닙니다.
의사결정 시점까지 수신한 관측치만 사용하여 계산합니다. 나중에 도착한 정정 자료에는 당시 이용 가능 정보에 관한 명시적 처리 정책이 필요합니다. 차트와 체결 엔진을 대조할 수 있도록 가격 유형, 앵커 규칙 버전, 수량 단위와 데이터 마감 시각을 저장합니다. 예시 추세 조건은 필터이며, 진입하려면 별도의 가격 사건이 필요합니다.
기울기는 같은 선택 앵커에서 현재 값과 다섯 개 봉 전 값을 모두 계산합니다. 다른 앵커에 속한 저장 값을 재사용하지 않습니다. 다섯 개 봉 전까지의 누적 수량도 양수여야 합니다. 앵커가 알려진 뒤 이전 구간을 재구성하는 것은 현재 판단에 사용할 수 있지만 과거 신호를 소급 생성하는 근거는 아닙니다.
의사 코드에서 t와 a는 바 인덱스이고, start_bar_index는 앵커 규칙에 따라 선택된 첫 번째 바이며, available_at는 타임스탬프입니다. 바 내에서 발표된 뉴스의 경우, OHLCV 버전은 해당 이벤트 발생 시점 또는 그 이후에 시작하는 첫 번째 완전한 바부터 시작합니다. 거래 기반 버전은 정확한 이벤트 타임스탬프부터 시작할 수 있습니다. 이러한 규칙들을 명확히 구분하여 사용하십시오.
anchor = first_confirmed_event(rule, data_asof=bar_close_time(t))
if anchor is None: return NO_SIGNAL
a, known_at = anchor.start_bar_index, anchor.available_at
if bar_close_time(t) < known_at: return NO_SIGNAL
pv = sum(((H[i]+L[i]+C[i])/3)*V[i] for i in a..t)
vol = sum(V[i] for i in a..t)
if vol <= 0: return INSUFFICIENT_DATA
avwap_now = pv / vol
trend_ok = False
if t >= a+5:
past_vol = sum(V[i] for i in a..t-5)
if past_vol > 0:
past_pv = sum(((H[i]+L[i]+C[i])/3)*V[i] for i in a..t-5)
avwap_lag = past_pv / past_vol
trend_ok = C[t] > avwap_now and avwap_now > avwap_lag
# Both values use this same anchor; only emit a decision now.
# The trade trigger remains separate from this example filter.
수동 계산 및 두 가지 실패 사례
세 가지 합성 거래를 생각해 보겠습니다. 10 단위를 100에, 20 단위를 102에, 그리고 10 단위를 99에 거래하는 것입니다. VWAP는 (1000 + 2040 + 990)/40 = 100.75입니다. 가중치가 없는 평균 가격은 대략 100.333이고, 최종 가격은 99입니다. 이 거래들은 각각 다른 질문에 대한 답을 제시합니다. 만약 거래를 H=102, L=99 및 C=99와 함께 하나의 막대로 집계하면 HLC3는 100가 되며, 이는 정확한 거래인 VWAP와 0.75만큼 차이가 납니다.
가격 101이 VWAP 100.75보다 높다는 사실만으로 101에서 매수할 때 기대수익이 양수라고 입증할 수는 없습니다. 실패 경로의 한 예는 하락 추세에서 101에서 100.75를 거쳐 99로 내려가는 경우입니다. 매번 접촉할 때마다 매수하면 하락을 붙잡으려는 시도만 반복할 수 있습니다. 또 다른 실패는 미래의 선이 여러 매력적인 반등에 잘 맞는 것을 본 뒤 앵커를 선택하는 것입니다.
차트는 흐름을 명확하게 보여주기 위해 고정된 예시 참조 레벨을 사용합니다. 실제 AVWAP는 새로운 거래량이 유입됨에 따라 업데이트됩니다. 그려진 수평 레벨을 마치 완전한 과거 VWAP 시리즈인 것처럼 가져오지 마십시오. 해당 레벨은 후보 위치, 하락 및 이후 회복을 설명하기 위한 것입니다.
되돌림의 회복 조건과 무효화 조건
제안하는 매수 변형에서는 되돌림 전 추세가 정해진 조건을 충족해야 합니다. 첫 되돌림이 AVWAP ±0.15 ATR 영역에 들어온 뒤 다음 세 개 봉 안에 종가가 테스트 봉의 고가를 초과하고 AVWAP 위에서 마감해야 합니다. 후보가 형성될 때 ATR를 고정합니다. 손절은 되돌림 저점에서 버퍼를 뺀 수준 아래에 두고, 스프레드와 슬리피지를 반영하여 다음 체결 가능한 사건에서 진입합니다.
확정 전에 가격이 허용 영역 아래로 마감하거나 제한 시간이 만료되면 미체결 후보를 취소합니다. 모든 되돌림 봉이 VWAP 위에 있어야 한다는 전략은 연구하려던 일시적 테스트 자체를 배제할 수 있습니다. 되돌림 전의 추세 상태와 회복 조건을 분리합니다.
교차점을 확인하려면 어제 종가를 어제의 VWAP와 비교하고, 오늘 종가를 오늘의 VWAP와 비교하십시오. 두 종가를 오늘의 이동평균선과 비교하면 이벤트 정의가 변경됩니다. 포지션이 형성된 후에는 미리 정해진 구조적 손절매 또는 별도로 지정한 트레일링 규칙을 유지하십시오. 손절매 범위를 넓히기 위해 기준점을 이동하지 마십시오.
평균회귀 목표에도 명시적 규칙이 필요합니다. 사건 시점에 고정한 VWAP 목표와 계속 움직이는 VWAP 목표는 다릅니다. 후자는 각 관측 후 주문을 수정하는지 명시하고 그에 따른 체결 시점을 반영해야 합니다. 나중에 선이 대기 중인 지정가 주문 수준을 지나갔다는 사실만으로 주문 체결을 증명할 수는 없습니다.
같은 정보를 중복 계산하지 않고 거래량 조건 추가
VWAP는 이미 거래량을 이용하여 가격 위치를 가중치로 사용하고 있습니다. RVOL는 기준선 대비 비정상적인 참여도를 측정하므로 추가적인 정보를 제공할 수 있지만, 그 부가 가치는 측정되어야 합니다. 조정 기간 동안의 거래량 감소와 회복 기간 동안의 거래량 증가를 각각 별도로 테스트한 후 결합하십시오.
VWAP 밴드의 경우, 분산 계산에 거래 또는 캔들바 지표를 사용할지 여부, 거래량이 가중치에 포함되는 방식, 그리고 추정치가 재설정되는 시점을 지정해야 합니다. 2표준편차 거리가 자동으로 95% 반전 또는 평균 회귀 확률을 의미하는 것은 아닙니다. 추세, 상호 의존성 및 관측치의 분포로 인해 이러한 단축된 접근 방식은 타당하지 않습니다.
시각적으로 일치하는 두 지표가 독립적인 통계적 관찰 결과를 의미하는 것은 아닙니다. 예를 들어, 상승 추세의 VWAP 지표 위에 있는 가격과 이동 평균 위에 있는 가격은 상당 부분 동일한 정보를 공유할 수 있습니다. 상관관계가 있는 각 조건에 신뢰도 점수를 부여하는 임의적인 방식보다는 통제된 비교 방법을 사용해야 합니다.
보기 좋은 선이 아니라 앵커 선택 규칙을 검증
세션 시작, 확정된 돌파, 확정된 피벗과 같은 몇 가지 앵커 규칙을 사전 등록합니다. 동일한 가격대의 후보들을 대상으로 VWAP를 포함하지 않은 경우, 가격 위치만 고려한 경우, 위치와 기울기를 함께 고려한 경우, 그리고 추가적인 거래량 필터를 적용한 경우를 비교합니다. HLC3 추정치의 시간 프레임 민감도와 앵커를 늦게 확보하여 놓친 기회의 수를 보고합니다.
접두사 불변성 검사를 수행합니다. 과거 차단값을 통해 계산하고, 이후 관측값을 추가하고, 이전에 방출된 신호가 변경되지 않았는지 확인합니다. 스윙 확인 후 표시되는 과거 경로를 변경하더라도 신호 로그를 덮어쓰면 안 됩니다. anchor_rule_version, event_at, available_at, 볼륨 소스 및 price_type를 보존합니다.
마지막으로, 데이터 수신 지연 및 실제 실행 상황을 가정하여 계산을 다시 수행하십시오. 순 기대 수익, 거래 빈도, 최대 손실률 및 거부된 후보를 보고하십시오. 성과가 정확한 종가 체결에 따라 달라지거나 각 성공 사례마다 다른 기준점을 선택하는 것에 따라 달라지는 경우, 유용한 결과는 실행 가능한 거래 우위가 아니라 구현 경고가 될 것입니다.
흔한 실수
결과에서 앵커를 선택하세요
최종 테스트에서 여러 앵커를 시도하면 우연히 시각적으로 잘 맞는 앵커를 선택할 가능성이 커집니다.
기초자산 거래량을 호가 통화 기준 거래대금으로 대체
이는 가중치를 변경하고 다른 특징 정의를 요구합니다.
방금 확정된 종가에 체결되었다고 가정
매력적인 결과가 누락된 스프레드와 의사결정 지연에 의존할 수 있습니다.
이 기법을 사용하기 전 체크리스트
자신의 데이터로 확인한 뒤 각 항목에 체크하세요. 진행 상태는 이 브라우저에 저장되며, 전략의 수익성을 인증하지는 않습니다.
자주 묻는 질문
VWAP와 AVWAP 중 어느 것이 더 나은가요?
가장 큰 차이점은 선택된 구간입니다. 특정 질문에 답하기 위해 기준점을 선택하고 의도한 데이터로 검증하십시오.
과거의 스윙 고점·저점을 앵커로 사용할 수 있나요?
네, 하지만 신호는 스윙이 확정된 후에만 발생할 수 있습니다. 과거에 선을 다시 그리는 것은 과거에 거래하는 것을 허용하지 않습니다.
연구 출처
각 출처는 옆에 설명된 정의나 근거를 뒷받침합니다. 의사코드, 가상 예시와 제안된 매개변수는 별도로 검증해야 합니다.
- Volume Weighted Average Price (VWAP)TradingView. 봉 단위 VWAP 계산과 앵커·초기화 기간. 확인일: .
- Anchored VWAP drawing toolTradingView. 이 도구의 사용자가 선택한 고정된 VWAP의 시작점입니다. 확인일: .
- Specific Anchored VWAP StrategiesBrian Shannon / CMT Association. 앵커, 경사 및 풀백에 대한 공개 슬라이드입니다. 유료 서적 전체를 다 읽었다고 주장하는 것은 아닙니다. 확인일: .
관련 기법
위험 안내
이 내용은 학습과 연구 설계를 위한 것이며 금융 조언이 아닙니다. Backtest는 과거 데이터 시뮬레이션으로, 미래 성과를 보장하지 않으며 실제 거래를 주문하지 않습니다. 이 라이브러리의 기법이 모두 앱에 구현된 기능은 아닙니다. 관련 정보: 검증 방법 및 학습 센터.
실제 자금을 투입하기 전에 규칙을 검증하세요
앱 지원 범위, 데이터와 개별 모의 거래를 확인하세요. 고급 탐지 기법은 별도 구현이 필요할 수 있습니다.
App Store에서 Backtest 다운로드