Parametric VaR phụ thuộc vào giả định phân phối và tương quan như thế nào?
Parametric VaR
Parametric VaR là một trong những cách tính Value at Risk nhanh và dễ triển khai nhất. Chỉ cần biết giá trị danh mục, volatility của từng tài sản và correlation giữa chúng là có thể ước lượng mức lỗ tại một confidence level nhất định. Nhưng chính sự đơn giản này cũng tạo ra điểm yếu lớn: kết quả VaR phụ thuộc rất mạnh vào giả định về phân phối return và ma trận tương quan. Nếu return thực tế có fat tail hoặc correlation tăng mạnh khi thị trường stress, con số VaR tính trong điều kiện bình thường có thể thấp hơn đáng kể mức rủi ro thực sự.

Phần 1. Parametric VaR thực chất đang biến volatility thành một mức lỗ kỳ vọng
Giả sử danh mục trị giá 1 tỷ đồng và daily volatility của portfolio là 1.5%. Nếu giả định return tuân theo phân phối chuẩn, mức VaR 95% một ngày có thể tính gần đúng bằng:
VaR = Portfolio Value × z × Portfolio VolatilityVới confidence level 95%, z ≈ 1.645. Khi đó:
VaR = 1.000.000.000 × 1.645 × 1.5%
≈ 24,7 triệu đồngCó thể hiểu đơn giản: theo mô hình, trong khoảng 95% số ngày, mức lỗ sẽ không vượt quá khoảng 24,7 triệu đồng. Nhưng VaR không nói rằng mức lỗ tối đa là 24,7 triệu. Vẫn còn khoảng 5% số ngày nằm ngoài ngưỡng đó và phần tail có thể tạo ra mức lỗ lớn hơn rất nhiều.
Trong Python, công thức cơ bản có thể viết:
portfolio_value = 1_000_000_000
portfolio_vol = 0.015
z_95 = 1.645
var_95 = (
portfolio_value
* portfolio_vol
* z_95
)
print(var_95)Điểm cần hiểu là 1.645 đến trực tiếp từ giả định phân phối chuẩn. Nếu distribution thực tế khác chuẩn, đặc biệt khi có nhiều extreme return hơn, VaR sẽ bị ảnh hưởng.
Ví dụ phần lớn daily return của cổ phiếu có thể nằm quanh ±1–2%, nhưng trong những phiên stress vẫn có thể xuất hiện -5%, -7% hoặc những chuỗi giảm mạnh liên tiếp. Phân phối tài chính thường có fat tail hơn Normal Distribution. Điều này có nghĩa những biến động cực đoan xảy ra thường xuyên hơn mức mà phân phối chuẩn dự kiến.
Nếu model giả định:
Normal Distribution
→ Extreme loss rất hiếmnhưng thực tế:
Financial Return
→ Extreme loss xuất hiện thường xuyên hơnthì Parametric VaR có xu hướng đánh giá thấp tail risk.
Có thể nhìn đơn giản bằng kurtosis:
from scipy.stats import kurtosis
k = kurtosis(
returns.dropna(),
fisher=False
)
print(k)Normal Distribution có kurtosis khoảng 3. Nếu dữ liệu trả về:
Kurtosis = 7.2thì distribution có tail dày hơn đáng kể so với Normal.
Một cách kiểm tra nữa là so VaR mô hình với chính dữ liệu thực tế. Ví dụ VaR 99% của model là -4%, nhưng trong 1.000 phiên lịch sử có tới 25 phiên return thấp hơn -4%. Theo lý thuyết 99%, số exceedance kỳ vọng chỉ khoảng 10 phiên. Model đang underestimate risk.
Có thể tính:
breaches = returns < -var_return
breach_rate = breaches.mean()
print(breach_rate)Nếu VaR 99% nhưng breach rate thực tế là 2.5%, assumption của model đang có vấn đề.
Một điểm khác là Parametric VaR thường giả định expected return gần 0 cho horizon ngắn. Với daily risk management, giả định này thường không phải vấn đề lớn vì mean return nhỏ hơn nhiều so với volatility. Nhưng với horizon dài hơn, cách scale risk cũng cần cẩn thận.
Ví dụ nhiều hệ thống dùng:
10-day VaR = 1-day VaR × √10Công thức này dựa trên assumption return độc lập và volatility ổn định. Khi volatility clustering mạnh hoặc market regime thay đổi, square-root-of-time scaling có thể trở nên quá đơn giản.
Vì vậy Parametric VaR không sai vì sử dụng phân phối chuẩn. Vấn đề là phải biết con số VaR chỉ đúng trong phạm vi những giả định mà model đang sử dụng.
Phần 2. Correlation quyết định mức diversification mà VaR đang tin vào
Với một tài sản, volatility khá dễ hiểu. Với portfolio nhiều tài sản, vấn đề quan trọng hơn là các tài sản di chuyển cùng nhau như thế nào.
Portfolio volatility được tính từ covariance matrix:
Portfolio Volatility = √(w' Σ w)Trong đó w là tỷ trọng các tài sản và Σ là ma trận covariance. Correlation nằm trực tiếp bên trong ma trận này.
Giả sử portfolio 1 tỷ đồng gồm hai nhóm tài sản, mỗi nhóm 50%. Asset A có daily volatility 2%, Asset B có volatility 2.5%.
Nếu correlation chỉ là 0.2, portfolio volatility vào khoảng 1.75%. VaR 95% gần:
VaR ≈ 28,8 triệu đồngNhưng nếu correlation tăng lên 0.8, portfolio volatility tăng lên khoảng 2.14% và VaR lên gần:
VaR ≈ 35,1 triệu đồngKhông thay đổi position, không thay đổi volatility riêng của từng tài sản, chỉ cần correlation thay đổi thì VaR đã tăng hơn 20%.
Đây là bản chất của diversification trong Parametric VaR. Khi correlation thấp, model cho rằng asset A giảm có thể được bù phần nào bởi asset B. Khi correlation cao, lợi ích diversification giảm.
Trong code:
import numpy as np
weights = np.array([
0.50,
0.50
])
vol = np.array([
0.02,
0.025
])
rho = 0.20
cov = np.array([
[
vol[0]**2,
rho * vol[0] * vol[1]
],
[
rho * vol[0] * vol[1],
vol[1]**2
]
])
portfolio_vol = np.sqrt(
weights.T
@ cov
@ weights
)Trong thị trường bình thường, Bank, Securities, Real Estate hay Technology có thể có correlation vừa phải. Một portfolio nhìn khá diversified vì nắm nhiều ngành khác nhau. Nhưng khi thị trường stress, một hiện tượng rất thường gặp là correlation cùng tăng.
Ví dụ bình thường:
Bank – Securities 0.45
Bank – Real Estate 0.30
Technology – Bank 0.20
Retail – Bank 0.25Trong một sell-off mạnh:
Bank – Securities 0.82
Bank – Real Estate 0.75
Technology – Bank 0.68
Retail – Bank 0.71Những cổ phiếu trước đây tưởng như đa dạng hóa tốt lại cùng giảm vì thị trường chuyển sang risk-off.
Đây là điểm yếu rất thực tế của VaR dựa trên historical covariance cố định. Nếu covariance matrix được estimate bằng 252 phiên gần nhất:
cov_matrix = returns.rolling(252).cov()thì phần lớn dữ liệu có thể đến từ các phiên thị trường bình thường. Đúng ngày stress xuất hiện, correlation thực tế tăng nhanh hơn covariance estimate.
Model vẫn nghĩ:
Portfolio khá diversifiedtrong khi thực tế:
Mọi thứ đang cùng giảmCó thể giảm vấn đề bằng cách sử dụng rolling correlation ngắn hơn:
rolling_corr = (
returns["BANK"]
.rolling(60)
.corr(
returns["SECURITIES"]
)
)Hoặc so nhiều horizon:
20D Correlation
60D Correlation
252D CorrelationNếu correlation 20D đang tăng rất nhanh so với correlation dài hạn, portfolio risk có thể đang thay đổi trước khi VaR dài hạn phản ánh đầy đủ.
Một cách khác là stress correlation. Thay vì chỉ tính VaR với correlation hiện tại, có thể thử:
Base correlation 0.30
Stress correlation 0.60
Extreme correlation 0.90rồi xem VaR thay đổi ra sao.
Ví dụ:
for rho in [
0.3,
0.6,
0.9
]:
# rebuild covariance
# recalculate VaR
passNếu Base VaR là 25 triệu nhưng Stress VaR lên 40 triệu, risk manager biết rằng phần lớn lợi ích diversification đang phụ thuộc vào một assumption khá mong manh.
Phần 3. Dùng Parametric VaR thực tế: không nên tin một con số duy nhất
Parametric VaR phù hợp khi cần một risk metric nhanh, dễ tính và có thể cập nhật hàng ngày. Với một portfolio gồm nhiều cổ phiếu, chỉ cần return history và position hiện tại là có thể xây covariance matrix rồi tính VaR.
Ví dụ:
import numpy as np
from scipy.stats import norm
returns = price_df.pct_change().dropna()
cov_matrix = returns.cov()
weights = np.array([
0.30,
0.25,
0.20,
0.25
])
portfolio_vol = np.sqrt(
weights.T
@ cov_matrix.values
@ weights
)
confidence = 0.99
z = norm.ppf(confidence)
portfolio_value = 10_000_000_000
var = (
portfolio_value
* portfolio_vol
* z
)
print(var)Giả sử kết quả:
Portfolio Value 10 tỷ
Daily Volatility 1.7%
99% VaR 395 triệuKhông nên diễn giải:
Portfolio không thể mất quá 395 triệu/ngày.Cách hiểu đúng hơn là:
Theo volatility, correlation và distribution đang được model giả định, ngưỡng loss 99% một ngày khoảng 395 triệu.Hai cách nói khác nhau rất nhiều.
Để VaR hữu ích hơn trong quản trị đầu tư, nên chạy ít nhất vài scenario song song. Scenario đầu tiên là Normal VaR dùng covariance hiện tại. Scenario thứ hai tăng volatility. Scenario thứ ba tăng correlation.
Ví dụ:
Normal Market
VaR = 395 triệu
High Volatility
VaR = 520 triệu
High Correlation
VaR = 610 triệu
High Vol + High Corr
VaR = 780 triệuChỉ nhìn Normal VaR có thể tạo cảm giác portfolio khá an toàn. Nhưng stress scenario cho thấy nếu volatility và correlation cùng tăng, mức risk có thể gần gấp đôi.
Có thể viết một stress đơn giản:
stress_cov = (
cov_matrix * 1.5
)
stress_vol = np.sqrt(
weights.T
@ stress_cov.values
@ weights
)Với correlation stress, nên rebuild covariance matrix từ volatility và một stressed correlation matrix thay vì chỉ nhân toàn bộ covariance.
Một risk dashboard thực tế có thể theo dõi:
1D VaR 95%
1D VaR 99%
Historical VaR
Parametric VaR
Expected Shortfall
20D Portfolio Volatility
Average Correlation
Maximum Pairwise Correlation
Stress VaR
VaR BreachesViệc đặt Historical VaR cạnh Parametric VaR đặc biệt hữu ích. Nếu:
Parametric VaR 99% 400 triệu
Historical VaR 99% 620 triệuthì phần tail trong dữ liệu lịch sử đang lớn hơn nhiều so với Normal assumption.
Expected Shortfall cũng nên đi cùng VaR. VaR chỉ cho biết ngưỡng bắt đầu của tail, còn Expected Shortfall hỏi:
Nếu đã rơi vào 1% ngày xấu nhất,
trung bình sẽ lỗ bao nhiêu?Ví dụ:
99% VaR 400 triệu
99% Expected Shortfall 670 triệuHai con số cho hai thông tin rất khác nhau. VaR cho biết threshold, ES cho biết severity phía sau threshold.
Với portfolio cổ phiếu Việt Nam, correlation còn nên được nhìn theo sector và market regime. Một portfolio gồm Bank, Securities, Real Estate và Retail có thể phân tán về tên cổ phiếu nhưng lại cùng chịu Beta và liquidity risk rất lớn. Trong những phiên VN-Index giảm mạnh, các correlation đó có thể tăng đồng thời.
Vì vậy một quy trình thực tế có thể là:
Position
→ Return History
→ Volatility
→ Correlation Matrix
→ Parametric VaR
→ Historical VaR
→ Correlation Stress
→ Volatility Stress
→ Expected ShortfallNếu tất cả chỉ số đều cho risk tương đối thấp, mức độ tin cậy cao hơn. Nếu Parametric VaR thấp nhưng Historical VaR, ES và Stress VaR đều cao, nên nghi ngờ các assumption của Parametric VaR thay vì chọn con số đẹp nhất.
Bản chất của Parametric VaR rất đơn giản: volatility quyết định mức biến động, correlation quyết định mức diversification và giả định phân phối quyết định tail được coi là hiếm tới đâu.
Nếu volatility bị đánh giá thấp, VaR thấp. Nếu correlation bị đánh giá thấp, diversification bị đánh giá quá cao. Nếu return có fat tail hơn Normal Distribution, xác suất extreme loss bị đánh giá thấp.
Đó cũng là lý do Parametric VaR rất hữu ích nhưng không nên đứng một mình. Nó phù hợp làm một thước đo risk hàng ngày, còn Historical VaR, Expected Shortfall và stress testing giúp kiểm tra những thứ mà giả định Normal Distribution và correlation lịch sử có thể bỏ sót.
