Forward-Risk 是一个前瞻性风险分析技能,用于估算投资组合未来可能出现的损失。它围绕在险价值(VaR)、预期损失(CVaR/Expected Shortfall)、蒙特卡洛模拟和压力测试等核心方法展开,适合需要量化未来潜在损失的场景。
用途 该技能用于回答与在险价值、CVaR、蒙特卡洛模拟、压力测试相关的问题,帮助用户估算投资组合在未来一段时间内可能遭受的损失。
主要能力
- 参数化(方差-协方差)VaR:假设收益服从正态分布,支持单资产与多资产组合。单资产公式为 VaR = W * z_alpha * sigma_p,多资产组合为 VaR_p = W * z_alpha * sqrt(w' * Sigma * w)。支持将 1 日 VaR 按平方根时间法则转换为 h 日 VaR。
- 蒙特卡洛 VaR:通过模拟大量组合收益情景(如 10,000 次以上),取损失分布的 alpha 分位数。可处理非正态分布、厚尾、路径依赖工具和非线性收益(如期权)。步骤包括估计收益分布参数、生成随机情景、计算组合收益、排序并识别分位数损失。
- 条件 VaR(CVaR)/预期损失:回答“在损失超过 VaR 的情况下,预期损失是多少”。正态分布下公式为 ES_alpha = mu + sigma * phi(z_alpha) / (1 - alpha)。CVaR 是一致性风险度量,满足次可加性。
- 成分 VaR:将组合总 VaR 分解为各头寸的贡献,成分 VaR 之和等于总 VaR。公式为 CVaR_i = w_i * beta_i * VaR_p。
- 边际 VaR:衡量组合 VaR 对某头寸权重微小变化的敏感度,公式为 MVaR_i = z_alpha * (Sigma * w)_i / sigma_p,可用于头寸规模调整。
- 情景分析:将特定历史或假设市场变动应用于当前组合,估算损益影响。历史情景如 2008 年金融危机、2020 年新冠暴跌、2022 年加息周期;假设情景可自定义冲击。
- 压力测试:评估组合在极端但合理条件下的韧性,常见情景包括股票崩盘、利率冲击、信用危机、流动性冻结、货币冲击、滞胀等,并考虑追加保证金、流动性需求、相关性飙升、交易对手风险等二阶效应。
- 基于因子的风险分解:将总风险分解为系统性因子风险和特异性风险,公式为 sigma^2_p = b' * Sigma_f * b + sum(w_i^2 * sigma^2_epsilon_i)。常见因子模型包括 Fama-French、Barra、基于 PCA 的统计因子。
使用方式 该技能附带 Python 脚本 scripts/forward_risk.py,可通过以下命令运行: uv run scripts/forward_risk.py # 运行演示(使用 PEP 723 内联依赖) uv run scripts/forward_risk.py --verify # 对照示例检查演示输出(不匹配时退出码为 1) python3 scripts/forward_risk.py # 替代方式(需要:pip install numpy scipy) 演示会打印上述计算内容,其数值与技能中的示例一致。运行 --help 可查看类和函数列表。若用于编程,请导入模块而非直接运行——演示仅在 python forward_risk.py 时执行。
适用场景 适用于投资组合风险管理、风险度量教学、压力测试设计、风险归因分析等场景,尤其适合需要前瞻性估算未来损失的用户。
限制 资料中未提供该技能的具体收费、价格、平台支持范围或效果保证等信息。参数化 VaR 假设正态分布,可能低估厚尾风险;平方根时间法则假设收益独立同分布,在存在序列相关或波动率聚集时可能不准确;危机期间相关性可能趋近于 1,需使用危机期相关性进行压力测试。