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

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

Lee–Swaminathan nghiên cứu NYSE/AMEX 1965–1995. Bảng VII báo return raw năm đầu: early 16,70%, momentum thuần 12,49%, late 6,84%; đây là event-time spread, không phải CAGR net tài khoản. [1]

Dữ liệu và thị trườngDanh mục cổ phiếu có dữ liệu lịch sử shares outstanding, return và hủy niêm yết; nguồn gốc NYSE/AMEX.
Khung thời gian nghiên cứuFormation 6 tháng; ví dụ danh mục giữ 12 tháng, tái hình thành mỗi tháng.
Mười hai cổ phiếu có turnover và nhóm return riêng, minh họa việc phân tercile turnover độc lập với phân nhóm momentum.Mở hình kích thước đầy đủ
Dữ liệu tự tạo: mỗi điểm là một cổ phiếu, trục dọc là turnover bình quân ngày (%). Cột phụ là return-decile minh họa 1–6, không phải volume thô. Biểu đồ giải thích xếp hai biến độc lập, không là chuỗi giá theo thời gian.

Quy trình thực hành

Sơ đồ quy trình Momentum và turnover nhiều tháng: khi volume thấp có thể là điều kiện hữu ích
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. Chốt dữ liệuReturn, turnover và universe theo cutoff tháng.
  2. Xếp hạng độc lập10 nhóm return × 3 nhóm turnover.
  3. Tạo lứaĐóng băng membership và lịch vào sau khoảng trễ.
  4. Phân vốnNgân sách chia các lứa, kiểm tra borrow.
  5. Tái cân bằngGộp lệnh ròng nhưng giữ sổ theo cohort.
  6. Đo ngoài mẫuSo early/late/price-only sau chi phí.

Đừng trộn turnover nền với volume đột biến

Một công ty giao dịch một triệu cổ phiếu/ngày có thể rất khác một công ty khác giao dịch cùng lượng nhưng số cổ phiếu lưu hành gấp mười. Turnover chuẩn hóa hoạt động theo quy mô cổ phiếu: TOᵢ,t=Vᵢ,t/Sharesᵢ,t. Lấy trung bình nhiều tháng hỏi mức giao dịch nền, còn RVOL một phiên hỏi hôm nay khác chính lịch sử gần đây thế nào.

Khái niệm đầu/cuối chu kỳ momentum là cách diễn giải nhóm thống kê, không phải đồng hồ xác định một cổ phiếu đang ở tháng thứ mấy của xu hướng. Một winners/turnover-thấp vẫn có thể sụp ngay sau formation; nhãn nhóm chỉ có ý nghĩa phân phối trên nhiều quan sát.

Câu hỏi thực hành là: giữa những cổ phiếu có return quá khứ tương tự, thêm turnover có cải thiện kết quả sau phí và sau kiểm soát rủi ro không? Điều này khác việc mua riêng một cổ phiếu chỉ vì biểu đồ tăng với volume cạn.

Hai phép xếp hạng độc lập và các giao điểm

Nguồn xếp return thành 10 nhóm và turnover thành 3 nhóm độc lập, rồi lấy giao điểm. Early: long winner/turnover-thấp, short loser/turnover-cao; late đảo lựa chọn turnover. Có khoảng trễ một tuần trước đo hiệu quả. [1]

Đặc tả nghiên cứu đề xuất chọn 6 tháng đã hoàn tất. Return formation tính bằng tích các total-return ngày hoặc tháng theo một chuỗi nhất quán; turnover lấy trung bình daily ratio. Vì số tháng cố định, xếp hạng cumulative return và geometric average return cho cùng thứ tự khi không có missing khác nhau.

Phải tính ngưỡng turnover trên toàn universe đủ điều kiện, không chia riêng ba nhóm trong mỗi decile return nếu muốn giữ cấu trúc xếp hạng độc lập. Các ô giao nhau không nhất thiết có cùng số mã. Quy tắc tie và nhóm quá nhỏ cần khóa trước; không tự tăng tỷ trọng một ô chỉ vì nó đang có ít mã thắng mạnh.

NhánhLongShort
Momentum thuầnReturn decile 10Return decile 1
Early theo cấu trúc nguồnDecile 10 ∩ turnover tercile 1Decile 1 ∩ turnover tercile 3
Late theo cấu trúc nguồnDecile 10 ∩ turnover tercile 3Decile 1 ∩ turnover tercile 1

Shares outstanding, corporate actions và delisting

CRSP mô tả dữ liệu gồm shares outstanding, volume, corporate actions và thông tin hủy niêm yết. [2] Có các trường dữ liệu này chưa tự bảo đảm join đúng thời điểm; lịch sử điều chỉnh hồi tố và ngày có hiệu lực cần được kiểm tra riêng.

Ví dụ tự tạo: 1 triệu shares volume/100 triệu shares outstanding tạo turnover 1%. Sau split 2:1, nếu volume thành 2 triệu và shares thành 200 triệu thì tỷ lệ vẫn 1%. Ghép volume đã chỉnh với shares chưa chỉnh có thể làm tỷ lệ nhảy giả và chuyển tercile.

Nguồn có loại mã hủy niêm yết trong năm ngày sau formation. [1] Khi xây bản nhân quả, không dùng sự kiện chưa biết để loại ứng viên. Thay vào đó giữ membership theo snapshot, xử lý cashflow/delisting theo quy tắc dữ liệu đã định và báo mức độ khác biệt với bản nguồn. Không nối lịch sử chỉ bằng ticker có thể được tái sử dụng.

Xây các lứa danh mục mà không nhân vốn nhiều lần

Phiên bản triển khai đề xuất dùng 12 lứa, mỗi tháng hình thành một lứa mới giữ 12 tháng; chờ năm phiên giao dịch từ cutoff trước khi vào. Năm phiên là cách cụ thể hóa khoảng trễ cho thí nghiệm này, không khẳng định mọi chi tiết lịch đúng như paper. Mỗi lứa dùng 1/12 ngân sách, ô long và short cân bằng notional trong lứa.

Ở giai đoạn khởi động chưa đủ 12 lứa, giữ phần còn lại bằng tiền mặt hoặc chuẩn hóa lại là hai lựa chọn khác nhau. Bài này chọn giữ tiền mặt; vì thế không đem đường equity khởi động so trực tiếp với một chuỗi factor luôn đầu tư đầy đủ mà không điều chỉnh.

Một mã có thể thuộc nhiều lứa. Có thể gộp lệnh thực thi ròng để tiết kiệm turnover nhưng vẫn giữ sổ kế toán theo lứa; nếu chỉ cộng toàn bộ notional mới vào equity mỗi tháng, danh mục sẽ vô tình tăng leverage. Mã hết borrow cần quy tắc thay thế hoặc giảm cả hai chân, thay vì giả định mọi short đều thực hiện được.

Giới hạn tối đa 12 slot lứa danh mục đang hoạt động. Nếu lứa mới đến lịch vào trước khi lứa cũ thoát, giữ ngân sách dự kiến bằng tiền mặt tới khi có slot trống; không tạm vượt cap chỉ vì lệch ngày lịch. Chân short tính cả khoản bù cổ tức cho bên cho vay khi phát sinh.

on_month_cutoff(t):
    universe = eligible_asof(t)
    momentum = six_month_total_return(universe, t)
    turnover = mean_daily_volume_over_shares(universe, t)
    r_group = independent_rank(momentum, bins=10)
    v_group = independent_rank(turnover, bins=3)
    long_ids = ids_where(r_group == 10 and v_group == 1)
    short_ids = ids_where(r_group == 1 and v_group == 3)
    cohort = freeze_membership(long_ids, short_ids, cutoff=t)
    schedule_entry(cohort, after=5_trading_sessions, budget=equity/12)
    schedule_exit(cohort, after_entry=12_months)
on_execution():
    apply_borrow_and_capacity_rules()
    trade_net_target_changes()
    allocate_fills_and_costs_to_cohorts()

Ví dụ spread có lãi nhưng return trên vốn khác

Dữ liệu giả lập: long A vì return 6 tháng +30% và turnover ở tercile thấp; short B vì return −25% và turnover ở tercile cao. Nếu long $10.000 tăng 8% và short notional ban đầu $10.000 giảm 3%, PnL giá là $800+$300=$1.100. Trên một dollar-long đó là 11%; trên equity $20.000 phân bổ cho hai chân là 5,5% trước chi phí.

Kịch bản thất bại: A giảm 6%, B tăng 10%; PnL giá là −$600−$1.000=−$1.600, tức −8% trên equity $20.000. Dollar-neutral lúc mở không loại bỏ rủi ro thị trường, ngành hoặc squeeze trên chân short.

Giả sử tổng chi phí hai chân qua kỳ nắm giữ bằng $220; ví dụ thắng còn $880. Borrow thay đổi theo thời gian và dividend compensation trên short phải được cộng theo lịch thật. Không được dùng cash nhận từ short như lợi nhuận ngay lúc mở vị thế.

Đối chứng đúng horizon và kiểm soát rủi ro

Factor Mom của Kenneth French dùng prior return tháng 2–12 và danh mục theo size; đó là benchmark khác cấu hình 6 tháng trong bài này. [3] Có thể dùng để hỏi exposure momentum chung, nhưng không gọi chênh lệch giữa hai phương pháp là hiệu quả riêng của volume nếu formation, weighting và universe cùng thay đổi.

Thử nghiệm trực tiếp nên so early, late và momentum thuần trên cùng nguồn dữ liệu, lịch rebalance, gross exposure và chi phí. Báo long và short riêng, ngành, size, liquidity, số mã và net turnover. Nếu lợi thế chỉ đến từ microcaps không thể khớp ở quy mô dự định, cần nói rõ.

Return các lứa chồng lấn có phụ thuộc thời gian; khoảng tin cậy cần xử lý phụ thuộc, chẳng hạn block bootstrap trên chuỗi return danh mục. Giữ tập thời gian cuối chưa dùng lựa chọn và kiểm tra các thị trường riêng, không gộp volume có quy ước ghi nhận khác nhau một cách tùy ý.

Sai lầm thường gặp

Volume thấp nghĩa không ai bán

Turnover là hoạt động khớp chuẩn hóa, không có khả năng xác định động cơ hoặc số người muốn bán.

Lợi nhuận năm đầu thành CAGR dài hạn

Event-time spread của các cohort không tự bằng lợi nhuận ghép lãi của một tài khoản triển khai liên tục.

Đối chứng đổi quá nhiều thứ

Nếu nhánh volume đổi cả horizon, universe và weighting, không thể quy chênh lệch PnL riêng cho turnover.

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

Nghiên cứu này mâu thuẫn với ORB chọn RVOL cao?

Không nhất thiết. Một bên đo mức turnover nền nhiều tháng giữa các cổ phiếu, bên kia đo cú sốc cùng giờ so với chính lịch sử gần đây.

Có thể chỉ mua long và bỏ short?

Có thể tạo biến thể long-only, nhưng return và market exposure khác spread long–short trong nguồn. Phải kiểm định lại và chọn benchmark phù hợp.

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. Price Momentum and Trading VolumeCharles M. C. Lee, Bhaskaran Swaminathan — Journal of Finance, 2000. Đọc toàn văn và bảng VII; kết quả raw, không phải PnL net được tái lập. Đối chiếu: .
  2. CRSP US Stock DatabasesCRSP. Mô tả các trường dữ liệu; không chứng thực thuật toán hay tính point-in-time của mọi join. Đối chiếu: .
  3. Detail for Monthly Momentum Factor (Mom)Kenneth R. French Data Library. Định nghĩa benchmark momentum khác cấu hình formation trong paper Lee–Swaminathan. Đố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