Skip to content

Sharpe Ratio Validation

Một Sharpe ratio cao chưa chắc đã có ý nghĩa thống kê. Probabilistic Sharpe Ratio (PSR) cho bạn biết xác suất Sharpe thực sự > 0.

Vấn Đề với Sharpe Ratio

Sharpe ratio được tính từ mẫu dữ liệu hữu hạn. Nếu số lượng giao dịch ít, Sharpe có thể cao do ngẫu nhiên (data snooping). Một chiến lược có Sharpe 3.0 với 20 trades có thể thực sự có Sharpe 0.0.

Probabilistic Sharpe Ratio (PSR)

PSR do Bailey & López de Prado (2014) phát triển. Công thức:

text
PSR = Φ(
    (SR_hat - SR_benchmark) * sqrt(N-1)
    / sqrt(1 - γ₁*SR_hat + (γ₂-1)/4 * SR_hat²)
)

Trong đó:
- SR_hat: Sharpe ratio ước lượng
- SR_benchmark: Sharpe ngưỡng (thường = 0)
- N: số lượng quan sát (giao dịch)
- γ₁, γ₂: skewness và kurtosis của returns

Ngưỡng PSR

PSRKết luận
> 0.99✅ Rất mạnh — gần như chắc chắn
> 0.95✅ Mạnh — Sharpe thực sự > 0 với 95% confidence
> 0.90⚠️ Trung bình — cần thêm dữ liệu
< 0.90❌ Không đủ bằng chứng

Minimum Tracks Record (MinTRL)

Số giao dịch tối thiểu cần để tin vào Sharpe ratio:

text
MinTRL = 1 + (1 - γ₁*SR + (γ₂-1)/4 * SR²) * (z² / SR²)

Với z = 2.33 (99% confidence), Sharpe = 2.0, skewness=0, kurtosis=3
→ MinTRL ~ 30 giao dịch

Implement Python

python
def probabilistic_sharpe_ratio(sharpe, n, skew, kurt, benchmark=0):
    from scipy.stats import norm
    numerator = (sharpe - benchmark) * (n - 1) ** 0.5
    denominator = (1 - skew * sharpe + (kurt - 1) / 4 * sharpe ** 2) ** 0.5
    return norm.cdf(numerator / denominator)

Powered by dautu.tech