Diễn giải kết quả Backtest: Hướng dẫn định lượng cho mọi chỉ số
Một báo cáo backtest là một bảng dày đặc các con số. Total return, Sharpe ratio, max drawdown, profit factor, win rate — mỗi chỉ số trả lời một câu hỏi khác nhau về chiến lược của bạn. Đọc sai, bạn sẽ triển khai một chiến lược trông rực rỡ trên giấy nhưng đốt sạch vốn trên thị trường thật. Đọc đúng, bạn sẽ lọc bỏ những cấu hình mong manh trước khi chúng làm bạn mất một xu.
Hướng dẫn này cung cấp cho bạn các công thức, các mốc chuẩn, và — quan trọng nhất — khung phán đoán để phân biệt một backtest thực sự mạnh với một backtest được overfitting khéo léo.
Key Takeaways
- Sharpe Ratio đo lường return trên mỗi đơn vị rủi ro tổng thể; giá trị trên 1.0 là tốt, trên 2.0 xuất sắc, trên 4.0 đáng ngờ.
- Maximum Drawdown tiết lộ khoản lỗ peak-to-trough tệ nhất — nó xác định trần đau đớn về tâm lý và tài chính.
- Win rate đứng một mình là vô nghĩa nếu không có ngữ cảnh risk-reward: win rate 40% với RR 1:3 lợi nhuận cao hơn 70% với 1:0.5.
- Overfitting tạo ra kết quả backtest chỉ hoạt động trên một dataset cụ thể — phát hiện nó bằng cách kiểm tra trên dữ liệu chưa từng thấy.
- Hình dạng equity curve tiết lộ nhiều về độ vững chắc của chiến lược hơn bất kỳ chỉ số đơn lẻ nào.
- Cờ đỏ bao gồm Sharpe >4, win rate >98%, và không có Trade thua nào — những điều này hầu như luôn báo hiệu một backtest có khuyết điểm.
Nếu bạn chưa chạy backtest, hãy bắt đầu với hướng dẫn backtesting từng bước của chúng tôi trước khi đọc bài viết này.
Các số tiền đô la và tỷ lệ phần trăm trong hướng dẫn này là ví dụ minh họa, không phải khuyến nghị. Giao dịch tiền mã hóa có thể gây thua lỗ — chỉ cấp vốn cho mỗi bot bằng số tiền bạn có thể chấp nhận mất, và đọc toàn bộ Công bố rủi ro trước khi chạy thật.
Các chỉ số hiệu suất cốt lõi kèm công thức
Total Return so với CAGR
Total Return là chỉ số đơn giản nhất: danh mục của bạn lãi hay lỗ bao nhiêu trong toàn bộ giai đoạn backtest.
Total Return = (Ending Value - Starting Value) / Starting Value × 100
Nếu bạn bắt đầu với $10,000 và kết thúc với $11,850, total return của bạn là 18.5%.
Vấn đề với total return là nó bỏ qua yếu tố thời gian. Return 18.5% trong 3 tháng là phi thường. Cùng 18.5% trong 3 năm thì lại nhạt nhẽo. CAGR (Compound Annual Growth Rate) khắc phục điều này bằng cách chuẩn hóa return về cơ sở hàng năm:
CAGR = (Ending Value / Starting Value)^(365 / days) - 1
Ví dụ: $10,000 → $11,850 trong 180 ngày:
CAGR = (11850 / 10000)^(365/180) - 1 = 1.185^2.028 - 1 = 0.4036 = 40.36%
Cùng $10,000 → $11,850 trong 730 ngày (2 năm):
CAGR = (11850 / 10000)^(365/730) - 1 = 1.185^0.5 - 1 = 0.0887 = 8.87%
Luôn so sánh các chiến lược bằng CAGR, không phải total return. Một chiến lược tạo ra 25% trong 6 tháng (CAGR ≈ 56%) vượt trội hơn nhiều so với một chiến lược tạo ra 30% trong 14 tháng (CAGR ≈ 25%), dù total return thấp hơn.
Sharpe Ratio
Sharpe Ratio là chuẩn vàng cho hiệu suất điều chỉnh theo rủi ro. Nó trả lời: "Tôi kiếm được bao nhiêu return cho mỗi đơn vị biến động tôi phải chịu?"
Sharpe Ratio = (Rp - Rf) / σp
Trong đó:
- Rp = return danh mục tính theo năm
- Rf = risk-free rate (thường 4-5% cho USD, hoặc 0% nếu so sánh chỉ crypto)
- σp = độ lệch chuẩn tính theo năm của return danh mục
Ví dụ tính toán: Bot của bạn tạo ra return 42%/năm với độ lệch chuẩn 18%. Risk-free rate là 5%.
Sharpe = (0.42 - 0.05) / 0.18 = 0.37 / 0.18 = 2.06
| Sharpe Ratio | Diễn giải | Hành động |
|---|---|---|
| < 0.5 | Return điều chỉnh rủi ro kém | Thiết kế lại chiến lược |
| 0.5 – 1.0 | Chấp nhận được | Có thể dùng nhưng tìm cách cải thiện |
| 1.0 – 2.0 | Tốt | Ứng viên mạnh để triển khai trực tiếp |
| 2.0 – 3.0 | Xuất sắc | Triển khai tự tin, theo dõi thay đổi chế độ thị trường |
| > 4.0 | Đáng ngờ | Gần như chắc chắn bị overfitted — điều tra |
Sharpe ratio trên 4.0 trong một backtest crypto là cờ đỏ, không phải huân chương danh dự. Thị trường crypto vốn dĩ đầy biến động — đạt được lợi nhuận điều chỉnh rủi ro cấp hedge fund một cách nhất quán là điều khó tin nếu không có overfitting hoặc look-ahead bias. Nếu backtest của bạn cho thấy Sharpe > 4, phản ứng đầu tiên của bạn nên là nghi ngờ, không phải ăn mừng.
Sortino Ratio
Sharpe Ratio phạt mọi biến động như nhau — nhưng biến động đi lên là điều tốt. Nếu chiến lược của bạn tăng vọt 5% trong một ngày, Sharpe coi điều đó giống như một cú giảm 5%. Sortino Ratio khắc phục điều này bằng cách chỉ phạt độ lệch xuống (downside deviation):
Sortino Ratio = (Rp - Rf) / σd
Trong đó σd là độ lệch chuẩn của chỉ những return âm.
Vì sao điều này quan trọng: Một chiến lược nắm bắt các cú di chuyển upside lớn nhưng giới hạn thua lỗ sẽ có Sortino Ratio cao hơn đáng kể so với Sharpe Ratio của nó. Điều này cho bạn biết biến động là "loại tốt."
Ví dụ: Cùng một bot với return 42%/năm và risk-free rate 5%, nhưng downside deviation chỉ 11%:
Sortino = (0.42 - 0.05) / 0.11 = 3.36
So sánh với Sharpe 2.06. Khoảng cách lớn cho bạn biết phần lớn biến động của chiến lược đến từ các cú di chuyển upside — một đặc tính đáng mong muốn.
Maximum Drawdown
Maximum Drawdown (MDD) đo mức giảm peak-to-trough lớn nhất trong giá trị danh mục. Nó trả lời câu hỏi cá nhân nhất trong trading: "Nỗi đau tệ nhất tôi đã chịu là gì?"
MDD = (Trough Value - Peak Value) / Peak Value × 100
Ví dụ: Danh mục của bạn leo từ $10,000 lên $13,200 (đỉnh), rồi rơi xuống $10,890 trước khi hồi phục:
MDD = (10890 - 13200) / 13200 × 100 = -17.5%
Hai sub-metric quan trọng:
- Thời lượng Drawdown: Bao nhiêu ngày từ đỉnh đến đáy. Drawdown -15% kéo dài 4 ngày thì về mặt tâm lý dễ hơn -15% kéo dài 2 tháng.
- Recovery Time: Bao nhiêu ngày từ đáy quay lại đỉnh trước. Hồi phục nhanh = chiến lược kiên cường.
| Max Drawdown | Mức độ rủi ro | Phù hợp cho |
|---|---|---|
| < 5% | Thận trọng | Trader ngại rủi ro, vốn lớn |
| 5% – 15% | Vừa phải | Đa số trader bot |
| 15% – 25% | Quyết liệt | Trader có kinh nghiệm với niềm tin vững |
| > 25% | Rủi ro cao | Chỉ với phân bổ nhỏ và kỳ vọng return cao |
Một quy tắc nhanh hữu ích: đừng bao giờ triển khai một chiến lược mà maximum drawdown vượt quá mức bạn có thể chịu đựng về mặt cảm xúc nhân với 1.5×. Nếu backtest cho thấy MDD -15%, hãy chuẩn bị cho -22.5% trong live trading. Drawdown thực tế hầu như luôn vượt quá mức backtest do Slippage, độ trễ và điều kiện thị trường không có trong dữ liệu lịch sử.
Profit Factor
Profit factor đơn giản đến tàn nhẫn và có thể hành động ngay:
Profit Factor = Gross Profit / Gross Loss
Ví dụ: Bot của bạn kiếm được $4,200 từ những Trade thắng và mất $2,100 từ những Trade thua:
Profit Factor = 4200 / 2100 = 2.0
| Profit Factor | Diễn giải |
|---|---|
| < 1.0 | Chiến lược thua — gross loss vượt gross profit |
| 1.0 – 1.5 | Cận biên — vừa đủ có lãi sau Fees và Slippage |
| 1.5 – 2.0 | Tốt — edge vững |
| 2.0 – 3.0 | Xuất sắc — edge mạnh và nhất quán |
| > 3.0 | Kiểm tra cẩn thận — có thể bị overfitted hoặc quá ít Trade |
Win Rate và Expectancy
Win Rate là phần trăm các deal đóng có lãi:
Win Rate = Winning Deals / Total Deals × 100
Win rate đứng một mình thì cực kỳ dễ gây hiểu lầm. Win rate 90% nghe có vẻ phi thường — nhưng nếu mức thắng trung bình của bạn là $10 và mức thua trung bình là $200, bạn đang mất tiền. Đây là lúc expectancy vào cuộc:
Expectancy = (Win Rate × Average Win) - (Loss Rate × Average Loss)
Ví dụ: Win rate 62%, mức thắng trung bình $85, mức thua trung bình $120:
Expectancy = (0.62 × $85) - (0.38 × $120) = $52.70 - $45.60 = $7.10 per trade
Mỗi Trade có expectancy dương $7.10. Qua 100 Trades, bạn kỳ vọng kiếm được ~$710.
Win Rate so với Risk-Reward: Bảng Breakeven
Đây là một trong những khái niệm quan trọng nhất trong trading. Win rate và risk-reward ratio (RR) có quan hệ nghịch: bạn có thể có lãi với win rate thấp nếu các Trade thắng đủ lớn so với các Trade thua.
Win rate breakeven cho bất kỳ risk-reward ratio nào là:
Breakeven Win Rate = 1 / (1 + Risk-Reward Ratio)
| Risk-Reward Ratio | Breakeven Win Rate | Ví dụ: Rủi ro $100 |
|---|---|---|
| 1:0.5 | 66.7% | Thắng $50, thua $100 — cần thắng 2 trên 3 |
| 1:1.0 | 50.0% | Thắng $100, thua $100 — cần thắng một nửa |
| 1:1.5 | 40.0% | Thắng $150, thua $100 — thắng 2 trên 5 |
| 1:2.0 | 33.3% | Thắng $200, thua $100 — thắng 1 trên 3 |
| 1:3.0 | 25.0% | Thắng $300, thua $100 — thắng 1 trên 4 |
| 1:5.0 | 16.7% | Thắng $500, thua $100 — thắng 1 trên 6 |
Ví dụ thực tế: Một DCA bot với win rate 40% và risk-reward 1:3:
- Trong 100 Trades: 40 thắng × $300 = lãi $12,000
- 60 thua × $100 = lỗ $6,000
- Lãi ròng = $6,000 (profit factor = 2.0)
So sánh với một bot có win rate 70% và risk-reward 1:0.5:
- 70 thắng × $50 = lãi $3,500
- 30 thua × $100 = lỗ $3,000
- Lãi ròng = $500 (profit factor = 1.17)
Chiến lược win rate 40% tạo ra lãi ròng nhiều hơn 12×. Win rate là phù phiếm; expectancy mới là sự tỉnh táo.
Khi đánh giá một backtest, luôn tính expectancy trước khi đưa ra bất kỳ quyết định triển khai nào. Win rate cao với expectancy âm sẽ rút cạn tài khoản của bạn từ từ — và sự thoải mái tâm lý từ những Trade thắng liên tiếp sẽ khiến bạn không tắt nó cho đến khi thiệt hại thực sự xảy ra.
Phân tích Equity Curve
Equity Curve vẽ giá trị danh mục của bạn theo thời gian. Đây là hình ảnh có mật độ thông tin cao nhất trong bất kỳ báo cáo backtest nào.
Bậc thang mượt (Lý tưởng)
Một equity curve khỏe mạnh tăng theo các bước nhất quán, kiểu bậc thang. Mỗi bước thể hiện một deal đã hoàn tất. Các bậc đi lên nhiều hơn đi xuống, và drawdown giữa các bậc thì nông và ngắn.
Điều này nói gì: Chiến lược tạo ra edge nhất quán, lặp lại được qua các điều kiện thị trường khác nhau. Đây là đường cong của một chiến lược bạn có thể tin tưởng giao vốn thật.
Răng cưa gập ghềnh (Đáng lo)
Các cú tăng dốc đi kèm các cú giảm dốc tương ứng, tạo ra mẫu zigzag. Quỹ đạo tổng thể có thể đi lên, nhưng hành trình thì dữ dội.
Điều này nói gì: Phương sai cao trong return. Max drawdown khả năng cao là lớn, Sharpe ratio có thể dưới 1.0, và live trading sẽ thử thách giới hạn cảm xúc của bạn. Ngay cả khi total return dương, chiến lược vẫn mong manh.
Gậy khúc côn cầu (Nguy hiểm)
Bằng phẳng hoặc hơi âm trong phần lớn giai đoạn, rồi một cú nhảy đột ngột tạo ra phần lớn lợi nhuận chỉ trong vài Trades.
Điều này nói gì: Chiến lược phụ thuộc vào một sự kiện thị trường cụ thể (một cú crash, một cú pump, hoặc một cây nến lớn). Bỏ vài Trades đó đi, chiến lược không còn có lãi. Đây không phải edge mang tính hệ thống — đó là may mắn tình cờ trùng với cửa sổ backtest của bạn.
Rơi vực (Tử thần)
Leo lên đều đặn rồi một cú rơi đột ngột, thảm khốc xóa sạch phần lớn hoặc toàn bộ lợi nhuận.
Điều này nói gì: Chiến lược không có bảo vệ downside. Thường do thiếu Stop Loss, đòn bẩy quá mức, hoặc một chiến lược ngầm short biến động (thu phí nhỏ cho đến khi một sự kiện đuôi quét sạch mọi thứ).
| Hình dạng đường cong | Ước lượng Sharpe | Nguyên nhân điển hình | Rủi ro Live Trading |
|---|---|---|---|
| Bậc thang mượt | 1.5 – 2.5 | Edge nhất quán, quản trị rủi ro đúng | Thấp — chiến lược vững |
| Răng cưa gập ghềnh | 0.3 – 0.8 | Biến động cao, entry không nhất quán | Trung bình — drawdown gây thoát hoảng |
| Gậy khúc côn cầu | Rất biến thiên | Lợi nhuận tập trung vào ít Trades | Cao — hiệu suất không lặp lại được |
| Rơi vực | Âm hoặc gần 0 | Không Stop Loss, đòn bẩy quá mức | Tới hạn — nguy cơ cháy tài khoản |
Phát hiện Overfitting
Overfitting là kẻ giết người thầm lặng của các chiến lược đã backtest. Một chiến lược curve fitting trông phi thường trong backtest nhưng thất bại trên thị trường thực vì nó ghi nhớ noise lịch sử thay vì nắm bắt một mẫu thị trường thực sự.
Dấu hiệu Overfitting
-
Chạy trên một cặp, thất bại trên các cặp tương tự. Nếu chiến lược BTC/USDT của bạn cho return 35% nhưng cùng tham số đó trên ETH/USDT cho -5%, chiến lược khả năng cao bị fit vào lịch sử giá cụ thể của BTC.
-
Chỉ chạy trên một khung thời gian. Một chiến lược tạo ra 28% trong 6 tháng gần nhất nhưng -3% trong 6 tháng trước đó đã ghi nhớ một chế độ thị trường cụ thể.
-
Quá nhiều tham số được tối ưu. Mỗi tham số bổ sung mang lại cho optimizer thêm bậc tự do để fit noise. Nếu chiến lược của bạn có 8+ tham số đều được tối ưu riêng, overfitting gần như chắc chắn.
-
Chỉ số phi thực tế. Sharpe > 4, win rate > 98%, không có Trade thua, hoặc profit factor > 5 trên 50+ Trades — tất cả đều chỉ về một chiến lược bị "tra tấn" để fit vào dữ liệu.
-
Hiệu suất suy giảm khi đổi tham số nhẹ. Chiến lược vững cho thấy thay đổi hiệu suất dần dần khi bạn điều chỉnh tham số một chút. Chiến lược overfitting sụp đổ nếu bạn đổi RSI từ 27 sang 28 hoặc Take Profit từ 1.87% sang 1.90%.
Kiểm tra In-sample so với Out-of-sample
Phương pháp tiêu chuẩn để phát hiện overfitting:
-
Chia dữ liệu của bạn. Lấy toàn bộ lịch sử có sẵn (ví dụ 12 tháng) và chia: 8 tháng đầu = In-sample (training), 4 tháng cuối = Out-of-sample (validation).
-
Tối ưu chỉ trên In-sample. Tìm tham số tốt nhất chỉ dùng 8 tháng đầu.
-
Kiểm tra trên Out-of-sample không thay đổi gì. Áp dụng đúng các tham số đó vào 4 tháng cuối. Không điều chỉnh gì cả.
-
So sánh kết quả. Nếu hiệu suất Out-of-sample nằm trong khoảng 30-40% của hiệu suất In-sample, chiến lược có khả năng có edge thực. Nếu hiệu suất Out-of-sample âm hoặc tệ hơn rõ rệt, chiến lược bị overfitted.
Ví dụ:
- In-sample (Tháng 1–8): return 24%, Sharpe 1.8, win rate 67%
- Out-of-sample (Tháng 9–12): return 11%, Sharpe 1.2, win rate 61%
- Phán quyết: Hiệu suất giảm nhưng vẫn dương vững chắc. Đây là chiến lược hợp lệ.
So sánh với kết quả overfitting:
- In-sample (Tháng 1–8): return 42%, Sharpe 3.1, win rate 88%
- Out-of-sample (Tháng 9–12): return -4%, Sharpe -0.3, win rate 43%
- Phán quyết: Sụp đổ hoàn toàn. Chiến lược đã ghi nhớ dữ liệu training.
Đừng bao giờ tối ưu trên dữ liệu Out-of-sample. Một khi bạn liếc kết quả Out-of-sample và điều chỉnh tham số theo đó, bạn đã làm ô nhiễm bài kiểm tra. Dữ liệu đó đã cháy — bạn cần một dataset mới, chưa từng thấy. Đây là quy tắc bị vi phạm phổ biến nhất trong phát triển chiến lược.
Walk-forward Analysis
Một cách tiếp cận khắt khe hơn so với một lần chia in/out duy nhất:
- Tối ưu trên tháng 1–6, kiểm tra trên tháng 7
- Tối ưu trên tháng 2–7, kiểm tra trên tháng 8
- Tối ưu trên tháng 3–8, kiểm tra trên tháng 9
- Tiếp tục lăn về phía trước
Mỗi giai đoạn Out-of-sample được kiểm tra với các tham số tối ưu trên một cửa sổ khác nhau. Nếu chiến lược nhất quán có hiệu suất tốt trên tất cả các giai đoạn Out-of-sample, nó đã vượt qua bài kiểm tra overfitting mạnh nhất hiện có.
Cờ đỏ trong kết quả Backtest
Một số mẫu trong báo cáo backtest nên kích hoạt sự nghi ngờ ngay lập tức:
| Cờ đỏ | Vì sao đáng ngờ | Cần điều tra gì |
|---|---|---|
| Sharpe Ratio > 4.0 | Vượt hedge fund hàng đầu. Phi thực tế cho crypto. | Kiểm tra look-ahead bias hoặc overfitting |
| Win Rate > 98% | Gần như không lỗ = có thể không đóng các Trade thua | Kiểm tra Stop Loss có bị thiếu hoặc đặt quá rộng phi thực tế |
| Không có Trade thua | Bất khả thi trên thị trường thực với cỡ mẫu đáng kể | Kiểm tra xem bot có giữ vị thế lỗ vô thời hạn (lỗ chưa thực hiện) |
| Profit Factor > 5.0 | Trên 50+ Trades, điều này khó xảy ra về mặt thống kê | Giảm tối ưu và kiểm tra Out-of-sample |
| Max Drawdown < 1% | Gợi ý chiến lược chưa từng gặp nghịch cảnh | Kiểm tra xem giai đoạn backtest có bao gồm các cú giảm đáng kể |
| Thời lượng deal trung bình < 1 phút | Có thể đang khai thác đặc tính kỳ lạ của backtest engine | Xác minh độ phân giải nến và logic fill |
| Tổng deals < 10 | Cỡ mẫu không đủ cho bất kỳ kết luận thống kê nào | Mở rộng giai đoạn backtest hoặc chấp nhận kết quả là không đáng tin cậy |
Ví dụ thực tế: Strategy A so với Strategy B
Hãy so sánh hai kết quả backtest thực trên BTC/USDT trong 6 tháng (Tháng 1–6) với vốn khởi đầu $10,000.
Strategy A: "Win Rate cao"
| Chỉ số | Giá trị |
|---|---|
| Total Return | 8.2% ($820) |
| Win Rate | 95.3% (82/86 deals) |
| Mức thắng trung bình | $18.40 (0.184%) |
| Mức thua trung bình | $142.00 (1.42%) |
| Max Drawdown | -6.8% |
| Sharpe Ratio | 0.72 |
| Profit Factor | 1.38 |
| Thời lượng deal trung bình | 3.2 giờ |
| Expectancy | $18.40 × 0.953 - $142 × 0.047 = $10.86 |
Strategy B: "Người bắt xu hướng"
| Chỉ số | Giá trị |
|---|---|
| Total Return | 22.7% ($2,270) |
| Win Rate | 55.4% (36/65 deals) |
| Mức thắng trung bình | $112.00 (1.12%) |
| Mức thua trung bình | $48.50 (0.485%) |
| Max Drawdown | -11.3% |
| Sharpe Ratio | 1.64 |
| Profit Factor | 2.48 |
| Thời lượng deal trung bình | 18.6 giờ |
| Expectancy | $112 × 0.554 - $48.50 × 0.446 = $40.42 |
Phân tích
Strategy A có win rate 95% đầy quyến rũ, nhưng nó đạt được điều này bằng cách lấy lợi nhuận nhỏ và giữ các vị thế lỗ. Mỗi cú thắng trung bình $18.40 trong khi mỗi cú thua trung bình $142 — risk-reward ratio khoảng 1:0.13. Bốn Trades tệ có thể xóa sạch 31 Trades thắng. Profit factor 1.38 hầu như không để lại biên độ cho Slippage và Fees trong live trading. Sharpe thấp (0.72) xác nhận hiệu suất điều chỉnh rủi ro yếu.
Strategy B chỉ thắng 55% thời gian, nhưng các Trades thắng lớn hơn 2.3× các Trades thua. Expectancy mỗi Trade ($40.42) cao hơn gần 4× so với Strategy A ($10.86). Sharpe 1.64 và profit factor 2.48 cho thấy lợi nhuận điều chỉnh rủi ro mạnh. Max drawdown cao hơn (-11.3% so với -6.8%) là cái giá của một chiến lược thực sự mở các vị thế có ý nghĩa.
Strategy B vượt trội một cách khách quan dù win rate thấp hơn. Trong cùng giai đoạn, nó tạo ra lãi gấp 2.77× với Sharpe ratio hơn gấp đôi Strategy A. Khi chọn giữa các chiến lược, hãy tập trung vào expectancy, profit factor, và Sharpe ratio — không phải win rate.
Điều gì xảy ra trong kịch bản áp lực?
Hãy tưởng tượng một cú crash 12% đột ngột của BTC trong giai đoạn backtest:
- Strategy A: Cú crash kích hoạt 4 Stop Loss đồng thời (nó có nhiều micro-deals đang mở). Lỗ: 4 × $142 = $568, xóa sạch 31 Trades thắng trị giá $570. Một sự kiện crash xóa lãi của cả tháng.
- Strategy B: Cú crash kích hoạt 2 Stop Loss. Lỗ: 2 × $48.50 = $97. Hai Trades thắng ($224) bù lỗ còn dư. Chiến lược về mặt cấu trúc kiên cường.
Tổng hợp tất cả: Khung đánh giá
Khi bạn nhận một báo cáo backtest, đánh giá các chỉ số theo thứ tự này:
- Expectancy — Có dương không? Lớn bao nhiêu mỗi Trade?
- Profit Factor — Có trên 1.5 không? Trên 2.0?
- Maximum Drawdown — Bạn có thể chịu đựng được 1.5× con số này về mặt tâm lý và tài chính không?
- Sharpe Ratio — Có trên 1.0 không? Nếu trên 3.0, điều tra overfitting.
- Equity Curve — Là bậc thang mượt hay mớ răng cưa lộn xộn?
- Hiệu suất Out-of-sample — Chiến lược có đứng vững trên dữ liệu chưa từng thấy không?
- Win Rate — Chỉ liên quan trong bối cảnh mức thắng trung bình so với mức thua trung bình.
Các chiến lược vượt qua cả bảy bài kiểm tra này là hiếm — và đáng triển khai. Các chiến lược không qua được mục 1–3 nên bị loại bỏ hoặc thiết kế lại căn bản, bất kể các chỉ số khác trông như thế nào.
Để được hướng dẫn về cách tối ưu các chiến lược vượt qua khung này, xem hướng dẫn tối ưu bot của chúng tôi.
Câu hỏi thường gặp
Sharpe ratio bao nhiêu là tốt cho một crypto trading bot?
Sharpe ratio giữa 1.0 và 2.0 được coi là tốt cho các chiến lược crypto. Thị trường crypto biến động hơn cổ phiếu truyền thống, nên đạt Sharpe trên 2.0 một cách nhất quán thực sự khó. Giá trị trên 3.0 nên được kiểm tra overfitting. Để có ngữ cảnh, nhiều hedge fund định lượng thành công nhắm Sharpe ratio giữa 1.5 và 2.5. Nếu bot crypto của bạn đạt Sharpe 1.5 trong một backtest bao quát nhiều chế độ thị trường, đó là một kết quả mạnh.
Làm sao tính max drawdown nếu tôi có nhiều vị thế mở?
Maximum Drawdown nên được tính trên tổng equity danh mục, không phải trên từng Trade riêng lẻ. Tại bất kỳ điểm nào, giá trị danh mục của bạn bằng tiền mặt + PnL chưa thực hiện trên tất cả các vị thế mở. Theo dõi giá trị tổng hợp này theo thời gian, xác định đỉnh cao nhất và đáy thấp nhất tiếp theo, và tính phần trăm giảm. Nhiều trader mắc lỗi chỉ nhìn PnL đã thực hiện, điều này bỏ qua rủi ro drawdown của các vị thế mở.
Vì sao chiến lược của tôi có Sharpe tốt nhưng profit factor tệ?
Điều này có thể xảy ra khi một chiến lược thực hiện nhiều Trades nhỏ có lãi (tạo ra return nhất quán với biến động thấp → Sharpe cao) nhưng vài Trades thua lại lớn so với từng Trade thắng (kéo tỉ lệ gross profit / gross loss xuống → profit factor thấp). Nó gợi ý chiến lược có rủi ro fat-tail: nó hoạt động tốt phần lớn thời gian nhưng dễ bị tổn thương trước các khoản lỗ lớn thỉnh thoảng. Siết chặt Stop Loss thường khắc phục được profit factor với cái giá là win rate thấp hơn.
Nên dùng Sharpe hay Sortino ratio?
Dùng cả hai, nhưng nặng tay với Sortino hơn cho các chiến lược có hồ sơ return bất đối xứng. Nếu chiến lược của bạn nắm bắt các cú di chuyển upside lớn trong khi giới hạn downside, Sortino sẽ cao hơn Sharpe đáng kể, phản ánh thực tế rằng biến động upside là có lợi. Nếu Sharpe và Sortino tương tự nhau, biến động của chiến lược về cơ bản là đối xứng — các cú di chuyển lên và xuống có cường độ tương tự.
Tôi cần bao nhiêu Trades để có chỉ số đáng tin cậy về mặt thống kê?
Ở mức tối thiểu, 30 Trades cho độ tin cậy thống kê cơ bản. Để Sharpe ratio và profit factor khác biệt một cách có ý nghĩa với noise ngẫu nhiên, 50+ Trades được ưa chuộng hơn. Để win rate ổn định trong ±5% giá trị thực, bạn thường cần 100+ Trades. Nếu backtest chỉ cho thấy 15 Trades, hãy xem tất cả chỉ số như ước tính thô, không phải dự báo đáng tin cậy. Mở rộng giai đoạn backtest hoặc dùng chiến lược tần suất cao hơn để tạo ra nhiều điểm dữ liệu hơn.
Hai chiến lược có cùng total return có thể khác nhau căn bản về chất lượng không?
Hoàn toàn có. Strategy X có thể trả return 20% với Sharpe 0.6, max drawdown -25%, và đường cong equity rơi vực. Strategy Y có thể trả return 20% với Sharpe 1.8, max drawdown -8%, và đường cong bậc thang mượt. Cùng đích đến, hành trình khác nhau căn bản. Strategy Y vượt trội ở mọi chiều điều chỉnh rủi ro. Total return là chỉ số kém hữu ích nhất để so sánh các chiến lược với hồ sơ rủi ro khác nhau.
Tuyên bố miễn trừ: Bài viết này chỉ nhằm mục đích giáo dục và không cấu thành lời khuyên tài chính. Trading tiền điện tử liên quan đến rủi ro đáng kể, và bạn không nên đầu tư nhiều hơn số tiền bạn có thể chịu lỗ. Luôn tự nghiên cứu trước khi đưa ra quyết định trading.
