P.Thai Capital P.Thai Capital Journal

Kelly Criterion là gì? Công thức tối ưu position sizing

QUANT RISK METRIC · POSITION SIZING Tiêu chí Kelly Kelly Criterion · f* Loại chỉ số Position Sizing Phân tích Định lượng / Backtest Áp dụng cho VN30 / Quỹ active

Kelly Criterion — John L. Kelly Jr. (Bell Labs, 1956) — cho công thức position size tối ưu để maximize log-utility wealth (tương đương geometric mean returns). Áp dụng cho game lặp lại với edge: bet quá nhỏ → growth chậm; bet quá lớn → ruin trong drawdown.

Trong thực tế, full Kelly quá hung hăng — Sharpe của full Kelly thường xấp xỉ 1 nhưng drawdown extreme (50%+). Quant fund chuyên nghiệp dùng fractional Kelly (25-50% Kelly) để giảm drawdown, đánh đổi growth thấp hơn nhưng survival cao hơn. Edward Thorp khuyến nghị 25% Kelly là sweet spot cho hầu hết chiến lược.

1. Định nghĩa & công thức

Cho game binary với probability win $p$, payoff win $b:1$: $$ f^* = \frac{bp - (1-p)}{b} = \frac{p(b+1) - 1}{b} $$

Cho continuous returns (assets): $$ f^* = \frac{\mu - r_f}{\sigma^2} $$

Fractional Kelly: dùng $k \cdot f^*$ với $k \in [0.25, 0.5]$.

2. Cách tính bằng Python

import numpy as np

def kelly_binary(win_rate, payoff_ratio):
    """
    win_rate: P(win)
    payoff_ratio: avg_win / avg_loss (B in odds notation)
    """
    return (payoff_ratio * win_rate - (1 - win_rate)) / payoff_ratio

def kelly_continuous(mean_return, std_return, risk_free=0.0):
    """
    mean_return, std_return: annualized
    """
    return (mean_return - risk_free) / (std_return ** 2)

def fractional_kelly(full_kelly, fraction=0.25):
    """Phổ biến dùng 25% Kelly (Thorp)."""
    return full_kelly * fraction

Code mẫu trên là khung tham khảo cho việc tự tính Tiêu chí Kelly. Khi tích hợp vào hệ thống production, cần thêm: validate input (NaN, length), handle edge cases (zero variance, empty series), unit test cho từng nhánh, và caching khi gọi nhiều lần trên cùng dataset.

3. Khoảng giá trị & cách diễn giải

Kelly fraction Risk profile
0% (cash) Không bet
10-25% Kelly Conservative — typical retail
25-50% Kelly Standard quant fund
50-75% Kelly Aggressive
100% (Full Kelly) Maximum geometric growth — DD nguy hiểm
> 100% Over-betting — guaranteed ruin in long run

4. Giá trị điển hình theo loại tài sản / chiến lược

Chiến lược Kelly fraction recommend
Mean reversion VN30 25-40% Kelly
Trend following CTA 25% Kelly (high vol of vol)
Pairs trading market-neutral 40-50% Kelly
HFT market making 50-75% Kelly (low DD)
Long-only equity portfolio thường < 25% Kelly

Lưu ý: bảng giá trị điển hình mang tính tham khảo, dựa trên quy ước cộng đồng quant và sample lịch sử công khai. Giá trị thực tế phụ thuộc dataset, period, và phương pháp tính cụ thể.

5. Bốn cạm bẫy phổ biến khi sử dụng

  1. Kelly giả định stationarity: μ và σ phải stable. Trong reality chúng drift → over-bet trong regime change.

  2. Estimation error: Kelly fraction nhạy với input. Sai 10% trong μ có thể double Kelly fraction.

  3. Full Kelly drawdown khủng khiếp: full Kelly Sharpe 1.0 có 50%+ DD nguy cơ ruin tâm lý.

  4. Multi-asset Kelly cần covariance matrix: cho portfolio nhiều mã, Kelly fraction = $\Sigma^{-1}\mu$ — covariance matrix khó estimate stable.

  5. Bị tâm lý ảnh hưởng: trader thấy lệnh thua liên tiếp dễ bỏ rule Kelly, hoặc thấy lệnh lãi liên tiếp dễ over-bet.

6. Khi nào chỉ số này gây hiểu lầm

Kelly misleading khi: (1) μ và σ ước lượng từ sample nhỏ → high estimation error → over/under-bet; (2) returns không stationary; (3) backtest có data leak inflate μ → Kelly recommend over-bet thực tế. Best practice: dùng Half-Kelly hoặc Quarter-Kelly + cap maximum exposure (vd 5% capital per trade) bất chấp Kelly nói gì.

7. Đặc thù khi áp dụng cho TTCK Việt Nam

Tại VN, retail có tendency over-bet (concentrate vào 1-2 mã, leverage margin cao). Kelly recommend cho retail thường < 5% capital/trade — nhưng thực tế nhiều trader bet 30-50%. Quy tắc thực tế: dùng 25% Kelly + cap 5% capital max per trade + giới hạn tổng exposure ≤ 100% (không leverage). Margin 200%+ trên VN dễ dẫn đến margin call cluster (2018 Q4, 2022 H1 minh chứng).

8. Các chỉ số liên quan trong cùng hệ thống

Tiêu chí Kelly (f) không nên đọc đơn lẻ*. Trong báo cáo rủi ro chuyên nghiệp, nó luôn được trình bày cùng các chỉ số bổ sung để cross-check và tránh blindspot. Các chỉ số liên quan đã trình bày trong chuỗi bài này:

9. Tham khảo học thuật

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

Tiêu chí Kelly bao nhiêu là tốt? Tham khảo bảng diễn giải ở mục 3. Không có ngưỡng “tốt tuyệt đối” — phụ thuộc loại chiến lược, sample size, và benchmark tham chiếu.

Làm sao tự tính Tiêu chí Kelly trên danh mục cá nhân? Sử dụng code Python mẫu ở mục 2. Input cần thiết: chuỗi returns hàng phiên (daily) của danh mục, tối thiểu 252 phiên (1 năm) để có ý nghĩa thống kê.

Tiêu chí Kelly có khác giữa thị trường VN và quốc tế không? Có. Đặc thù VN (biên độ ±7% HOSE, T+2.5, cấm short cơ sở) ảnh hưởng đến cách tính và diễn giải. Chi tiết ở mục 7.


Ghi chú phương pháp: Bài viết tổng hợp định nghĩa, công thức, và quy ước cộng đồng quant cho chỉ số Tiêu chí Kelly (f*). Các giá trị điển hình mang tính tham khảo, không phải khuyến nghị đầu tư. Người đọc tự kiểm chứng trên dữ liệu của mình trước khi sử dụng cho quyết định vốn thật.


Miễn trừ trách nhiệm: Nội dung mang tính phân tích định lượng, không phải khuyến nghị đầu tư. Nhà đầu tư tự chịu trách nhiệm với quyết định của mình.

Miễn trừ trách nhiệm: Nội dung là phân tích định lượng dựa trên dữ liệu lịch sử, mang tính tham khảo. KHÔNG phải khuyến nghị mua/bán. Giao dịch có rủi ro, kết quả backtest không đảm bảo hiệu suất tương lai. Nhà đầu tư tự chịu trách nhiệm cho quyết định của mình.