Profit factor là gì và cách đo chất lượng lời lỗ của chiến lược?
Profit factor
Phần 1: Profit factor là gì và vì sao không nên chỉ nhìn tổng lợi nhuận?
Khi đánh giá một chiến lược trading, nhiều người thường nhìn ngay vào tổng lợi nhuận. Nếu backtest cho thấy chiến lược lãi 80%, 150% hay 300%, cảm giác đầu tiên thường là chiến lược đó rất hấp dẫn. Nhưng tổng lợi nhuận chỉ cho biết kết quả cuối cùng, chưa nói rõ chiến lược đó kiếm tiền bằng cách nào, lời lỗ có cân đối không, hay chỉ may mắn nhờ một vài lệnh thắng lớn. Đây là lý do cần nhìn thêm profit factor.
Profit factor là chỉ số đo chất lượng lời lỗ của một chiến lược bằng cách so sánh tổng tiền thắng với tổng tiền thua. Công thức rất đơn giản:
Profit factor = Tổng lợi nhuận từ các lệnh thắng / Tổng thua lỗ từ các lệnh thua
Ví dụ, một chiến lược có tổng lãi từ các lệnh thắng là 300 triệu, tổng lỗ từ các lệnh thua là 150 triệu. Khi đó profit factor = 300 / 150 = 2. Điều này có nghĩa là cứ mỗi 1 đồng thua lỗ, chiến lược tạo ra 2 đồng lợi nhuận. Đây là một chỉ số khá trực quan, vì nó cho biết hệ thống có “kiếm lại” đủ nhiều so với phần đã mất hay không.
Nếu profit factor bằng 1, chiến lược gần như hòa vốn trước phí. Tổng tiền thắng bằng tổng tiền thua. Nếu tính thêm phí giao dịch, thuế, trượt giá, chiến lược thực tế có thể âm. Nếu profit factor nhỏ hơn 1, chiến lược đang tạo ra ít tiền thắng hơn tiền thua, tức là về dài hạn không có lợi thế. Nếu profit factor lớn hơn 1, chiến lược bắt đầu có lợi thế, nhưng mức độ tốt hay không còn phụ thuộc vào nhiều yếu tố khác.
Có thể hiểu nhanh:
Profit factor < 1: chiến lược thua lỗ.
Profit factor = 1: chiến lược hòa vốn trước chi phí.
Profit factor 1,2 - 1,5: có lợi thế nhưng chưa thật sự mạnh.
Profit factor 1,5 - 2: tương đối tốt nếu số lệnh đủ lớn.
Profit factor > 2: tốt, nhưng cần kiểm tra có bị overfitting không.

Profit factor quá cao bất thường: phải nghi ngờ dữ liệu, số lệnh quá ít hoặc chiến lược bị tối ưu quá mức.
Điểm hay của profit factor là nó nhìn vào cấu trúc lời lỗ, chứ không chỉ nhìn vào tổng lợi nhuận. Hai chiến lược có cùng mức lợi nhuận cuối kỳ nhưng chất lượng rất khác nhau nếu profit factor khác nhau. Một chiến lược kiếm tiền đều, lỗ được kiểm soát tốt, thường sẽ có profit factor ổn định hơn. Một chiến lược có vài lệnh thắng rất lớn nhưng rất nhiều lệnh lỗ nhỏ hoặc có một giai đoạn may mắn, profit factor có thể không bền.
Ví dụ, chiến lược A có 100 lệnh. Tổng lãi từ lệnh thắng là 500 triệu, tổng lỗ từ lệnh thua là 250 triệu. Profit factor = 2. Chiến lược B cũng có lợi nhuận ròng 250 triệu, nhưng tổng lãi là 1.500 triệu, tổng lỗ là 1.250 triệu. Profit factor = 1,2. Cả hai đều lãi ròng 250 triệu, nhưng chiến lược A có chất lượng lời lỗ tốt hơn nhiều. Chiến lược B phải “quay vòng” rất nhiều rủi ro để tạo ra cùng một khoản lợi nhuận.
Đây là điểm rất quan trọng trong trading system. Không phải cứ chiến lược lãi nhiều là chiến lược tốt. Cần xem để kiếm được khoản lãi đó, hệ thống đã phải chịu bao nhiêu lỗ. Profit factor giúp trả lời câu hỏi này. Nó cho thấy một đồng rủi ro bỏ ra có tạo lại đủ lợi nhuận hay không.
Tuy nhiên, profit factor cũng không phải chỉ số hoàn hảo. Một chiến lược có profit factor cao nhưng chỉ có 10 lệnh thì chưa đáng tin. Một chiến lược có profit factor cao nhưng max drawdown rất lớn cũng vẫn nguy hiểm. Một chiến lược có profit factor đẹp trong backtest nhưng khi tính thêm phí, thuế, trượt giá thì giảm mạnh cũng cần xem lại. Vì vậy, profit factor nên được xem là một chỉ số quan trọng trong bộ đánh giá, không phải tiêu chí duy nhất.
Nhà đầu tư mới thường hỏi: “Chiến lược này lãi bao nhiêu?”. Người làm hệ thống sẽ hỏi kỹ hơn: “Profit factor bao nhiêu, số lệnh có đủ lớn không, drawdown thế nào, lợi nhuận có đến từ nhiều lệnh hay chỉ vài lệnh lớn, và kết quả có ổn định qua các giai đoạn thị trường không?”. Đây là khác biệt giữa nhìn kết quả và nhìn chất lượng của kết quả.
Phần 2: Profit factor giúp phát hiện điều gì về chất lượng chiến lược?
Profit factor cho biết một chiến lược có kiểm soát phần thua tốt hay không. Trong trading, không có chiến lược nào thắng mọi lệnh. Thua lỗ là một phần bắt buộc của cuộc chơi. Điều quan trọng không phải là tránh thua hoàn toàn, mà là khi thua thì thua bao nhiêu, và khi thắng thì thắng có đủ bù lại các lệnh thua hay không.
Một chiến lược có win rate cao nhưng profit factor thấp vẫn có thể nguy hiểm. Ví dụ, một hệ thống thắng 80% số lệnh, nghe rất hấp dẫn. Nhưng mỗi lệnh thắng trung bình chỉ lãi 1%, còn mỗi lệnh thua trung bình lỗ 6-7%. Chỉ cần vài lệnh thua lớn là toàn bộ lợi nhuận bị xóa sạch. Trường hợp này thường gặp ở các chiến lược “ăn ngắn nhưng không cắt lỗ”, hoặc bán quyền chọn, trung bình giá sai cách, bắt đáy liên tục mà không có điểm thoát rõ ràng.
Ngược lại, một chiến lược có win rate chỉ 40% vẫn có thể có profit factor tốt nếu lệnh thắng lớn hơn lệnh thua nhiều lần. Ví dụ, chiến lược trend following có thể sai nhiều lần trong giai đoạn thị trường nhiễu, nhưng khi bắt được một xu hướng lớn, lợi nhuận từ lệnh thắng đủ bù cho nhiều lệnh sai nhỏ trước đó. Đây là lý do win rate không thể đứng một mình.
Ví dụ đơn giản:
Chiến lược A có 100 lệnh, thắng 70 lệnh, thua 30 lệnh. Mỗi lệnh thắng trung bình lãi 1 triệu, mỗi lệnh thua trung bình lỗ 3 triệu. Tổng lãi = 70 triệu, tổng lỗ = 90 triệu. Profit factor = 70 / 90 = 0,78. Dù win rate 70%, chiến lược vẫn âm.
Chiến lược B có 100 lệnh, thắng 40 lệnh, thua 60 lệnh. Mỗi lệnh thắng trung bình lãi 4 triệu, mỗi lệnh thua trung bình lỗ 1,5 triệu. Tổng lãi = 160 triệu, tổng lỗ = 90 triệu. Profit factor = 160 / 90 = 1,78. Dù win rate chỉ 40%, chiến lược vẫn có lợi thế.
Điều này cho thấy profit factor giúp nhìn sâu hơn vào mối quan hệ giữa win rate và tỷ lệ lời/lỗ. Một chiến lược không cần thắng quá nhiều nếu lệnh thắng đủ lớn. Ngược lại, thắng nhiều nhưng thua một lần quá nặng vẫn có thể phá hỏng hệ thống.
Profit factor cũng giúp phát hiện chiến lược có đang bị phụ thuộc vào một vài lệnh thắng lớn hay không. Nếu tổng lợi nhuận chủ yếu đến từ một vài giao dịch cực lớn, profit factor có thể nhìn đẹp nhưng chưa chắc bền. Khi loại bỏ vài lệnh thắng lớn nhất mà profit factor sụt mạnh, cần thận trọng. Điều này cho thấy chiến lược có thể phụ thuộc quá nhiều vào outlier, tức một vài kết quả bất thường.
Ví dụ, một chiến lược có profit factor 2,1. Nhìn qua rất tốt. Nhưng khi kiểm tra kỹ, phát hiện 3 lệnh thắng lớn nhất đóng góp 60% tổng lợi nhuận. Nếu loại 3 lệnh này, profit factor chỉ còn 1,1. Trường hợp này không có nghĩa chiến lược vô dụng, nhưng cần hiểu rõ bản chất. Nếu đây là chiến lược trend following, phụ thuộc vào vài xu hướng lớn là bình thường. Nhưng nếu đây là chiến lược lướt sóng ngắn hạn mà kết quả lại phụ thuộc quá nhiều vào vài lệnh đặc biệt, cần kiểm tra lại.
Một điểm nữa là profit factor cần được đọc cùng với số lượng lệnh. Profit factor 3,0 với 20 lệnh không đáng tin bằng profit factor 1,6 với 500 lệnh. Số lệnh càng ít, kết quả càng dễ bị may mắn chi phối. Trong backtest, nhiều chiến lược nhìn rất đẹp chỉ vì số mẫu quá nhỏ. Khi giao dịch thật nhiều hơn, profit factor có thể giảm mạnh.
Với chiến lược giao dịch cổ phiếu theo ngày hoặc theo tuần, số lệnh vài chục thường chưa đủ để kết luận. Cần xem qua nhiều giai đoạn thị trường: thị trường tăng, thị trường giảm, sideway, thanh khoản cao, thanh khoản thấp. Nếu profit factor vẫn duy trì trên 1,3 - 1,5 qua nhiều giai đoạn, chiến lược đáng tin hơn so với việc chỉ đẹp trong một pha thị trường thuận lợi.
Profit factor cũng giúp đánh giá chất lượng sau khi tính chi phí. Một chiến lược lướt sóng có profit factor 1,25 trong backtest trước phí có thể không còn hấp dẫn sau khi tính phí giao dịch, thuế, trượt giá và spread. Với các chiến lược tần suất cao, phí có thể ăn mòn phần lớn lợi thế. Vì vậy, profit factor nên được kiểm tra ở cả hai trạng thái: trước chi phí và sau chi phí.
Một số câu hỏi nên đặt ra khi nhìn profit factor:
Profit factor được tính trên bao nhiêu lệnh?
Kết quả đã bao gồm phí, thuế, trượt giá chưa?
Profit factor có ổn định qua nhiều năm không?
Có phụ thuộc vào một vài lệnh thắng lớn không?
Profit factor còn tốt khi thị trường xấu không?
Nếu giảm lợi nhuận kỳ vọng hoặc tăng chi phí giả định, chiến lược còn sống không?
Profit factor cao có đi kèm max drawdown chấp nhận được không?
Một chiến lược có profit factor tốt thường có đặc điểm: lỗ được kiểm soát, lệnh thắng đủ lớn, không để một vài lệnh thua phá hỏng hệ thống, và kết quả không quá phụ thuộc vào một giai đoạn may mắn. Nói cách khác, profit factor không chỉ đo lãi/lỗ, mà còn phản ánh kỷ luật của chiến lược trong việc giữ phần thua nhỏ hơn phần thắng.
Tuy nhiên, profit factor quá cao cũng cần nghi ngờ. Nếu một chiến lược có profit factor 5, 7 hoặc 10 trong backtest, đừng vội mừng. Cần kiểm tra có bị look-ahead bias, survivorship bias, overfitting, dữ liệu sai hoặc giả định khớp lệnh quá đẹp hay không. Trong thị trường thật, một hệ thống có profit factor quá hoàn hảo thường hiếm. Nếu kết quả đẹp bất thường, việc đầu tiên là tìm lỗi, không phải tăng vốn.
Phần 3: Cách dùng profit factor trong quy trình đánh giá chiến lược
Profit factor nên được dùng như một phần trong bộ chỉ số đánh giá chiến lược, cùng với CAGR, max drawdown, Sharpe ratio, win rate, expectancy, số lệnh, thời gian nắm giữ, mức trượt giá và độ ổn định của equity curve. Nếu chỉ nhìn profit factor riêng lẻ, vẫn có thể đánh giá thiếu.
Một quy trình đơn giản có thể bắt đầu bằng việc tính tổng lợi nhuận từ các lệnh thắng và tổng thua lỗ từ các lệnh thua. Sau đó tính profit factor tổng. Nhưng đừng dừng lại ở đó. Cần tách profit factor theo từng năm, từng giai đoạn thị trường hoặc từng nhóm điều kiện. Nếu chiến lược chỉ có profit factor tốt trong thị trường tăng nhưng xuống dưới 1 trong thị trường giảm hoặc sideway, cần biết rõ để dùng đúng bối cảnh.
Ví dụ, một chiến lược momentum có profit factor tổng là 1,8. Nhưng khi tách theo trạng thái thị trường, kết quả như sau:
VN-Index trên MA50: profit factor 2,2.
VN-Index dưới MA50: profit factor 0,9.
Thị trường sideway: profit factor 1,1.
Kết quả này rất có giá trị. Nó cho thấy chiến lược hoạt động tốt khi thị trường chung có xu hướng, nhưng yếu khi thị trường xấu. Từ đó, có thể thêm bộ lọc thị trường chung để chỉ giao dịch khi VN-Index trên MA50. Lợi nhuận tổng có thể giảm một chút vì ít giao dịch hơn, nhưng profit factor và drawdown có thể cải thiện.
Profit factor cũng có thể dùng để so sánh các phiên bản chiến lược. Ví dụ, cùng một hệ thống breakout, phiên bản A có profit factor 1,4, max drawdown 12%, số lệnh 300. Phiên bản B có profit factor 2,3, max drawdown 8%, nhưng chỉ có 35 lệnh. Phiên bản B nhìn đẹp hơn, nhưng số lệnh quá ít nên độ tin cậy thấp hơn. Trong nhiều trường hợp, một hệ thống có profit factor vừa phải nhưng ổn định và nhiều mẫu sẽ đáng tin hơn một hệ thống profit factor rất cao nhưng ít lệnh.
Khi dùng profit factor, nên chú ý đến sự đánh đổi giữa độ lọc và số lượng cơ hội. Nếu thêm quá nhiều điều kiện lọc, các lệnh còn lại có thể rất đẹp, profit factor tăng, nhưng số lệnh giảm mạnh. Điều này có thể tạo cảm giác chiến lược tốt hơn, nhưng thực chất có thể là overfitting. Một hệ thống tốt cần đủ chọn lọc nhưng vẫn có đủ số mẫu để kiểm chứng.
Ví dụ, ban đầu chiến lược có 500 lệnh, profit factor 1,45. Sau khi thêm nhiều điều kiện lọc, chỉ còn 45 lệnh, profit factor tăng lên 2,8. Nếu các điều kiện lọc đó có logic rõ ràng và kết quả ổn định trên out-of-sample, có thể chấp nhận. Nhưng nếu chỉ thêm điều kiện để làm đẹp backtest, chiến lược có thể sụp khi giao dịch thật.
Một cách dùng thực tế là đặt ngưỡng profit factor tối thiểu cho từng loại chiến lược. Với chiến lược tần suất cao, do phí nhiều, cần profit factor đủ cao sau chi phí. Với chiến lược trend following, profit factor có thể không quá cao nhưng nếu drawdown thấp và bắt được xu hướng tốt thì vẫn có giá trị. Với chiến lược mean reversion, profit factor cần được kiểm tra kỹ vì nhiều hệ thống hồi quy trung bình có win rate cao nhưng dễ gặp lệnh lỗ lớn khi thị trường rơi mạnh.
Có thể dùng tham khảo như sau:
Profit factor dưới 1,2: lợi thế yếu, cần kiểm tra lại.
Profit factor 1,2 - 1,5: có thể dùng nếu drawdown thấp và số lệnh lớn.
Profit factor 1,5 - 2,0: tương đối tốt nếu ổn định qua nhiều giai đoạn.
Profit factor trên 2,0: tốt, nhưng cần kiểm tra overfitting.
Profit factor quá cao với số lệnh ít: chưa đáng tin.
Profit factor cũng nên được kết hợp với expectancy. Expectancy cho biết trung bình mỗi lệnh kỳ vọng lời hay lỗ bao nhiêu. Một chiến lược có profit factor tốt nhưng expectancy trên mỗi lệnh quá nhỏ có thể dễ bị phí giao dịch ăn mòn. Ngược lại, một chiến lược có profit factor vừa phải nhưng expectancy đủ lớn, số lệnh ổn định và drawdown chấp nhận được có thể thực chiến hơn.
Ví dụ, chiến lược A có profit factor 1,6 nhưng trung bình mỗi lệnh chỉ lời 0,1% trước phí. Nếu phí và trượt giá tổng cộng 0,15%, chiến lược thực tế có thể không còn lợi thế. Chiến lược B có profit factor 1,45 nhưng expectancy mỗi lệnh là 0,8%, tần suất thấp hơn, chi phí ít ảnh hưởng hơn. Trong thực tế, B có thể đáng dùng hơn A.
Một checklist khi đánh giá profit factor:
Profit factor sau chi phí là bao nhiêu?
Số lệnh có đủ lớn không?
Profit factor có ổn định theo từng năm không?
Có giai đoạn nào profit factor xuống dưới 1 quá lâu không?
Kết quả có phụ thuộc vài lệnh thắng lớn không?
Có bị tối ưu quá mức không?
Profit factor đi kèm max drawdown bao nhiêu?
Nếu phí và trượt giá tăng gấp đôi, chiến lược còn ổn không?
Kết luận lại, profit factor là một chỉ số rất quan trọng để đo chất lượng lời lỗ của chiến lược. Nó cho biết tổng tiền thắng lớn hơn tổng tiền thua bao nhiêu lần. Nếu return cho biết chiến lược kiếm được bao nhiêu, max drawdown cho biết chiến lược từng đau đến mức nào, thì profit factor cho biết chất lượng của quá trình kiếm tiền đó có tốt hay không.
Một chiến lược tốt không nhất thiết phải có profit factor cực cao. Nhưng nó cần có profit factor đủ tốt, ổn định, được kiểm tra trên số mẫu đủ lớn và không bị phá hỏng sau khi tính chi phí. Quan trọng hơn, profit factor phải đi cùng drawdown hợp lý, expectancy dương và logic chiến lược rõ ràng.
Trong trading, không nên chỉ hỏi chiến lược có lãi không. Cần hỏi thêm: chiến lược lời bao nhiêu khi đúng, mất bao nhiêu khi sai, tổng phần thắng có đủ bù phần thua không, và chất lượng đó có lặp lại được không.
Profit factor giúp trả lời chính câu hỏi này. Nó không làm chiến lược chắc chắn thắng, nhưng giúp nhà đầu tư nhìn rõ hơn liệu hệ thống có thật sự có lợi thế hay chỉ đang đẹp nhờ một giai đoạn may mắn trong quá khứ.
