Mục lục bài viết

Bằng chứng và phạm vi

Working paper 17/12/1998 dùng NYSE 08/1963–12/1996. Phần TAQ 1993–1994, limit orders và nhóm return bình thường báo +0,89%/+0,73% mỗi dollar-long ở nhóm nhỏ/vừa sau spread; chưa trừ brokerage hoặc market impact. [1]

Dữ liệu và thị trườngNguồn lịch sử cổ phiếu NYSE; cần daily dollar volume, market cap, corporate actions và quote nếu kiểm tra thực thi.
Khung thời gian nghiên cứuFormation một phiên, nền 49 phiên trước, horizon nghiên cứu 20 phiên.
Rank dollar volume dao động ở vùng bình thường rồi tăng lên 48, vượt ngưỡng high 46; sự kiện chỉ xác nhận sau phiên formation.Mở hình kích thước đầy đủ
Dữ liệu tự tạo: trục dọc là thứ hạng 1–50 của dollar volume theo cửa sổ từng ngày, cột phụ là triệu dollar. Chỉ vẽ 12 quan sát cuối; mỗi rank giả định đã có đầy đủ 49 phiên nền.

Quy trình thực hành

Sơ đồ quy trình High Volume Return Premium: từ tín hiệu đến thực thi
Các bước được mô tả đầy đủ bên dưới. Tại mỗi bước, dữ liệu thiếu hoặc điều kiện sai phải có lý do loại bỏ.
  1. Hoàn tất formationChờ volume cả phiên và timestamp dữ liệu.
  2. Xếp rankSo 1 phiên với 49 phiên trước của cùng mã.
  3. Ghép sizeTạo long high/short low, giữ ngân sách.
  4. Thử executionMarket và limit dùng cùng tập cơ hội.
  5. Theo dõi cohortBorrow, partial fills, cashflow và horizon.
  6. Đánh giáTách premium, chi phí và return trên equity.

Bất thường so với chính cổ phiếu, không chỉ lớn về tuyệt đối

Một phiên volume $50 triệu có thể bình thường với cổ phiếu lớn nhưng rất bất thường với mã thường giao dịch $2 triệu. Nghiên cứu cú sốc cần chuẩn hóa theo lịch sử của chính mã. Dollar volume đo giá trị giao dịch; nếu có từng trade thì cộng price×shares, còn daily close×volume chỉ là xấp xỉ.

Cấu trúc nguồn xếp dollar volume phiên formation trong 50 phiên gồm 49 phiên trước: nhóm high ở 5 hạng cao nhất, low ở 5 hạng thấp nhất; so danh mục theo size. [1] Điều này khác RVOL chia trung bình: rank ít bị một phiên cực lớn kéo mẫu số, nhưng bỏ thông tin phiên hiện tại lớn hơn ngưỡng bao nhiêu.

Ví dụ tự tạo: A giao dịch $40 triệu, hạng 48/50; B giao dịch $300 triệu, hạng 25/50. A là cú sốc high theo rank dù giá trị tuyệt đối nhỏ hơn nhiều. Thanh khoản thực thi của A vẫn có thể kém B; tín hiệu và capacity là hai đại lượng phải lưu riêng.

Chỉ xác nhận sau khi volume formation đã đủ

Nếu cần volume toàn ngày, tín hiệu chỉ hoàn tất sau khi nhận xong phiên, cộng độ trễ dữ liệu. Dùng volume cuối ngày để giả định chắc chắn mua ở chính close đó tạo vấn đề thời gian. Bản triển khai đề xuất vào từ phiên sau; chấp nhận rằng nó khác một phép đo event return bắt đầu ở close formation.

Để dữ liệu có thể tái lập, lưu daily volume ban đầu, bản sửa, price type tính dollar volume, lịch phiên và lý do loại mã. Không tự hiểu volume=0 là không có giao dịch nếu feed đang lỗi. Ties ở nhiều ngày không giao dịch cần quy tắc; đặc tả dưới đây dùng average rank và bỏ mã không đủ dữ liệu, một lựa chọn nghiên cứu riêng.

NYSE mô tả Daily TAQ cung cấp trades, quotes và NBBO. [2] Các trường này giúp kiểm tra giá khả dụng, nhưng không tự cho biết vị trí lệnh giả định của ta trong hàng chờ. Có quote tốt không đồng nghĩa lệnh limit đã khớp đủ số lượng.

Bản nghiên cứu có thể triển khai: hai mô hình execution

Đề xuất A dùng market order phiên kế tiếp với quote và latency rõ. Đề xuất B đặt limit sau khi phiên kế tiếp mở, hủy hoặc chuyển phần còn lại thành market theo deadline cố định. Cả hai dùng cùng snapshot ứng viên để đo riêng tác động execution.

Trong mỗi nhóm size được xác định bằng dữ liệu đã có, long high và short low với tổng notional mỗi chân bằng nhau; trong từng chân cân đều. Một nhóm thiếu chân đối ứng bị bỏ theo quy tắc có trước. Để tránh lặp exposure không rõ ràng, bản đề xuất không tạo lệnh mới trên một mã đang nằm trong cohort chưa hết hạn.

Horizon 20 phiên và limit deadline là tham số nghiên cứu. Bản này chốt horizon từ ngày vào dự kiến, không kéo dài vô hạn chờ được giá đẹp. Lệnh không khớp, borrow thiếu và cancel thất bại đều phải ở trong log, kể cả chúng không xuất hiện trong bảng trade thắng/thua.

after_formation_session(d):
    for asset in eligible_asof(d):
        values = dollar_volume[asset, d-49:d+1]
        rank = average_rank_of_last(values)
        label = HIGH if rank >= 46 else LOW if rank <= 5 else NORMAL
        freeze_signal(asset, label, available_at=data_ready_time)
    cohorts = build_size_matched_high_minus_low(signals)
    reserve_budget_for_cohorts(cohorts)
on_next_session():
    for order in eligible_orders:
        apply_borrow_and_participation_limits(order)
        execute_selected_model(order)  # market or limit variant
on_predefined_deadline():
    cancel_or_convert_unfilled_remainder()
on_cohort_horizon():
    liquidate_with_same_declared_execution_model()

Limit order đánh đổi giá với xác suất khớp

Investor.gov xác định buy-limit chỉ được khớp ở mức giới hạn hoặc thấp hơn và không bảo đảm thực thi. [3] Bởi vậy dùng low của bar chạm limit để đánh dấu mọi lệnh đã khớp là giả định cần kiểm chứng, đặc biệt khi size lệnh lớn hơn volume có thể khớp tại mức đó.

Ví dụ một buy-limit 20,00 tồn tại trong phiên. Giá có một giao dịch nhỏ ở 20,00 rồi tăng tới 20,80; ta có thể không được fill. Nếu mô phỏng luôn mua 20,00, nó giữ toàn bộ cơ hội tốt. Khi thị trường giảm mạnh xuyên 20,00, lệnh dễ được fill hơn nhưng kết quả sau đó xấu hơn; đây là dạng adverse selection cần đo.

Phép thử cần báo fill ratio, PnL có điều kiện đã fill, PnL trên toàn bộ cơ hội và chi phí chuyển lệnh còn lại. So limit thắng với market thua trên hai tập cổ phiếu khác nhau sẽ che mất lựa chọn mẫu. Có thể dùng interval kết quả theo giả định queue thuận lợi và bất lợi khi dữ liệu không đủ.

Ví dụ có premium nhưng chưa chắc có net profit

Dữ liệu giả lập: long high-volume $10.000 tăng 1,2%, short low-volume $10.000 giảm 0,4% sau 20 phiên. PnL giá là $160, tương đương 1,6% mỗi dollar-long. Nếu equity phân bổ là $20.000 thì return gross trên equity là 0,8%, không phải 1,6%.

Giả sử spread/slippage $70, commission $20, borrow $30 và phí khác $5, net còn $35, tức 0,175% trên equity đó. Nếu chỉ thay chi phí spread/slippage thành $130, kết quả thành −$25. Những con số này tự tạo để cho thấy một hiệu ứng có ý nghĩa thống kê vẫn có thể quá nhỏ để khai thác.

Kịch bản thất bại về tín hiệu: long giảm 2% còn short tăng 1%, tạo −$300 trước phí. Volume high có thể gắn với tin tiêu cực hoặc chuyển giao lượng lớn, không nhất thiết là tích lũy có lợi. Thêm bộ lọc hướng giá sẽ tạo chiến lược mới cần đối chứng riêng.

Kiểm định volume có thông tin ngoài giá hay không

Đầu tiên so return tương lai của các nhóm high, normal và low trên cùng ngày, size và mức biến động giá formation. Sau đó mới xây danh mục có fill thực tế. Nếu high volume chỉ là cách chọn ngày giá tăng mạnh, phải so với một price-only rule có phân phối return formation gần nhau.

Một biến thể đề xuất giữ những phiên return formation nằm ở vùng giữa của phân phối quá khứ của mã; ngưỡng và quy tắc rank cần khóa trước. Cần tách kết quả của filter này khỏi baseline không filter để không trình bày nhánh tốt nhất như một quy luật phổ quát.

Lịch nghiên cứu triển khai hằng ngày tạo cohort chồng lấn khác lịch các đợt tách rời của nguồn. Chọn block bootstrap phù hợp phụ thuộc thời gian, báo rủi ro net/gross và tổng số mã đang giữ. Không lấy lợi nhuận một horizon rồi nhân số lần horizon trong năm để gọi là CAGR.

Cuối cùng kiểm tra dữ liệu nhiều giai đoạn mới và chi phí theo từng nhóm thanh khoản. Nghiên cứu cũ cung cấp một giả thuyết có cấu trúc; kết luận áp dụng hiện tại chỉ xuất hiện sau kiểm định mới với các điều kiện giao dịch hiện tại.

Sai lầm thường gặp

Volume shock thành chỉ báo mua chắc chắn

Một rank cao chỉ là sự kiện. Đo phân phối return và kịch bản thua thay vì gán động cơ người giao dịch.

Limit-order backtest có fill chọn lọc thuận lợi

Cần xử lý queue, partial fill và adverse selection; không bỏ các lệnh chưa khớp khỏi mẫu cơ hội.

Annualize trực tiếp premium 20 ngày

Các cohort, vốn và chi phí chồng lấn khiến phép nhân đơn giản không đại diện tài khoản.

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.

0/11 mục

Câu hỏi thường gặp

Có thể dùng share volume thay dollar volume?

Có thể nghiên cứu, nhưng đó là định nghĩa khác. Cần kiểm tra split, so cùng mã và đối chiếu riêng với dollar volume.

Tại sao nhóm low volume được short dù khó khớp?

Đó là cấu trúc danh mục kiểm định. Khó khớp và khó borrow có thể làm hiệu ứng không khai thác được; không được giả định chân short luôn sẵn có.

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.

  1. The High Volume Return PremiumSimon Gervais, Ron Kaniel, Dan Mingelgrin — working paper 17/12/1998. Đọc bản working paper; số liệu phần economic profitability và bảng 12 thuộc phiên bản này, không tự gán cho mọi bản xuất bản sau. Đối chiếu: .
  2. Daily TAQNYSE / ICE. Mô tả trades, quotes, NBBO; không cung cấp bằng chứng queue cho lệnh giả lập. Đối chiếu: .
  3. Understanding Order Types — Investor BulletinU.S. SEC — Investor.gov. Định nghĩa cơ bản market/limit và hạn chế đảm bảo khớp; không chứng thực chiến lược. Đố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