1. VaR 基础概念
1.1 VaR 的定义
风险价值(Value at Risk,VaR)是指在正常的市场条件下,在给定的置信水平和持有期内,投资组合可能遭受的最大预期损失。VaR 用一个数字概括了市场风险,回答了“最坏情况下会亏多少”的问题。
VaR 的数学定义:
P(Loss > VaR) = 1 − α
其中 α 为置信水平(如 95% 或 99%),Loss 为持有期内的损失金额。
P(Loss > VaR) = 1 − α
其中 α 为置信水平(如 95% 或 99%),Loss 为持有期内的损失金额。
VaR 的三个核心要素:
- 置信水平(α):衡量结果的可靠程度,通常取 95%、99% 或 99.9%
- 持有期(Δt):风险暴露的时间窗口,常见为 1 天、10 天或 1 个月
- 损失金额(VaR 值):在给定置信水平下的最大预期损失
1.2 置信水平与持有期
置信水平和持有期是 VaR 的两个核心参数,直接影响 VaR 数值的大小和风险管理策略。
| 参数 | 典型取值 | 对 VaR 的影响 | 适用场景 |
|---|---|---|---|
| 置信水平 | 95%、99%、99.9% | 置信水平越高,VaR 值越大(尾部更极端) | 监管资本(99%)、内部风控(95%) |
| 持有期 | 1 天、10 天、1 个月 | 持有期越长,VaR 值通常越大(时间平方根缩放) | 交易台(1 天)、投资组合(10 天) |
实务提示:巴塞尔协议 III 要求市场风险资本计算采用 99% 置信水平、10 天持有期的 VaR。实际应用中,1 天 VaR 常通过 √10 缩放得到 10 天 VaR,但该做法假设收益独立同分布,在极端市场下可能低估风险。
1.3 VaR 的金融含义
VaR 在金融风险管理中具有多重含义,是风险度量、资本配置和绩效评估的基础工具。
- 风险度量工具:用一个数字量化整个投资组合的市场风险,便于横向比较不同资产或策略的风险水平
- 资本充足性:金融机构根据 VaR 计算经济资本和监管资本,确保在极端损失下仍有偿付能力
- 风险限额设定:交易员和投资经理的 VaR 限额直接约束其风险敞口,防止过度投机
- 绩效评估调整:RAROC(风险调整资本回报率)等指标使用 VaR 作为分母,衡量单位风险产生的收益
1.4 VaR 的局限性
VaR 虽然应用广泛,但存在若干重要局限性,风险管理从业者必须充分认识。
| 局限性 | 具体表现 | 潜在后果 |
|---|---|---|
| 不满足次可加性 | 组合 VaR 可能大于各资产 VaR 之和,违背分散化原理 | 鼓励过度集中,低估分散化收益 |
| 尾部风险不足 | VaR 只给出阈值,不告知超过阈值后的损失大小 | 忽略极端尾部事件(如 2008 年金融危机) |
| 模型依赖性强 | 不同计算方法(参数法、历史模拟、蒙特卡洛)结果差异大 | 模型选择偏差导致风险误判 |
| 静态假设 | 假设持有期内组合不变,忽略动态调整 | 高估或低估实际风险暴露 |
| 正态分布假设 | 参数法假设收益服从正态分布,但金融数据常呈厚尾 | 低估极端损失概率 |
重要警示:VaR 不是最大可能损失,也不是最坏情况下的损失。在 99% 置信水平下,仍有 1% 的可能性损失超过 VaR 值,且超过多少 VaR 无法告知。建议结合 CVaR(条件风险价值) 或 压力测试 补充尾部风险分析。
1.5 VaR 计算方法概览
三种主流 VaR 计算方法各有优劣,选择时需权衡精度、效率和假设条件。
| 方法 | 核心原理 | 优点 | 缺点 |
|---|---|---|---|
| 参数法(方差-协方差法) | 假设收益服从正态分布,利用均值、方差和协方差矩阵计算 | 计算速度快,适合大规模组合 | 正态假设不成立时误差大 |
| 历史模拟法 | 直接使用历史收益数据的分位数作为 VaR | 无分布假设,保留厚尾特征 | 依赖历史数据长度,无法预测新风险 |
| 蒙特卡洛模拟法 | 随机生成大量价格路径,模拟组合损益分布 | 灵活处理非线性、复杂衍生品 | 计算量大,模型风险高 |
代码示例:参数法 VaR 计算(Python)
import numpy as np
def parametric_var(returns, confidence_level=0.95, holding_period=1):
"""
参数法 VaR 计算
returns: 日收益率序列
confidence_level: 置信水平(默认 95%)
holding_period: 持有期(默认 1 天)
"""
mu = np.mean(returns)
sigma = np.std(returns, ddof=1)
z_score = np.percentile(np.random.standard_normal(100000),
(1 - confidence_level) * 100)
var = -(mu * holding_period + z_score * sigma * np.sqrt(holding_period))
return var
# 示例使用
daily_returns = np.random.normal(0.001, 0.02, 1000)
var_95_1d = parametric_var(daily_returns, 0.95, 1)
print(f"95% 置信水平 1 天 VaR: {var_95_1d:.4f}")
VaR 作为风险管理的起点工具,为后续的组合 VaR 归因分析和人群切片复盘奠定了量化基础。理解其定义、参数含义和局限性,是正确使用 VaR 进行风险决策的前提。