A股VaR风险价值/条件VaR分析
数据源
SCRIPTS="$SKILLS_ROOT/cn-stock-data/scripts"
python "$SCRIPTS/cn_stock_data.py" kline --code [CODE] --freq daily --start [日期]
python "$SCRIPTS/cn_stock_data.py" quote --code [CODE]
python "$SCRIPTS/cn_stock_data.py" finance --code [CODE]
Workflow
Step 1: 获取收益率序列
Step 2: 计算VaR
- 历史模拟法:收益率排序取分位数
- 参数法:假设正态分布,VaR = μ - z_α × σ
- Monte Carlo模拟:模拟10000条路径
Step 3: 计算CVaR(ES)
CVaR = E[Loss | Loss > VaR],尾部平均损失
Step 4: 压力测试
用历史极端情景(2008/2015/2020)测算极端VaR
Step 5: 输出
| 维度 | formal | brief |
|---|---|---|
| VaR | 多方法对比+置信度 | 95%VaR |
| CVaR | 尾部风险分析 | CVaR值 |
| 压力测试 | 历史情景分析 | 无 |
| 默认风格:brief。 |
关键规则
- VaR 只回答正常情况下的最大损失——尾部风险需用CVaR
- 历史模拟法最直观但依赖历史数据充分性
- 参数法假设正态分布——A股收益率尖峰肥尾,会低估风险
- 持有期不同VaR差异巨大——日VaR × √T ≈ T日VaR(近似)
- 回测VaR:实际突破次数应接近理论水平
使用示例
示例 1: 基本使用
# 调用 skill
result = run_skill({
"param1": "value1",
"param2": "value2"
})
示例 2: 命令行使用
python scripts/run_skill.py --input data.json