P.Thai Capital P.Thai Capital Journal

Value at Risk (VaR) là gì? 3 cách tính và hạn chế cốt lõi

QUANT RISK METRIC · RISK MEASURE Giá trị rủi ro Value at Risk (VaR) · VaR Loại chỉ số Risk Measure Phân tích Định lượng / Backtest Áp dụng cho VN30 / Quỹ active

Value at Risk (VaR) trả lời câu hỏi: “Với xác suất X%, danh mục mất không quá Y trong N ngày tới”. Ví dụ “VaR 1-day 95% = 3%” nghĩa là 95% trường hợp danh mục không mất quá 3% trong 1 ngày. Đây là chuẩn rủi ro của Basel II/III và là chỉ số bắt buộc trong báo cáo rủi ro của ngân hàng/quỹ.

VaR đẹp về mặt giao tiếp nhưng có 2 hạn chế cốt lõi: (1) không nói gì về tail beyond confidence level (CVaR ra đời để giải quyết); (2) không phải coherent risk measure — vi phạm tính sub-additivity (rủi ro danh mục có thể > tổng rủi ro thành phần theo VaR).

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

Định nghĩa VaR cấp độ $\alpha$ trong horizon $h$: $$ VaR_\alpha = -\inf{x : P(L_h \le x) \ge \alpha} $$

Với $L_h$ = loss trong horizon $h$. 3 phương pháp tính:

  1. Historical: lấy quantile $(1-\alpha)$ của distribution returns lịch sử
  2. Parametric (Variance-Covariance): giả định gaussian, $VaR = z_\alpha \cdot \sigma \cdot \sqrt{h}$
  3. Monte Carlo: simulate returns từ mô hình, lấy quantile

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

import numpy as np

def historical_var(returns, alpha=0.05):
    """Historical VaR — quantile alpha của distribution returns."""
    return -np.quantile(returns, alpha)

def parametric_var(returns, alpha=0.05):
    """Parametric VaR (giả định gaussian)."""
    from scipy.stats import norm
    mu, sigma = returns.mean(), returns.std(ddof=1)
    return -(mu + sigma * norm.ppf(alpha))

def monte_carlo_var(mu, sigma, alpha=0.05, n_sims=10000):
    """Monte Carlo VaR từ tham số."""
    sims = np.random.normal(mu, sigma, n_sims)
    return -np.quantile(sims, alpha)

Code mẫu trên là khung tham khảo cho việc tự tính Giá trị rủi ro. 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

VaR 1-day 95% danh mục cổ phiếu Đánh giá
< 1% Bảo thủ (cash + bond)
1 – 2% Cân bằng
2 – 4% Equity-heavy thông thường
4 – 7% Leveraged hoặc concentrated
> 7% Speculative — cần xem xét lại risk

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

Danh mục VaR 1-day 95%
Trái phiếu chính phủ VN 0.2% – 0.5%
VN30 ETF (E1VFVN30) 1.5% – 2.5%
Single stock VN30 2% – 4%
Single stock midcap VN 3% – 6%
VN30F1M phái sinh (1x lev) 1.5% – 3%

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. Gaussian assumption sai trong stress: parametric VaR underestimate trong tail event. 2008 nhiều ngân hàng có VaR 1-day 99% bị vượt 30+ ngày trong 1 năm.

  2. Không sub-additive: VaR(A+B) có thể > VaR(A) + VaR(B) với certain distributions. Rosenberg và Schuermann chỉ ra trong copula.

  3. Sample window matters: historical VaR từ 2017-2020 (không có crash) khác từ 2008-2011.

  4. Time scaling: VaR multi-day thường scale √T — sai khi có vol clustering.

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

VaR misleading khi distribution có fat tail hoặc skew mạnh. Crisis 2008 cho thấy VaR mô hình → reality lệch xa. Nassim Taleb chỉ trích VaR là “false sense of security”. Modern best practice: dùng VaR + CVaR + stress test scenarios.

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

Tại VN, biên độ ±7% HOSE đặt cap cứng cho VaR 1-day single stock cơ sở ở 7% (giả định limit-down). Nhưng VaR multi-day có thể lớn hơn nhiều (VN-Index 2018 Q4 mất 25% trong 6 tuần). Nên báo cáo VaR theo 3 horizon: 1-day, 5-day, 20-day để có bức tranh đầy đủ.

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

Giá trị rủi ro (VaR) 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

Giá trị rủi ro 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 Giá trị rủi ro 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ê.

Giá trị rủi ro 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ố Giá trị rủi ro (VaR). 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.