信用风险建模
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_053d27d0/credit-risk-zx。
技能介绍
要解决什么问题
信用组合与单户评估往往散落在 Excel、零散脚本和不同数据源里:你要对齐财报口径、估计违约距离、再看组合层面的尾部损失,中间任何一步假设不一致,结论就很难复现。本技能把 A 股上市公司 场景下从取数到报告的一条链路收进同一套 Python 模块,方便做相对风险排序、组合压力分析和可交付的可视化输出。
技能如何工作
数据层通过 data.py 调用 akshare 拉取资产负债表、利润表与行情,为后续模型提供统一输入。核心建模包括:
- KMV-Merton(
kmv_model.py):在结构化违约框架下用 Black-Scholes 与牛顿/ Brent 迭代反推资产价值与 EDF(违约概率) - Copula(
copula.py):用 Gaussian / t / Clayton 刻画违约依赖,配合 Kendall's tau 与 MLE 估计相关结构 - 信用风险度量(
var.py):Credit VaR、预期损失 EL / 非预期损失 UL、经济资本,支持解析近似与蒙特卡洛 - 信用评分(
scoring.py):Altman Z-Score 五因子及综合评分变体 - 报告(
report.py):matplotlib图表并以 base64 嵌入 HTML,输出 CSV 与credit_risk_report_*.html
典型流程是:选定股票代码 → 跑 KMV / 评分 → 多主体时做 Copula 与组合 portfolio_credit_assessment()(可自定义 EAD、LGD)→ 生成风险贡献与 VaR 结果文件。
适用边界与注意点
- 标的范围:仅 A 股(6 位代码),不支持港股、美股与债券;akshare 版本与网络会影响数据完整性。
- KMV 假设:Merton 到期违约、几何布朗运动;股权价值极低、波动率极端或违约点异常时可能
converged=False,EDF 更适合排序而非绝对违约预测。 - Copula:Clayton 仅双变量;多元 t-Copula 的 CDF 用蒙特卡洛近似;公司数建议 3~10 家做相关估计。
- VaR:非完整 CreditMetrics;随机场景固定
random_state=42以保证可复现。 - Z-Score:系数来自美国制造业历史样本,对 A 股非制造业的 X5(营收/总资产)可能失真,可切换非制造业或综合评分。无风险利率默认中国 1 年期国债,失败时用 2.5%;波动率取近 252 个交易日对数收益年化标准差。
使用场景
- 风控团队要对多只 A 股持仓跑 KMV,输出 EDF 并比较相对违约距离
- 信用分析岗需用 akshare 拉财报与行情,批量算 Altman Z-Score 做初筛
- 组合经理要估计多主体违约相关性,用 Gaussian/t Copula 后再算 Credit VaR
- 投研或内控要把 KMV、评分与 VaR 结果写成带图表的 HTML 报告交付
适合人员
- 银行或资管信用风险岗,需把结构化模型结果落到可复现的 CSV 与报告
- 量化研究员做 A 股信用主题,要在同一脚本里串联取数、KMV 与蒙特卡洛 VaR
- 企业财务或投后团队跟踪上市对手方,用 Z-Score 与 KMV 做定期健康度对比
- 金融科技工程师为内评系统做原型,需可调 EAD/LGD 的组合信用评估接口