Mục lục bài viết
- Bằng chứng và phạm vi
- Hình minh họa
- Quy trình
- Bình quân giá giao dịch, không phải hỗ trợ chắc chắn
- Mốc xảy ra và mốc được biết
- Tính tích lũy và khóa điều kiện
- Tính tay và phản ví dụ
- Pullback cần phục hồi và điểm vô hiệu
- Kết hợp volume mà không đếm hai lần
- Thử anchor thay vì chọn đường đẹp nhất
- Sai lầm thường gặp
- Checklist thực hành
- Câu hỏi thường gặp
- Nguồn nghiên cứu
Bằng chứng và phạm vi
Tài liệu nền tảng và slide của Brian Shannon giải thích cách tính, anchor và pullback. Chúng không cung cấp một chuỗi kết quả độc lập cho thuật toán đề xuất dưới đây. Chạm đường VWAP không tự là tín hiệu có lãi. [1] [2] [3]
Quy trình thực hành
- Định nghĩa anchorQuy tắc và available_at tồn tại trước tín hiệu.
- Chọn dữ liệuTrades hoặc HLC3 xấp xỉ được ghi rõ.
- Tính tích lũyTổng PV và V chỉ tới thời điểm quyết định.
- Chờ phản ứng giáPullback rồi phục hồi; không mua chỉ vì chạm.
- Kiểm địnhSo baseline cùng candidate và chi phí.
Bình quân giá giao dịch, không phải hỗ trợ chắc chắn
VWAP chính xác lấy tổng giá trị các giao dịch chia tổng số lượng. Nhiều biểu đồ thay từng giao dịch bằng HLC3 của nến nhân volume; đường này có thể đổi khi thay khung nến. Tài liệu TradingView mô tả công thức dạng bar và các kỳ reset. [1]
AVWAP giữ mốc neo riêng: đầu phiên, sự kiện earnings đã công bố, breakout vừa xác nhận hoặc swing được xác nhận. Slide Shannon dùng mốc có ý nghĩa và quan sát độ dốc; tác giả không coi mọi lần chạm là điểm mua tự động. [3] Khoảng cách giá tới đường giúp mô tả vị trí, không chứng minh giá vốn của một nhóm tài khoản cụ thể.
Mốc xảy ra và mốc được biết
Lưu hai trường event_at và available_at. Một đáy xuất hiện thứ Hai nhưng cần hai phiên bên phải để xác nhận chỉ được dùng từ thứ Tư đóng cửa. Có thể vẽ AVWAP bắt đầu thứ Hai sau thời điểm đó; không được dùng đường hồi tố để giả lập mua vào thứ Hai.
Anchor theo tin cần timestamp công bố mà người giao dịch thực sự nhận được. Tập tin đã sửa hoặc nhãn tin gắn sau biến động không được dùng như dữ liệu biết trước. Giao diện kéo thả anchor tự do hữu ích để khám phá nhưng không đủ làm thuật toán; công cụ vẽ của TradingView xác nhận đây là điểm khởi đầu người dùng chọn. [2]
Tính tích lũy và khóa điều kiện
Với volume theo coin, giá USD/coin thì tích PV có đơn vị USD, chia coin trở lại USD/coin. Nếu thay V bằng quote turnover, phép gia quyền đã đổi. Khi tổng volume bằng 0, trả NA. Các hệ số ATR và điều kiện dưới đây là đặc tả mới để kiểm thử, không phải toàn bộ hệ thống của Shannon.
Để đo slope, tính lại cả AVWAP hiện tại và giá trị cách năm nến từ cùng anchor đã chọn; không lấy giá trị lưu của một anchor cũ khác. Phần volume từ anchor tới mốc trễ cũng phải dương. Có thể tính đoạn quá khứ sau khi anchor được biết để ra quyết định hiện tại, nhưng không phát tín hiệu hồi tố tại đoạn đó.
Trong mã giả, t và a là chỉ số nến; start_bar_index là nến bắt đầu đã được anchor rule chọn, còn available_at là timestamp. Nếu tin ra giữa nến, bản OHLCV chọn nến đầy đủ đầu tiên bắt đầu từ hoặc sau sự kiện; bản dùng trades có thể neo đúng timestamp. Hai cách không được trộn âm thầm.
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.
Tính tay và phản ví dụ
Ba giao dịch giả lập: giá 100 với 10 đơn vị, 102 với 20, 99 với 10. VWAP = (1000 + 2040 + 990)/40 = 100,75. Trung bình giá thường là 100,333; dùng giá đóng cửa 99 lại là phép đo khác. Nếu gộp thành nến H=102, L=99, C=99 thì HLC3=100, xấp xỉ bar lệch 0,75 so với trades.
Giá 101 nằm trên VWAP 100,75 không có nghĩa giao dịch mua tại 101 đang có lợi thế thống kê. Trường hợp thất bại: giá từ 101 xuyên 100,75 xuống 99 trong trend giảm; người mua mọi lần chạm sẽ tăng số lần bắt đáy. Hoặc chọn anchor vì đã thấy đường hỗ trợ đẹp trong tương lai tạo ra kết quả hồi cứu không tái lập được.
Pullback cần phục hồi và điểm vô hiệu
Một biến thể long: trend_ok tồn tại trước pullback; nhịp hồi đầu tiên chạm vùng AVWAP ±0,15 ATR; trong ba nến kế, close vượt đỉnh nến test và trở lại trên đường. Khóa ATR từ candidate và stop dưới đáy nhịp hồi trừ buffer. Entry ở nến sau có spread/slippage. Nếu giá đóng dưới vùng trước xác nhận hoặc quá hạn thì hủy.
Đường thay đổi theo từng giao dịch nên không so close hôm qua với AVWAP hôm nay để nhận diện giao cắt. Với lệnh đã mở, dùng stop theo cấu trúc đã cam kết hoặc một quy tắc trailing riêng; không tùy ý thay anchor để nới stop. Với mean reversion, target VWAP đang chạy và target đóng băng tại sự kiện là hai chiến lược khác nhau.
Kết hợp volume mà không đếm hai lần
VWAP đã dùng volume để gia quyền vị trí. Thêm RVOL vẫn có thể có ích vì đo hoạt động bất thường, nhưng phải chứng minh phần thông tin tăng thêm. Thử volume khô ở pullback và volume tăng khi phục hồi như hai điều kiện độc lập; đừng gọi giá trên VWAP cộng volume lớn là hai bằng chứng thống kê độc lập.
Với band VWAP, cần quy định variance dùng giá trade hay bar, gia quyền volume thế nào và reset khi nào. Khoảng ±2 độ lệch chuẩn không tự cho xác suất 95% quay về trung bình vì phân phối, xu hướng và phụ thuộc thời gian không thỏa điều kiện đó.
Thử anchor thay vì chọn đường đẹp nhất
Đăng ký trước tối đa vài rule anchor: đầu phiên, breakout xác nhận, pivot xác nhận. Trên cùng candidate giá so không VWAP, chỉ vị trí, thêm slope, thêm volume. Báo độ nhạy timeframe của xấp xỉ HLC3, số tín hiệu bị bỏ vì biết anchor muộn, chi phí và lợi nhuận ngoài mẫu.
Kiểm tra prefix invariance: tính tới từng mốc rồi nối thêm dữ liệu; signal đã phát không được đổi. Lưu anchor_rule_version, event_at, available_at, nguồn volume và price_type để truy vết khác biệt giữa chart và engine.
Sai lầm thường gặp
Neo theo kết quả
Nhiều anchor được thử trên tập test làm tăng nguy cơ chọn may mắn.
Volume quote thay volume base
Đổi đơn vị gia quyền có thể tạo đường khác; cần tên feature khác.
Khớp tại close vừa biết
Kết quả đẹp có thể chỉ do bỏ spread và độ trễ quyết định.
Checklist trước khi dùng phương pháp
Tự đánh dấu khi đã kiểm tra trên dữ liệu của bạn. Trạng thái lưu trong trình duyệt này; đây không phải chứng nhận chiến lược có lãi.
Câu hỏi thường gặp
VWAP hay AVWAP tốt hơn?
Hai tên khác nhau chủ yếu ở cửa sổ. Cần chọn mốc hợp câu hỏi và kiểm định trên dữ liệu mục tiêu.
Có thể dùng swing cũ làm anchor không?
Có, nhưng chỉ phát tín hiệu từ lúc swing đã xác nhận; vẽ lại quá khứ không tạo quyền giao dịch trong quá khứ.
Nguồn nghiên cứu
Các nguồn dưới đây hỗ trợ phần định nghĩa hoặc bằng chứng được ghi bên cạnh. Mã giả, ví dụ minh họa và tham số đề xuất trong bài cần được kiểm định riêng.
- Volume Weighted Average Price (VWAP)TradingView. Cách tính VWAP bằng bar và kỳ anchor. Đối chiếu: .
- Anchored VWAP drawing toolTradingView. Công cụ chọn điểm bắt đầu AVWAP. Đối chiếu: .
- Specific Anchored VWAP StrategiesBrian Shannon / CMT Association. Slide công khai về anchor, slope và pullback; không tuyên bố đã đọc toàn bộ sách. Đối chiếu: .
Đọc tiếp theo phương pháp
Lưu ý rủi ro
Nội dung phục vụ giáo dục và thiết kế nghiên cứu, không phải lời khuyên tài chính. Backtest là mô phỏng lịch sử, không bảo đảm hiệu quả tương lai và không đặt lệnh giao dịch thật. Các phương pháp trong thư viện không mặc nhiên là tính năng đã có trong ứng dụng. Xem phương pháp tính và trung tâm học.
Kiểm tra quy tắc trước khi dùng vốn thật
Đối chiếu khả năng hỗ trợ của ứng dụng, dữ liệu và từng giao dịch mô phỏng; các detector nâng cao có thể cần triển khai riêng.
Tải Backtest trên App Store