OptiNod Academy
Công thức Kelly — phân biệt rủi ro thua lỗ với tỷ trọng vị thế
Trong mô hình Kelly hai kết quả, 25% là phần tài khoản mất khi thua, không phải tỷ trọng mua tài sản. Phân biệt tỷ lệ Kelly, ngân sách rủi ro và quy mô vị thế trước khi áp dụng.
Trong công thức Kelly hai kết quả, tỷ lệ chịu rủi ro thua lỗ khác với tỷ trọng giá trị vị thế. Trước khi dùng một con số Kelly, hãy xác định khoản lỗ mà con số đó đại diện và kiểm tra những giả định phía sau nó.
Nếu công thức Kelly cho kết quả 25%, điều đó không có nghĩa là mua một tài sản bằng 25% tài khoản. Với mô hình mỗi lần cược chỉ có hai kết quả — thua mất 1R hoặc thắng được bR — gọi xác suất thắng là p, xác suất thua là q=1−p. Công thức f* = p − q/b cho biết tỷ lệ tài sản hiện tại bị mất khi kết quả thua xảy ra. Sau một lần thua, tài sản còn 1−f; sau một lần thắng, tài sản thành 1+bf, tính theo tài sản trước lần cược.
Giả sử p=55% và b=1.5. Khi đó f* = 0.55 − 0.45/1.5 = 0.25: trong mô hình giả định này, một lần thua mất 25% tài khoản, một lần thắng lãi 37.5%. Đây là nghiệm tối ưu của mô hình hai kết quả, không phải kết quả đã kiểm chứng của một hệ thống giao dịch hay mức trần an toàn cho tiền thật. Kelly tối đa hóa kỳ vọng logarit của tài sản, chứ không tối đa hóa lợi nhuận kỳ vọng của riêng một lần cược.
Để chuyển một ngân sách rủi ro dự kiến r thành giá trị vị thế, cần khoảng cách cắt lỗ d tính từ giá vào lệnh. Với vị thế có lãi/lỗ tuyến tính theo giá, tỷ trọng giá trị danh nghĩa trên tài khoản là w = r/d, nếu bỏ qua phí, trượt giá và gap. Chẳng hạn r=1% và d=2.5% cho w=40%. Tỷ trọng này cũng khác với số tiền ký quỹ khi dùng đòn bẩy. Sau bài này, hãy đọc f như phần tài khoản chịu rủi ro trong mô hình, rồi kiểm tra riêng cách tính vị thế, khả năng khớp cắt lỗ và tổng rủi ro danh mục.

Đối tượng mà Kelly cực đại hóa là tốc độ tăng trưởng lãi kép
Trong mô hình hai kết quả, kỳ vọng số học trên mỗi đơn vị rủi ro là pb−q. Lợi thế dương đòi hỏi pb>q, tương đương p>1/(1+b). Ngưỡng thắng 50% chỉ đúng khi b=1; với b=1.5, ngưỡng hòa vốn trước chi phí là 40%. Nếu chỉ tối đa hóa lợi nhuận kỳ vọng của một lần cược và cho phép đặt đến toàn bộ tài sản, một lợi thế dương sẽ đẩy lựa chọn lên mức tối đa đó. Kelly đưa hậu quả của việc tái đầu tư và thua lỗ vào mục tiêu logarit.
Với các lần cược độc lập, cùng phân phối và tỷ lệ f cố định theo tài sản hiện tại, tăng trưởng log kỳ vọng mỗi lần là g(f) = 0.55 ln(1+1.5f) + 0.45 ln(1−f), dùng logarit tự nhiên. Tại full-Kelly f=0.25, g≈0.04569262; tại gấp đôi Kelly f=0.50, g≈−0.00412755. Đây là tăng trưởng log kỳ vọng, không phải tỷ suất lợi nhuận phần trăm thông thường của một lần cược. Gấp đôi Kelly cho giá trị hơi âm trong ví dụ này; không có quy tắc chung rằng gấp đôi Kelly luôn cho tăng trưởng bằng 0.
Một lần lỗ 50% cần lãi 100% mới hồi phục. Vì vậy, tăng tỷ lệ cược có thể làm tăng lợi nhuận kỳ vọng số học nhưng giảm tăng trưởng kép. Đường g(f) trơn và có độ dốc bằng 0 tại đỉnh; vượt đỉnh một chút không đồng nghĩa tăng trưởng lập tức sụp đổ. Tuy nhiên, trong mô hình có xác suất thua dương, g tiến về âm vô hạn khi f tiến sát 1. Điều cần kiểm tra là mức rủi ro so với nghiệm của mô hình và độ tin cậy của mô hình đó.
Ví dụ thị trường cho thấy vì sao không thể bỏ qua các tình huống giảm sâu. Theo nến ngày BTC/USDT spot Binance, múi giờ UTC, ngày 19 tháng 5 năm 2021 có giá mở cửa 42,849.78 USDT và đáy 30,000 USDT, giảm khoảng 30% từ mở cửa đến đáy. Đỉnh ngày 14 tháng 4 là 64,854 USDT. Biến động giá này không cho biết tài khoản áp dụng Kelly đã lỗ bao nhiêu, cũng không tự đẩy một vị thế sang phía phải đường g(f): còn phải biết hướng giao dịch, quy mô vị thế, đòn bẩy và giá thoát thực tế. Hãy dùng tình huống đó để kiểm tra giả định về khoản lỗ của từng lệnh.
Full-Kelly có thể tạo drawdown sâu dù tối ưu tăng trưởng
Tối ưu tăng trưởng không có nghĩa là kiểm soát mức sụt giảm tối đa (maximum drawdown). Kelly không đặt mục tiêu tối đa hóa drawdown, cũng không áp sẵn một giới hạn drawdown chấp nhận được. Ngay trong ví dụ f=25%, ba lần thua liên tiếp làm tài khoản còn 0.75³ = 42.1875% mức trước chuỗi thua, tức giảm 57.8125%. Nếu chuỗi bắt đầu ở đỉnh tài khoản, đó là drawdown 57.8125%. Đây là một kịch bản cụ thể, không phải mức drawdown kỳ vọng của mọi hệ thống dùng Kelly.
Mục tiêu kỳ vọng logarit không trực tiếp tính chi phí tâm lý, nhu cầu rút tiền hay ngưỡng buộc phải ngừng giao dịch. Một hệ thống tối ưu theo mục tiêu đó vẫn có thể tạo đường tài sản mà người vận hành không duy trì được. Vì vậy, cần kiểm tra cả chuỗi thua và xác suất chạm giới hạn sụt giảm trong khoảng thời gian dự kiến giao dịch, thay vì chỉ nhìn vào tốc độ tăng trưởng dài hạn.
Trong giai đoạn FTX tháng 11 năm 2022, nến ngày BTC/USDT spot Binance theo UTC ghi nhận giá mở cửa ngày 6 tháng 11 là 21,299.37 USDT, đáy ngày 8 tháng 11 là 17,166.83 USDT và đáy ngày 9 tháng 11 là 15,588 USDT. Mức giảm từ mở cửa ngày 6 đến đáy ngày 9 vào khoảng 27%. Không thể từ mức giảm giá đó suy ra phần trăm thua lỗ của một tài khoản dùng full-Kelly. Trước khi chọn rủi ro, hãy kiểm tra định cỡ vị thế (position sizing), các vị thế đồng thời và khả năng thoát lệnh trong chính kịch bản như vậy.
Một dòng f* chỉ chính xác trong mô hình có p và b đã biết
Công thức f* = p−q/b giải mô hình mỗi lần thua đúng −1R và mỗi lần thắng đúng +bR, với p và b đã biết. Trong giao dịch, các giá trị này thường được ước lượng từ dữ liệu quá khứ. Cơ cấu thị trường, phí và chất lượng khớp lệnh đều có thể thay đổi; một mẫu lịch sử không bảo đảm xác suất và mức lời/lỗ tương lai giữ nguyên.
Sai số đầu vào có thể khiến tỷ lệ tính được vượt mức phù hợp. Nếu p thực tế chỉ là 50% trong khi b vẫn bằng 1.5, nghiệm của mô hình là 0.50−0.50/1.5 ≈ 16.67%, thấp hơn 25% tính từ p=55%. Đây là ví dụ về độ nhạy, không phải khẳng định rằng mọi sai số nhỏ đều gây sụp đổ ngay. Sự chênh lệch giữa backtest và giao dịch thật (backtest vs live), gồm chi phí, trượt giá và việc chọn mô hình theo dữ liệu quá khứ, có thể làm kết quả thực tế kém hơn ước lượng; không có cơ sở để coi tỷ lệ thắng backtest luôn cao hơn thực tế.
Trong đợt bán tháo ngày 5 tháng 8 năm 2024, nến ngày BTC/USDT spot Binance theo UTC có giá mở cửa 58,161 USDT và đáy 49,000 USDT, giảm khoảng 16% từ mở cửa đến đáy. Mức biến động này gợi ra tình huống cần kiểm tra: lệnh cắt lỗ có khớp gần giá dự kiến hay không, và khoản thua có vượt 1R hay không. Dữ liệu nến tự nó không chứng minh đã có gap hay trượt giá với một lệnh cụ thể. Nếu khoản lỗ thực tế thay đổi, giả định hai kết quả cố định có thể không còn phù hợp; hãy đo lại kỳ vọng và tỷ lệ lời/lỗ (risk-reward expectancy) từ giá khớp sau chi phí và xem cả phân phối kết quả, không chỉ hai giá trị trung bình.
Half-Kelly giảm mức cược, nhưng không tự bảo đảm an toàn
Fractional Kelly dùng một phần của tỷ lệ Kelly tính được; half-Kelly bằng một nửa. Cách này giảm mức tiếp xúc với rủi ro và đánh đổi một phần tăng trưởng theo mô hình. Nó không bảo đảm một hệ thống có lợi thế, không sửa được dữ liệu sai và không tự tạo ra một ngưỡng rủi ro an toàn.
Trong ví dụ p=55%, b=1.5, half-Kelly là f=0.125. Khi thay vào cùng hàm g(f), tăng trưởng log kỳ vọng đạt khoảng 75.35% của full-Kelly. Các con số dưới đây chỉ áp dụng cho mô hình giả định này.
| Phân loại | Tỷ lệ tài khoản mất khi thua f | Tăng trưởng log kỳ vọng mỗi lần g(f) | Độ lệch chuẩn lợi nhuận đơn mỗi lần cược |
|---|---|---|---|
| full-Kelly | 0.25 | 0.04569262 | Mốc chuẩn |
| half-Kelly | 0.125 | 0.03442851 | Bằng một nửa mốc chuẩn |
Trong mô hình hai kết quả, lợi nhuận đơn của một lần cược nhận giá trị +bf hoặc −f, nên độ lệch chuẩn của nó tỷ lệ thuận với f. Do đó, cắt f một nửa cắt đúng một nửa độ lệch chuẩn này. Kết quả đó không có nghĩa biến động của toàn bộ đường tài sản hay maximum drawdown cũng giảm một nửa. Chuỗi kết quả, thời gian nắm giữ và sự phụ thuộc giữa các lệnh vẫn ảnh hưởng đến rủi ro thực tế. Nếu lợi thế bị đánh giá quá cao, ngay cả half-Kelly cũng có thể quá lớn.
Khi so sánh xác suất phá sản (risk of ruin), cần định nghĩa rõ sự kiện đang đo. Với mô hình lý tưởng giới hạn mỗi lần thua ở −1R và 0<f<1, tài sản không thể bằng đúng 0 sau hữu hạn lần cược. Thay vào đó, có thể so sánh xác suất drawdown chạm 30% trong 200 lệnh giữa các mức f; 30% và 200 ở đây chỉ là ngưỡng và kỳ hạn minh họa. Giao dịch có gap, thanh lý hoặc khoản lỗ vượt giả định cần mô hình riêng. Hãy chọn giới hạn tổn thất thực tế trước khi quyết định dùng bao nhiêu phần của Kelly.

Khi kết quả thay đổi, cần xem cả phân phối thay vì chỉ p và b trung bình
Dạng một dòng f* = p−q/b dành cho hai kết quả cố định. Nguyên lý Kelly tổng quát vẫn áp dụng được cho nhiều kết quả, phân phối lợi nhuận liên tục và danh mục có tương quan. Khi lệnh giao dịch có nhiều mức lời và lỗ, dùng tỷ lệ thắng cùng tỷ lệ lời/lỗ trung bình trong công thức hai kết quả thường không giải chính xác bài toán tối đa hóa kỳ vọng logarit.
Khoảng cách mục tiêu và cắt lỗ làm thay đổi tỷ lệ lời/lỗ dự kiến, nhưng không quyết định riêng xác suất thắng. Chỉ khi giữ p cố định thì b cao hơn mới dẫn đến f* cao hơn theo công thức trên. Một mục tiêu xa hơn có thể làm xác suất thắng thấp đi. Cố định rủi ro dự kiến của từng lệnh rồi điều chỉnh vị thế theo cắt lỗ là cách tổ chức ngân sách rủi ro; nó không chứng minh mức rủi ro đó tối ưu theo Kelly.
Ví dụ, quanh thời điểm BTC/USDT spot Binance có đỉnh ngày 14 tháng 3 năm 2024 ở 73,777 USDT theo UTC, giả sử một người giao dịch chọn riêng ngân sách rủi ro r=1%. Nếu mức cắt lỗ nằm dưới đáy cấu trúc và cách giá vào lệnh d=3%, giá trị vị thế bằng khoảng 33.33% tài khoản theo w=r/d. Với d=1.5%, giá trị vị thế thành khoảng 66.67%. Khoảng cách 3% được đo từ giá vào đến giá cắt lỗ, không phải đo từ đáy cấu trúc. Các phép tính giả định lãi/lỗ tuyến tính, bỏ qua phí, trượt giá và gap; 1% chỉ là lựa chọn minh họa, không suy ra từ Kelly. Hãy chọn điểm vô hiệu hóa phù hợp trước, rồi tính quy mô vị thế theo khoảng cách đó.
Setup minh họa với tỷ lệ lời/lỗ 1.5 và tỷ lệ thắng 55%
Đây là ví dụ tính toán cho một mô hình giả định, không phải hệ thống đã được backtest và giao dịch thật xác nhận. Để đưa vào thực tế, còn cần quy tắc tạo tín hiệu, kết quả sau chi phí, dữ liệu ngoài mẫu và đánh giá sai số ước lượng. Ngân sách rủi ro 1% dưới đây được chọn riêng để minh họa cách tính vị thế.
Điều kiện và vào lệnh: Trong ví dụ lệnh mua, chỉ vào khi có tín hiệu theo quy tắc đã định trước và tìm được điểm cắt lỗ dưới đáy cấu trúc, cách giá vào đúng 2.5%. Bài này không cung cấp một tín hiệu mua đã được kiểm chứng. Nếu khoảng cách thực tế khác 2.5%, phải tính lại quy mô trước khi vào.Cắt lỗ và mục tiêu: Với r=1%, giá trị vị thế dự kiến là 40% tài khoản. Cắt lỗ thấp hơn giá vào 2.5%; mục tiêu +1.5R tương ứng cao hơn giá vào 3.75%, trước chi phí.Vô hiệu hóa kế hoạch: Bỏ qua lệnh nếu không thể bố trí điểm cắt lỗ theo quy tắc hoặc vị thế mới vượt giới hạn rủi ro tổng của danh mục. Kế hoạch cắt lỗ không bảo đảm giá khớp hay mức lỗ tối đa.
- Tính full-Kelly:
f* = 0.55 − 0.45/1.5 = 0.25. Một lần thua trong mô hình làm mất 25% tài khoản. Đây là mốc tối ưu toán học của mô hình, không phải mức trần an toàn đã được xác nhận cho giao dịch thật. - So sánh các tỷ lệ: half-Kelly là
0.25 × 0.5 = 0.125, tức 12.5%. Ngân sách minh họa 1% bằng1%/25% = 4% = 1/25của full-Kelly. Quarter-Kelly mới bằng 6.25% tài khoản; 1% không phải một phần tư Kelly. - Kích thước vị thế: Với r=1%, cắt lỗ cách giá vào 2.5% cho giá trị vị thế 40% tài khoản; khoảng cách 1.5% cho khoảng 66.67%. Đây là giá trị danh nghĩa của vị thế, không phải tỷ lệ tài khoản dự kiến mất khi thua hay số tiền ký quỹ.
- Chốt lời: Mục tiêu +1.5R với khoảng cách cắt lỗ 2.5% cho mức giá cao hơn giá vào 3.75% đối với lệnh mua. Phí và giá khớp thực tế có thể làm tỷ lệ lời/lỗ ròng khác 1.5.
- Điều kiện đánh giá lại quy mô: Có 50 lệnh thật và ước tính xác suất phá sản (risk of ruin) dưới 1% không đủ để tự động tăng rủi ro từ 1% lên 1.5%. Cần kiểm tra chi phí, dữ liệu ngoài mẫu, độ bất định của p và phân phối lời/lỗ, định nghĩa ngưỡng phá sản cùng kỳ hạn đo, và giới hạn tổng rủi ro. Không có bước tự động tăng quy mô trong ví dụ này.
- Quy tắc rà soát minh họa: Một người vận hành có thể đặt quy tắc xem xét lại hệ thống khi tỷ lệ thắng đo được dưới 50% hoặc tỷ lệ lời/lỗ dưới 1.2, đồng thời giảm ngân sách dự kiến xuống 0.5% hoặc tạm dừng. Đây là ngưỡng quản trị do người vận hành chọn, không phải ranh giới toán học của Kelly hay bảo đảm rằng 0.5% an toàn.
Cốt lõi của setup là phân biệt ba đại lượng: f của mô hình Kelly, ngân sách lỗ dự kiến r và tỷ trọng giá trị vị thế w. Trong ví dụ, r=1% chỉ bằng một phần hai mươi lăm của f*=25%. Ngay cả mức đó cũng cần được đánh giá theo khả năng chịu lỗ, chất lượng khớp lệnh và rủi ro của các vị thế còn lại.
Tương quan và các vị thế đồng thời phải được đánh giá ở cấp danh mục
Ví dụ hai kết quả lặp lại ở trên dùng các lần cược độc lập và cùng phân phối để mô tả tăng trưởng dài hạn. Đây không phải giới hạn của toàn bộ lý thuyết Kelly: bài toán danh mục có thể đưa tương quan và phân phối kết quả đồng thời vào hàm mục tiêu. Điều dễ sai là tính Kelly riêng cho từng tài sản rồi cộng các tỷ lệ đó mà bỏ qua rủi ro chung.
Long BTC và long ETH có thể cùng chịu một cú giảm của thị trường. Sau đỉnh ngày 10 tháng 11 năm 2021 của BTC/USDT spot Binance ở 69,000 USDT theo UTC, hoặc trong giai đoạn FTX năm 2022, một phân tích danh mục cần kiểm tra mức giảm đồng thời của các tài sản thực sự nắm giữ. Không thể mặc định mọi altcoin di chuyển giống BTC. Ba vị thế có tương quan cao cũng không tự động tương đương đúng ba lần một lần cược; cách quy đổi đó chỉ chính xác trong trường hợp đặc biệt khi các kết quả và mức tiếp xúc trùng khớp.
Nếu ba vị thế đều có rủi ro cắt lỗ dự kiến 1% tính trên cùng một mức tài khoản và cả ba cùng chạm cắt lỗ, tổng khoản lỗ dự kiến là 3% trước chi phí. Gap và trượt giá có thể làm tổn thất thực tế lớn hơn. Người vận hành có thể chọn giới hạn rủi ro chung 1% cho cả nhóm, rồi chia ngân sách giữa các vị thế; đây cũng chỉ là ví dụ về giới hạn quản trị. Hãy kiểm tra cả kịch bản cùng chạm cắt lỗ, thanh khoản và rủi ro vượt giá cắt lỗ trước khi thêm một mã mới.
Nguồn: Kelly (1956), trang 919–920 về tỷ lệ cược và tăng trưởng logarit; Rotando và Thorp, The Kelly Criterion and the Stock Market về ứng dụng với phân phối lợi nhuận thị trường; Edward O. Thorp về fractional Kelly về đánh đổi tăng trưởng và rủi ro. Các giá BTC trong bài lấy từ dữ liệu nến ngày BTC/USDT spot Binance, múi giờ UTC. Các phép tính g(f) và tỷ lệ rủi ro là tính toán của ví dụ giả định nêu trong bài.