P.Thai Capital P.Thai Capital Journal

Sortino Ratio là gì? Khác biệt với Sharpe và cách dùng đúng

QUANT RISK METRIC · RISK-ADJUSTED RETURN Tỷ số Sortino Sortino Ratio · SoR Loại chỉ số Risk-Adjusted Return Phân tích Định lượng / Backtest Áp dụng cho VN30 / Quỹ active

Sortino Ratio — do Frank A. Sortino đề xuất 1980s — là biến thể của Sharpe giải quyết một vấn đề logic: Sharpe phạt cả biến động lên (upside) và xuống (downside), nhưng nhà đầu tư không sợ upside. Sortino chỉ tính độ lệch chuẩn của các phiên lỗ.

Trong giao dịch định lượng, Sortino thường được báo cáo song song với Sharpe. Khi Sortino >> Sharpe → chiến lược có upside skew (lỗ nhỏ thường, lãi to thi thoảng — giống trend following). Khi Sortino ≈ Sharpe → returns đối xứng. Khi Sortino < Sharpe → có vấn đề về tính toán.

1. Định nghĩa & công thức

$$ SoR = \frac{E[R_p] - R_f}{\sigma_d} $$

Với $\sigma_d$ là downside deviation (chỉ tính các phiên lỗ): $$ \sigma_d = \sqrt{\frac{1}{N}\sum_{t=1}^{N} \min(R_t - MAR, 0)^2} $$

MAR (Minimum Acceptable Return) thường set = 0 (chỉ phạt phiên lỗ thực sự) hoặc = $R_f$.

2. Cách tính bằng Python

import numpy as np

def sortino_ratio(returns, mar=0.0, periods_per_year=252):
    """
    returns: array lợi nhuận hàng phiên
    mar: Minimum Acceptable Return per period (vd 0)
    """
    excess = returns - mar
    downside = np.minimum(excess, 0)
    downside_dev = np.sqrt(np.mean(downside ** 2)) * np.sqrt(periods_per_year)
    mean_excess = np.mean(excess) * periods_per_year
    return mean_excess / downside_dev if downside_dev > 0 else np.nan

Code mẫu trên là khung tham khảo cho việc tự tính Tỷ số Sortino. Khi tích hợp vào hệ thống production, cần thêm: validate input (NaN, length), handle edge cases (zero variance, empty series), unit test cho từng nhánh, và caching khi gọi nhiều lần trên cùng dataset.

3. Khoảng giá trị & cách diễn giải

Sortino Đánh giá
< 0 Trung bình lỗ — không nên trade
0 – 1 Yếu
1 – 2 Trung bình tốt
2 – 3 Tốt
> 3 Rất tốt — kiểm tra overfit

4. Giá trị điển hình theo loại tài sản / chiến lược

Chiến lược Sortino điển hình
Buy & Hold VN-Index 0.6 – 1.0
Mean reversion VN30 1.0 – 2.0
Trend following multi-asset 1.5 – 3.0 (high upside skew)
Short volatility 1.5 – 4.0 (nhưng tail risk lớn)

Lưu ý: bảng giá trị điển hình mang tính tham khảo, dựa trên quy ước cộng đồng quant và sample lịch sử công khai. Giá trị thực tế phụ thuộc dataset, period, và phương pháp tính cụ thể.

5. Bốn cạm bẫy phổ biến khi sử dụng

  1. Ít phiên lỗ → Sortino bị thổi phồng: chiến lược chạy ngắn hoặc trong regime favorable có thể không có downside để tính → Sortino → ∞.

  2. MAR chọn sai: dùng MAR = $R_f$ daily quá khắt khe; dùng MAR = 0 cho ra số khác. Phải nhất quán khi so sánh chiến lược.

  3. Vẫn giả định returns iid: tail risk chưa được nắm trọn — cần kết hợp với Max Drawdown, Tail Ratio.

6. Khi nào chỉ số này gây hiểu lầm

Sortino misleading khi sample size nhỏ — vài phiên lỗ định nghĩa toàn bộ denominator. Cần ≥ 252 phiên với ≥ 30 phiên lỗ để Sortino có ý nghĩa thống kê. Tránh báo cáo Sortino cho backtest 6 tháng.

7. Đặc thù khi áp dụng cho TTCK Việt Nam

Trên VN30, Sortino thường cao hơn Sharpe ~30-50% cho chiến lược trend following dài hạn (do skew dương) và ngang bằng Sharpe cho mean reversion (returns gần đối xứng). Khi báo cáo cho nhà đầu tư VN, nên trình bày cả 2 — riêng Sortino có thể tạo cảm giác chiến lược “đẹp hơn thực tế”.

8. Các chỉ số liên quan trong cùng hệ thống

Tỷ số Sortino (SoR) không nên đọc đơn lẻ. Trong báo cáo rủi ro chuyên nghiệp, nó luôn được trình bày cùng các chỉ số bổ sung để cross-check và tránh blindspot. Các chỉ số liên quan đã trình bày trong chuỗi bài này:

9. Tham khảo học thuật

10. Câu hỏi thường gặp

Tỷ số Sortino bao nhiêu là tốt? Tham khảo bảng diễn giải ở mục 3. Không có ngưỡng “tốt tuyệt đối” — phụ thuộc loại chiến lược, sample size, và benchmark tham chiếu.

Làm sao tự tính Tỷ số Sortino trên danh mục cá nhân? Sử dụng code Python mẫu ở mục 2. Input cần thiết: chuỗi returns hàng phiên (daily) của danh mục, tối thiểu 252 phiên (1 năm) để có ý nghĩa thống kê.

Tỷ số Sortino có khác giữa thị trường VN và quốc tế không? Có. Đặc thù VN (biên độ ±7% HOSE, T+2.5, cấm short cơ sở) ảnh hưởng đến cách tính và diễn giải. Chi tiết ở mục 7.


Ghi chú phương pháp: Bài viết tổng hợp định nghĩa, công thức, và quy ước cộng đồng quant cho chỉ số Tỷ số Sortino (SoR). Các giá trị điển hình mang tính tham khảo, không phải khuyến nghị đầu tư. Người đọc tự kiểm chứng trên dữ liệu của mình trước khi sử dụng cho quyết định vốn thật.


Miễn trừ trách nhiệm: Nội dung mang tính phân tích định lượng, không phải khuyến nghị đầu tư. Nhà đầu tư tự chịu trách nhiệm với quyết định của mình.

Miễn trừ trách nhiệm: Nội dung là phân tích định lượng dựa trên dữ liệu lịch sử, mang tính tham khảo. KHÔNG phải khuyến nghị mua/bán. Giao dịch có rủi ro, kết quả backtest không đảm bảo hiệu suất tương lai. Nhà đầu tư tự chịu trách nhiệm cho quyết định của mình.