CFD và forex là các công cụ phức tạp, có rủi ro cao bị mất tiền nhanh chóng do đòn bẩy. Công bố rủi ro

Công thức Kelly (Kelly criterion) trong trading

Trang này giải thích công thức Kelly, giới hạn của nó khi áp dụng vào trading và cách so sánh full Kelly với Kelly phân đoạn bằng mô phỏng.

Ban biên tập Extrade Vietnam ·

Trong trang này
  1. Kelly criterion là gì
  2. Công thức Kelly
  3. Các giả định phía sau công thức
  4. Tính vốn mỗi lệnh theo Kelly
  5. Vì sao full Kelly biến động cực mạnh
  6. Kelly phân đoạn (fractional Kelly)
  7. So sánh bằng mô phỏng
  8. Lưu ý về rủi ro
  9. Câu hỏi thường gặp

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ế.

ban đầu1% mỗi lệnhDD −9%2% mỗi lệnhDD −17%5% mỗi lệnhDD −41%10% mỗi lệnhDD −72%100 lệnh giống hệt nhau, thắng 40%, lợi nhuận bằng 1.5 × rủi ro
Cùng một chuỗi lệnh với các mức rủi ro mỗi lệnh khác nhau. Khi kỳ vọng bằng 0, rủi ro cao hơn không mang lại thêm lợi nhuận; nó chỉ làm drawdown (DD) sâu hơn. Ví dụ minh họa: số liệu tự đặt ra để học, không phải giá thực hay điều kiện của sàn.

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ả:

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.

  1. 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ố.
  2. 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).
  3. 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.
  4. 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).
  5. 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:

  1. Ước lượng p và b từ nhật ký giao dịch, đã trừ chi phí như spread, commission và phí swap.
  2. Tính f*, sau đó áp dụng Kelly phân đoạn (xem phần dưới).
  3. Nhân tỷ lệ đã chọn với vốn để ra số tiền rủi ro.
  4. 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:

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:

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.

Kết quả điển hình (trung vị)1.245
Trường hợp xấu (10% tệ nhất)879
Trường hợp tốt (10% tốt nhất)1.678
Số lần chạy bị mất một nửa số dư0%
Drawdown sâu nhất trung bình18,9%
Kỳ vọng mỗi lệnh0,13 R

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:

  1. Nhập win rate và tỷ lệ reward/risk của hệ thống.
  2. 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.
  3. 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ự.
  4. 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.

Trang liên quan