内容
# 风险分析MCP服务器
**一款为AI代理提供量化风险工具的MCP服务器。**
任何MCP客户端(Claude Code、Claude Desktop或您自己的代理)都可以使用由两个实际引擎支持的七种工具—— [市场风险引擎](https://github.com/chenxi-bot21/market-risk-engine) 和 [信用风险模型](https://github.com/chenxi-bot21/credit-risk-model):
| 工具 | 功能 |
|---|---|
| `计算VaR和ES` | 投资组合VaR和预期损失的四种方法——历史法、参数正态法、Cornish-Fisher法、蒙特卡罗法——以便代理可以比较方法,而不仅仅得到一个数字。 |
| `GARCH波动率` | GARCH(1,1)通过最大似然法拟合(无需`arch`依赖)+ 均值回复的h天波动率预测。 |
| `回测VaR` | 使用Kupiec POF、Christoffersen独立性/条件覆盖测试和巴塞尔交通灯区的Walk-forward VaR回测。 |
| `压力测试` | 预设危机冲击库(GFC股票崩盘、2020年疫情、+200bp利率、质量飞跃、美元挤压)+ 投资组合自身的历史最差窗口。 |
| `evt尾部风险` | 超过阈值的GPD尾部拟合;99.5%+区域的EVT VaR/ES,其中经验分位数数据不足。 |
| `信用申请评分` | 12个月违约概率、评分卡分数和信用评级,来自WoE逻辑回归评分卡(PDO分数缩放)。 |
| `信用模型汇总` | 评分卡的保留AUROC/Gini/KS和每个特征的信息值。 |
每个市场工具都可以在**没有任何数据**的情况下使用——省略回报,它将在种子化的4资产合成演示书(股票/债券/黄金/外汇,约5个交易年)上运行,因此代理可以完全离线地探索工具。传递您自己的每日回报(分数,`0.01` = 1%)以分析真实投资组合。VaR/ES以每日损失分数的正值报告。
信用评分卡在每个进程上对引擎的种子化合成12k贷款簿进行一次训练并缓存;方法论(单调WoE分箱、逻辑回归、分数缩放、评级)是生产模式,评分本身是演示。
## 安装和连接
```bash
pip install git+https://github.com/chenxi-bot21/risk-analytics-mcp-server.git
```
Claude Code:
```bash
claude mcp add risk -- risk-mcp
```
Claude Desktop / 任意MCP客户端(stdio传输):
```json
{
"mcpServers": {
"risk": { "command": "risk-mcp" }
}
}
```
或者无需安装,通过uv:
```json
{
"mcpServers": {
"risk": {
"command": "uvx",
"args": ["--from", "git+https://github.com/chenxi-bot21/risk-analytics-mcp-server.git", "risk-mcp"]
}
}
}
```
## 连接后示例提示
- *"这个投资组合的99% VaR是多少,包含60%股票、30%债券和10%黄金?比较方法——尾部是否肥厚?"*
- *"使用这些回报回测99%的历史VaR,并告诉我它落在哪个巴塞尔区。"* (粘贴回报)
- *"为这个申请人评分:24岁,$25k收入,$30k贷款,利率26%,债务收入比42,利用率130%,4次逾期…"*
## 架构
```
src/risk_mcp/
├── market.py # 市场风险的JSON友好包装(纯函数)
├── credit.py # 缓存的合成训练WoE评分卡 + 评分
└── server.py # FastMCP注册适配器——无逻辑
```
包装器是普通的函数,具有普通的签名,因此整个表面都经过单元测试(19个测试),无需运行服务器;一个测试通过实际MCP协议层驱动工具。
```bash
python -m unittest discover -s tests -t .
```
## 许可证
MIT。