2. 风险度量指标

做量化投资,选风险指标就像选手术刀——用对了地方,一刀下去精准解决问题;用错了,可能把病人切坏了。我见过不少团队,一上来就堆十几个指标,结果自己都搞不清该信哪个。

今天咱们就把五个最常用的风险度量指标掰开揉碎。波动率、VaR、CVaR、跟踪误差、下行风险,它们分别解决什么问题?怎么算?什么时候用哪个?

核心观点:没有完美的指标,只有合适的场景。组合的风险画像,需要多个指标交叉验证。

风险度量指标知识体系 风险度量指标 波动率 (Volatility) VaR CVaR 跟踪误差 下行风险 各指标适用场景速览 • 波动率:衡量整体波动,适合长期资产配置 • VaR:回答“最坏情况下亏多少”,适合风控限额 • CVaR:关注尾部风险,适合极端行情压力测试 • 跟踪误差:衡量与基准的偏离,适合指数增强策略 • 下行风险:只关心亏损波动,适合保守型投资者

2.1 波动率:最基础的“体温计”

波动率是风险度量的起点。说白了,它就是收益率的标准差,衡量资产价格上下跳动的幅度。

计算公式:

年化波动率 = 日收益率标准差 × √252

为什么乘√252?因为一年大约有252个交易日。这个平方根法则,我当年刚入行时总搞混——记得有一次给领导汇报,把月波动率直接乘以12,结果被当场指出。嗯,从那以后我再也没犯过这个错。

我的习惯:计算波动率时,至少用过去60个交易日的数据。太短了噪声大,太长了又反应迟钝。60天是个不错的折中。

优缺点:

  • ✅ 计算简单,直观易懂
  • ✅ 适合作为基准风险度量
  • ❌ 把上涨和下跌同等对待——你想想看,投资者其实不怕涨,怕的是跌
  • ❌ 假设收益率服从正态分布,但真实市场有肥尾

2.2 VaR:回答“最坏能亏多少”

VaR(Value at Risk)是风控部门最爱的指标。它回答一个简单问题:在95%(或99%)置信水平下,未来N天内最大可能亏损是多少?

三种计算方法:

方法 原理 适用场景
参数法(方差-协方差) 假设正态分布,用均值和标准差算 快速估算,流动性好的资产
历史模拟法 直接用过去收益率的分位数 数据充足,不想做分布假设
蒙特卡洛模拟 随机生成大量路径,取分位数 复杂衍生品,非线性风险

我在项目中遇到过一件事:用参数法算VaR,结果在2015年股灾时完全失效。为什么?因为参数法假设正态分布,但极端行情下收益率分布的尾部比正态分布厚得多。从那以后,我坚持至少用历史模拟法做交叉验证。

注意:VaR不告诉你“超过阈值后亏多少”。比如95% VaR是-5%,它只说明有5%的概率亏损超过5%,但超过多少?可能是6%,也可能是60%。这就是VaR的致命缺陷。

2.3 CVaR:补上VaR的短板

CVaR(Conditional VaR),也叫Expected Shortfall。它计算的是:当亏损超过VaR阈值时,平均亏损是多少。

举个例子:

  • VaR(95%) = -5%:有5%的概率亏损超过5%
  • CVaR(95%) = -8%:那5%的最坏情况下,平均亏损是8%

我个人更偏爱CVaR。它抓住了尾部风险的全貌,而不是只给一个门槛值。在做风险预算时,我通常用CVaR来分配风险预算——因为它对极端行情更敏感。

代码示例(Python):

import numpy as np

def calculate_cvar(returns, confidence=0.95):
    """
    计算CVaR
    returns: 收益率序列
    confidence: 置信水平,默认95%
    """
    sorted_returns = np.sort(returns)
    var_index = int((1 - confidence) * len(sorted_returns))
    var = sorted_returns[var_index]
    cvar = sorted_returns[:var_index].mean()
    return var, cvar

# 示例
np.random.seed(42)
returns = np.random.normal(0.001, 0.02, 1000)
var_95, cvar_95 = calculate_cvar(returns)
print(f"VaR(95%): {var_95:.4f}")
print(f"CVaR(95%): {cvar_95:.4f}")

2.4 跟踪误差:你在跟谁比?

跟踪误差衡量的是组合收益率与基准收益率之间的偏离程度。说白了,就是“你跑得跟指数像不像”。

计算公式:

跟踪误差 = std(组合收益率 - 基准收益率)

做指数增强策略时,跟踪误差是核心约束。我曾经管过一个增强型ETF,客户要求年化跟踪误差控制在2%以内。结果有一次调仓时,我为了多赚20个bp的超额收益,把跟踪误差拉到了3.5%。嗯,被合规部门约谈了一下午。

经验之谈:跟踪误差不是越小越好。完全复制指数,跟踪误差为0,但你也别想有超额收益。关键是找到“信息比率”的最优解——每单位跟踪误差能带来多少超额收益。

2.5 下行风险:只关心坏的一面

下行风险只考虑亏损时的波动。它把上涨的波动视为“好消息”,不纳入计算。

常见定义:

  • 下行标准差:只取收益率低于目标值(通常是0或无风险利率)的部分计算标准差
  • 最大回撤:从峰值到谷底的最大跌幅
  • 索提诺比率:类似夏普比率,但分母用下行标准差

为什么需要下行风险?你想想看,一个策略年化收益20%,但波动率30%,另一个策略年化收益15%,波动率15%。传统波动率告诉你第二个更安全,但如果你只关心亏损风险,第一个策略的上涨波动其实是你想要的。

我习惯在回测报告中同时展示夏普比率和索提诺比率。如果两者差距很大,说明策略的上涨和下跌波动不对称——这时候要警惕了。

2.6 如何选择?一张表说清楚

场景 推荐指标 理由
长期资产配置 波动率 + 下行风险 关注整体风险,但更在意亏损
风控限额管理 VaR + CVaR 明确最大亏损边界,兼顾尾部
指数增强策略 跟踪误差 + 信息比率 控制偏离度,追求超额效率
对冲基金/绝对收益 CVaR + 最大回撤 极端行情下的生存能力
个人投资者 下行风险 + 最大回撤 简单直观,符合心理感受

我的建议:别只盯一个指标。我每个组合至少看三个:波动率(整体感觉)、CVaR(尾部风险)、最大回撤(历史最差情况)。三个指标交叉验证,基本能覆盖大部分风险场景。

最后说一句:指标是工具,不是真理。再好的指标,也替代不了对底层资产的理解。你想想看,2008年之前,多少机构用VaR模型觉得万无一失,结果呢?

嗯,风险度量这件事,永远保持敬畏。