Mục lục bài viết
- Bằng chứng và phạm vi
- Hình minh họa
- Quy trình
- Volume tạo trọng số, không tạo danh tính người mua
- Quy tắc nguồn và phiên bản máy trạng thái đề xuất
- Tính chi phí trên turnover, không trên số tín hiệu
- TQQQ đã chứa đòn bẩy trong sản phẩm
- Một xu hướng thành công và một phiên whipsaw
- Kiểm định giá trị tăng thêm của volume
- 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
Paper 02/01/2018–28/09/2023: QQQ +671%, Sharpe 2,1, MDD 9,4%; TQQQ +8.242%, Sharpe 1,7, MDD 36,1%. Commission $0,0005/cổ phiếu, slippage=0; QQQ 21.967 lệnh, tỷ lệ thắng 17%. [1]
Quy trình thực hành
- Reset phiênXóa tổng PV/V và xác định lịch đóng.
- Tích lũyCập nhật typical-price VWAP từ bar đã đóng.
- Chọn phíaSo close với VWAP; xử lý equality đã định.
- Đổi exposureTính cả đóng và mở; mô phỏng latency.
- Kiểm tra chi phíTurnover, spread và participation theo từng fill.
- Đóng ngàyFlat và lưu sổ lệnh để đối chiếu.
Volume tạo trọng số, không tạo danh tính người mua
Đặt pᵢ=(Hᵢ+Lᵢ+Cᵢ)/3, VWAPₜ=ΣpᵢVᵢ/ΣVᵢ từ đầu phiên. Cách dùng typical price này là một xấp xỉ theo bar; tài liệu TradingView mô tả cùng dạng tích lũy. [3] VWAP từ từng giao dịch thật có thể khác khi một bar chứa nhiều mức giá.
Một cách tự kiểm tra phép tính: hai bar có typical price 100 và 102, volume 100 và 300 tạo VWAP=(10.000+30.600)/400=101,50. Nếu volume bằng nhau, kết quả là 101. Chênh lệch đó cho thấy dữ liệu volume thực sự tham gia, nhưng không chứng minh hướng giá tương lai.
Giá trên VWAP chỉ nói giá hiện tại cao hơn bình quân đã khớp theo quy ước đang dùng. Nó không cho biết mọi người đều có lãi, ai đang tích lũy hoặc lượng lệnh chờ phía dưới. Khi phiên có xu hướng, giá có thể ở một phía rất lâu; trong phiên đi ngang nó có thể cắt qua liên tục.
Quy tắc nguồn và phiên bản máy trạng thái đề xuất
Cấu hình nguồn chờ nến phút đầu, giữ long phía trên VWAP, short phía dưới; đảo sau nến đóng cắt đường và đóng cuối phiên. Notional bằng vốn, không vay thêm cấp tài khoản. [1]
Để biến mô tả thành chương trình không mơ hồ, phiên bản đề xuất chọn equality là giữ hướng trước đó, nếu chưa có vị thế thì flat. Không dùng high/low chạm đường làm tín hiệu. Giao dịch chỉ được đặt sau khi có dữ liệu hoàn tất; next event hoặc next open là hai mô hình fill cần báo riêng.
Size lấy theo equity có sẵn khi đổi hướng và giá tham chiếu biết trước lệnh. Đóng long 100 cổ phiếu rồi mở short 100 tương ứng bán 200, không phải 100. Khi partial fill, hệ thống phải biết exposure còn lại trước khi quyết định lượng đảo tiếp. Không tái gửi toàn bộ target trên mỗi tick nếu đã có pending order.
on_session_start():
cum_pv = 0; cum_volume = 0
target_side = 0
on_completed_minute(bar):
typical = (bar.high + bar.low + bar.close) / 3
cum_pv += typical * bar.volume
cum_volume += bar.volume
if cum_volume <= 0: return
vwap = cum_pv / cum_volume
new_side = sign(bar.close - vwap)
if new_side == 0: new_side = target_side
if new_side != target_side:
target_side = new_side
submit_target_after_signal(target_side, budget=available_equity)
on_session_liquidation_deadline():
cancel_pending_orders()
submit_flat()
Tính chi phí trên turnover, không trên số tín hiệu
Một đường tín hiệu có thể khá ổn nhưng mất lợi thế khi mỗi lần cắt đường phải trả hai phía spread và commission. Engine nên lưu signed position, position change, số cổ phiếu giao dịch và giá bid/ask khả dụng. Nếu fill đã dùng bid/ask thì không trừ toàn bộ spread lần thứ hai.
Ví dụ tự tạo: một vòng long 100 cổ phiếu từ 100,02 đến 100,22 cho gross $20. Phí hai chiều $0,70, spread/slippage tổng $3 tạo net $16,30. Một chuỗi 12 vòng nhỏ có cùng số cổ phiếu sẽ trả $44,40 cho cùng giả định chi phí mỗi vòng, kể cả khi từng vòng chỉ lỗ giá vài cent.
Win rate thấp có thể phù hợp với payoff lệch, nhưng phải đo sau phí. Ví dụ giả lập p=20%, thắng trung bình 5R, thua 1R tạo kỳ vọng 0,2R trước phí. Phí 0,10R còn 0,10R; phí 0,25R biến thành −0,05R. Các số này minh họa số học, không ước lượng paper.
Không chuẩn hóa R bằng khoảng cách tới VWAP rồi gọi đó là stop cố định. VWAP dịch chuyển và tín hiệu chờ đóng bar; khoảng lỗ thực hiện có thể khác xa khoảng cách tại lúc vào. Có thể báo PnL/cổ phiếu, basis points trên notional hoặc return trên equity thay vì tạo một R không nhất quán.
TQQQ đã chứa đòn bẩy trong sản phẩm
ProShares mô tả mục tiêu TQQQ là 3× biến động hằng ngày của Nasdaq-100 trước phí; lợi nhuận nhiều ngày có thể lệch đáng kể so với 3× lợi nhuận cả giai đoạn. [2] Vì vậy dùng 100% tiền mặt mua TQQQ không có nghĩa rủi ro tương đương mua QQQ bằng tiền mặt.
Đây cũng không phải phép nhân đơn giản mọi lệnh QQQ với ba. Giá, VWAP, spread và điểm cắt của hai ETF có thể khác nhau. Muốn so ảnh hưởng đòn bẩy, hãy giữ lịch tín hiệu của một tài sản và mô phỏng exposure chuẩn hóa như một thí nghiệm riêng, rồi so với chiến lược dùng tín hiệu riêng từng ETF.
Ví dụ toán học không tính phí: chỉ số tăng 10% rồi giảm 9,0909% sẽ gần về điểm xuất phát; một sản phẩm lý tưởng reset 3× mỗi ngày đi từ 100 lên 130 rồi xuống khoảng 94,545. Chênh lệch do ghép lãi hằng ngày, không phải một hằng số phí có thể trừ mỗi năm.
Một xu hướng thành công và một phiên whipsaw
Kịch bản tự tạo: sau nến đầu, close=100,10 và VWAP=100,04; long khớp 100,12. Những nến sau giữ close trên VWAP, cuối phiên bán 101,20. Với 100 cổ phiếu, gross=$108; net cần trừ tất cả chi phí đã mô hình hóa. Điểm có lợi là không cắt lời cố định khiến phần đuôi xu hướng có thể được giữ.
Kịch bản thất bại: long 100,12, bar kế tiếp đóng dưới VWAP và lệnh đảo khớp 100,02; long lỗ $10. Sau đó giá lại đóng trên VWAP, mua đóng short tại 100,13; short lỗ $11. Chưa có một xu hướng bền nào, nhưng đã phát sinh bốn lượt khớp của hai lệnh hoàn chỉnh và thêm lượt mở long mới.
Một filter chờ hai nến hoặc thêm khoảng đệm có thể giảm số lần đảo nhưng cũng làm chậm bắt xu hướng. Đây là đề xuất nghiên cứu khác baseline; không được gán thành điều kiện paper chỉ vì equity đẹp hơn trong một năm.
Kiểm định giá trị tăng thêm của volume
Các so sánh hữu ích là VWAP với trung bình tích lũy không trọng số, với đường trung bình có cùng mức trễ xấp xỉ và với volume bị hoán vị trong phạm vi giữ cấu trúc giờ. Mục tiêu là hỏi trọng số volume có thông tin tăng thêm, không chỉ so một đường nhanh với một đường chậm.
Khóa trước các biến thể, kiểm định ở giai đoạn chưa dùng lựa chọn, báo số lần đảo mỗi ngày và phần PnL do vài ngày xu hướng lớn. Chạy thêm stress chi phí 1,5×/2× như tham số đề xuất, độ trễ một nến và giới hạn participation. Tăng quy mô không được giả định giữ nguyên fill của tài khoản nhỏ.
Bằng chứng hiện có là backtest được công bố với giả định cụ thể. Bài này không chạy lại hoặc xác nhận headline có thể đạt bằng lệnh thật; bản tái lập cần bắt đầu từ một sổ sự kiện đủ để giải thích từng lần đổi hướng.
Sai lầm thường gặp
Chép headline TQQQ thành mục tiêu tài khoản
Headline gắn với giai đoạn, sản phẩm và zero-slippage; chưa là lợi nhuận thực thi hiện tại.
Tín hiệu và PnL cùng một bar
Close vừa hình thành không thể cho exposure hưởng cả biến động trước đó. Dịch position theo thời điểm order thực sự có hiệu lực.
Tối ưu bộ đệm trên cùng dữ liệu
Mỗi buffer, số nến chờ và giới hạn lệnh là một thử nghiệm; lưu toàn bộ thay vì chỉ báo bản đẹp nhất.
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
Không dùng margin thì TQQQ có được coi là không đòn bẩy?
Tài khoản có thể không vay thêm, nhưng sản phẩm vẫn có mục tiêu exposure 3× hằng ngày. Hai khái niệm cần báo tách.
Vì sao chiến lược thắng ít lệnh vẫn có thể có lãi?
Một số lệnh thắng lớn có thể bù nhiều lỗ nhỏ. Điều kiện là kỳ vọng sau phí dương và các lệnh thắng lớn tiếp tục xuất hiện ngoài mẫu.
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): The Holy Grail for Day Trading SystemsCarlo Zarattini, Andrew Aziz — 13/11/2023. Đọc PDF 26 trang, bảng 1–4; tên gọi Holy Grail thuộc tác giả, không phải kết luận xác nhận của bài này. Đối chiếu: .
- TQQQ — UltraPro QQQProShares. Mục tiêu daily 3× và ảnh hưởng kỳ nắm giữ; không dùng performance hiện tại để suy ra chiến lược. Đối chiếu: .
- Volume Weighted Average Price (VWAP)TradingView. Định nghĩa VWAP theo typical price; tài liệu chỉ báo không chứng minh lợi nhuận. Đố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