Kelly criterion là gì
Kelly criterion (tiêu chí Kelly) là công thức tính tỷ lệ vốn nên đặt rủi ro cho mỗi lần cược để vốn tăng nhanh nhất về lâu dài. Công thức này được xây dựng cho các trò chơi có xác suất biết trước, sau đó được áp dụng vào đầu tư và trading.
Trong trading, Kelly trả lời câu hỏi: nếu hệ thống của bạn có lợi thế thật, nên chấp nhận lỗ bao nhiêu phần vốn ở mỗi lệnh. Kelly không cho biết lệnh nào sẽ thắng. Kelly cũng không tạo ra lợi thế khi hệ thống không có lợi thế.
Sẵn sàng thử trên tài khoản thật hoặc demo?
Liên kết đối tác · giao dịch có rủi ro thua lỗ cao
Công thức Kelly
Dạng thường dùng trong trading:
f* = p − q / b
| Ký hiệu | Ý nghĩa |
|---|---|
| f* | Tỷ lệ vốn chịu rủi ro ở mỗi lệnh theo Kelly |
| p | Xác suất thắng (win rate) |
| q | Xác suất thua, tức phần còn lại sau khi lấy toàn bộ trừ đi p |
| b | Tỷ lệ giữa mức lãi trung bình của lệnh thắng và mức lỗ trung bình của lệnh thua (tỷ lệ reward/risk) |
Cách đọc kết quả:
- f* dương: theo dữ liệu, hệ thống có kỳ vọng dương. f* là phần vốn tối đa về mặt lý thuyết nên đặt rủi ro.
- f* không dương: hệ thống không có lợi thế theo dữ liệu. Kelly cho kết quả là không vào lệnh, dù bạn đặt lot lớn hay nhỏ.
Hai đại lượng p và b liên quan trực tiếp đến tỷ lệ Risk Reward, tỷ lệ thắng hòa vốn và kỳ vọng lợi nhuận. Nếu kỳ vọng không dương, công thức Kelly sẽ không dương.
Các giả định phía sau công thức
Kelly chỉ cho kết quả "tối ưu" khi các điều kiện sau đúng. Trong trading thật, gần như không điều kiện nào đúng hoàn toàn.
- Biết chính xác p và b. Thực tế bạn chỉ có ước lượng từ dữ liệu quá khứ, và ước lượng này có sai số.
- Các lệnh độc lập với nhau. Thị trường thay đổi trạng thái, nhiều lệnh cùng lúc có thể tương quan (xem rủi ro tương quan).
- Phân phối kết quả ổn định. Một hệ thống chạy tốt ở giai đoạn này có thể kém đi ở giai đoạn khác.
- Lỗ không vượt mức dự tính. Gap giá, trượt giá khi có tin tức khiến khoản lỗ thực tế có thể lớn hơn mức tại stop loss (xem rủi ro gap cuối tuần).
- Mục tiêu duy nhất là tăng trưởng dài hạn. Kelly không tính đến việc bạn có chịu nổi drawdown sâu hay không.
Tính vốn mỗi lệnh theo Kelly
Trong trading, f* là mức rủi ro mỗi lệnh: khoản tiền bạn mất nếu giá chạm stop loss, tính theo tỷ lệ vốn. f* không phải ký quỹ, không phải đòn bẩy và không phải số lot.
Quy trình chuyển từ Kelly sang khối lượng lệnh:
- Ước lượng p và b từ nhật ký giao dịch, đã trừ chi phí như spread, commission và phí swap.
- Tính f*, sau đó áp dụng Kelly phân đoạn (xem phần dưới).
- Nhân tỷ lệ đã chọn với vốn để ra số tiền rủi ro.
- Dùng khoảng cách stop loss để tính lot, như trong tính khối lượng lệnh theo rủi ro.
Bước này giống phương pháp fixed fractional. Khác biệt duy nhất là tỷ lệ rủi ro được suy ra từ p và b thay vì chọn sẵn.
Vì sao full Kelly biến động cực mạnh
Full Kelly là dùng đúng f* cho mỗi lệnh. Về lý thuyết đây là mức tăng trưởng nhanh nhất, nhưng cái giá rất cao:
- Drawdown sâu là chuyện bình thường. Ngay cả khi p và b chính xác, full Kelly vẫn thường đưa tài khoản qua những đợt sụt giảm lớn. Xem thêm drawdown tối đa và phục hồi drawdown.
- Sai số ước lượng bị khuếch đại. Nếu bạn đánh giá p hoặc b cao hơn thực tế, f* tính ra sẽ lớn hơn mức đúng. Khi đặt rủi ro vượt Kelly thật, tăng trưởng dài hạn giảm. Nếu vượt quá xa, tăng trưởng dài hạn có thể âm dù hệ thống có lợi thế.
- Chuỗi thua liên tiếp. Với rủi ro mỗi lệnh cao, một chuỗi thua bình thường về mặt thống kê cũng làm vốn giảm mạnh (xem rủi ro cháy tài khoản).
- Đòn bẩy làm vấn đề nặng hơn. Với CFD và forex có đòn bẩy, rủi ro lớn mỗi lệnh dễ dẫn đến margin call và stop-out. Stop-out là lúc lệnh bị đóng cưỡng bức khi ký quỹ không đủ. Xem tránh margin call.
- Tâm lý. Ít người giữ được kỷ luật khi tài khoản dao động mạnh. Kết quả thường là phá vỡ kế hoạch đúng lúc bất lợi nhất (xem tâm lý giao dịch).
Kelly phân đoạn (fractional Kelly)
Kelly phân đoạn là chỉ dùng một tỷ lệ nhỏ hơn của f*. Ví dụ, bạn nhân f* với một hệ số nhỏ hơn toàn phần.
Đặc điểm chung của Kelly phân đoạn:
- Tốc độ tăng trưởng dài hạn giảm tương đối ít, trong khi biến động và drawdown giảm nhiều hơn.
- Có khoảng an toàn cho sai số khi ước lượng p và b.
- Dễ kết hợp với giới hạn rủi ro cứng. Bạn lấy mức nhỏ hơn giữa Kelly phân đoạn và mức trần rủi ro mỗi lệnh trong kế hoạch quản lý rủi ro.
Nhiều trader dùng Kelly như mức trần tham khảo, không phải mức mục tiêu. Nếu mức rủi ro bạn đang dùng cao hơn f*, đó là dấu hiệu rõ ràng cần giảm. Xem thêm rủi ro mỗi lệnh bao nhiêu.
So sánh bằng mô phỏng
Công cụ dưới đây mô phỏng Monte Carlo cho chiến lược rủi ro cố định. Nó chạy nhiều chuỗi lệnh ngẫu nhiên với cùng win rate và tỷ lệ reward/risk, rồi cho thấy độ phân tán kết quả và drawdown.
500 lần chạy ngẫu nhiên với cùng quy tắc. Đây là mô hình tính toán, không phải dự báo: thị trường thật có chi phí, trượt giá và các chuỗi thắng/thua mà mô hình bỏ qua.
Cách so sánh:
- Nhập win rate và tỷ lệ reward/risk của hệ thống.
- Chạy với mức rủi ro bằng f* (full Kelly). Ghi lại kết quả trung vị, độ phân tán và drawdown lớn nhất.
- Chạy lại với mức rủi ro theo Kelly phân đoạn và so sánh các chỉ số tương tự.
- Giảm nhẹ win rate để xem kết quả thay đổi thế nào khi ước lượng quá lạc quan.
Mọi con số trong mô phỏng là kết quả của mô hình, không phải dự báo. Thị trường thật có gap, trượt giá, tương quan và chi phí mà mô hình có thể không phản ánh đầy đủ.
Lưu ý về rủi ro
Giao dịch CFD và forex có đòn bẩy có thể làm mất tiền rất nhanh, kể cả khi bạn dùng một phương pháp tính vốn có cơ sở toán học. Kelly không bảo đảm lợi nhuận. Nó chỉ cho ra con số đúng nếu dữ liệu đầu vào đúng. Trước khi giao dịch, hãy đọc thêm phần pháp lý và an toàn và quản lý rủi ro.
Câu hỏi thường gặp
Công thức Kelly có giúp chắc chắn có lãi không?
Không. Kelly chỉ tối ưu kích thước lệnh khi hệ thống đã có kỳ vọng dương và p, b được ước lượng đúng. Nếu không có lợi thế, Kelly cho kết quả là không vào lệnh.
f* trong Kelly có phải là đòn bẩy hay số lot không?
Không. f* là tỷ lệ vốn bạn chấp nhận mất khi giá chạm stop loss. Lot được tính từ số tiền rủi ro này và khoảng cách stop loss.
Vì sao không nên dùng full Kelly?
Full Kelly tạo ra biến động và drawdown rất lớn. Nó cũng rất nhạy với sai số ước lượng. Nếu đánh giá hệ thống quá cao, bạn sẽ đặt rủi ro vượt mức Kelly thật và làm giảm tăng trưởng dài hạn.
Lấy p và b từ đâu?
Lấy từ nhật ký giao dịch thật hoặc kết quả kiểm thử, với số lệnh đủ lớn và đã trừ chi phí. Mẫu càng nhỏ, sai số càng lớn. Khi đó nên dùng Kelly phân đoạn thận trọng hơn.
Kelly có dùng được khi mở nhiều lệnh cùng lúc không?
Công thức cơ bản giả định các lệnh độc lập. Với các lệnh tương quan, nên xem tổng rủi ro của nhóm lệnh như một lệnh lớn và giảm tỷ lệ cho từng lệnh.
