Altman Z-Score 实战指南4 个财务数字如何算出企业的隐含信用评级【免费下载链接】python-trainingPython training for business analysts and traders项目地址: https://gitcode.com/gh_mirrors/py/python-trainingAltman Z-Score 用资产负债表、利润表和市值上的 4 个数字就能把一家公司的信用风险折算成一个可比的评级刻度。这篇指南带你走完拉财报 → 算四个比率 → 加权得 Z 值 → 映射 AAA 到 D的完整链路跑完后你可以对任意一家上市公司复现同样的分析。30 秒上手这套分析到底产出什么先把结论摆出来一份约 12 行的 Python 脚本输入一个 ticker输出两样东西——一个 Z 值比如4.343数值越低离违约越近一个常规信用刻度上的隐含评级比如AA银行和交易台可以直接拿它对标风险敞口。仓库 python-training 里有一份完整可运行的示例 notebooks/8_altman_z_double_prime.ipynb用 pyEX 客户端从 IEX 接口拉取三张财务报表加关键行情逐行演示了全部计算过程。本地跑起来git clone https://gitcode.com/gh_mirrors/py/python-training打开该 notebook 后把示例里内置的 api_token 换成你自己的数据接口凭据仓库中的 token 仅作演示以官方数据源为准依赖环境见 binder/requirements.txt。先看清四个分量的含义再动笔算 ⚖️Z-Score 出自 Edward Altman 1968 年提出的多元判别分析在违约组和正常组两批企业里找出最能区分两者的财务变量组合再赋予权重。它不猜股价、不靠感觉只用报表上现成的数字。四个分量各盯一个风险维度x1 营运资本 / 总资产家底扣掉短期欠账后还剩多少衡量短期流动性权重 6.56x2 留存收益 / 总资产历史上是攒钱还是烧钱衡量抗风险的家底权重 3.26x3 EBIT / 总资产每块资产一年能生多少税前经营利润权重 6.72x4 权益市值 / 总负债市场给股东的定价相对总欠账的倍数隐含对偿债能力的信心权重 1.05。为什么 x1、x3 权重最高经营赚钱能力和短期流动性是破产最直接的两个前兆。x4 权重看似最低但分母是总负债杠杆越高波动越大实际影响不小。代入 7 个报表数字手算一遍验证流程用一组虚构数据过一遍计算路径单位元报表项目金额来自currentAssets 流动资产8 亿资产负债表totalCurrentLiabilities 流动负债3.2 亿资产负债表totalAssets 总资产20 亿资产负债表retainedEarnings 留存收益-1 亿资产负债表totalLiabilities 总负债6 亿资产负债表ebit 息税前利润0.6 亿利润表marketcap 总市值15.6 亿行情数据四个分量依次是x1 (8 - 3.2) / 20 0.24x2 -1 / 20 -0.05注意是负的这家公司历史上累计亏损x3 0.6 / 20 0.03x4 15.6 / 6 2.60加权求和Z 6.56×0.24 3.26×(-0.05) 6.72×0.03 1.05×2.60 1.5744 - 0.163 0.2016 2.73 4.343单项难看整体未必危险——x2 为负拉低了分数但 x4 贡献了大头把整体撑回健康区间反过来也成立。记住 4.343 这个数下一节把它翻译成品级。核心代码12 行算出 Z 值import pyEX as p c p.Client(api_token你的token, versionv1) # 替换为自己的凭据 def z_dp(ticker): bal c.balanceSheetDF(ticker) # 资产负债表按报告期排列 inc c.incomeStatementDF(ticker) # 利润表 mc c.keyStats(ticker)[marketcap] # 当前总市值实时行情 ta bal[totalAssets][0] # [0] 取最新一期 x1 (bal[currentAssets][0] - bal[totalCurrentLiabilities][0]) / ta x2 bal[retainedEarnings][0] / ta x3 inc[ebit][0] / ta # 分子在利润表、分母在资产负债表跨表组合 x4 mc / bal[totalLiabilities][0] return 6.56*x1 3.26*x2 6.72*x3 1.05*x4两个容易忽略的细节x3 是跨表组合别指望一张表里找齐分子分母x4 分子用市价而不是账面所有者权益这正是 ZDouble Prime专为上市公司信用风险校准与 1968 年原始版本的关键区别之一。从 Z 值到 AAA-D 的评级刻度加 3.25 再查表 原始 Z 模型只有三个粗分界大于 2.6 算健康、1.1~2.6 是灰色地带、小于 1.1 高危不同资料口径略有出入。现代用法更进一步直接映射到常规信用刻度分两步Z 值整体3.25平移——Z 的数值域偏小评级刻度偏大先对齐量程在阈值表里找严格小于调整后 Z 值的最大阈值取其对应评级。def implied_rating(z): adj z 3.25 # 量程平移 z_map [8.15, 7.6, 7.3, 7.0, 6.85, 6.65, 6.4, 6.25, 5.85, 5.65, 5.25, 4.95, 4.75, 4.5, 4.15, 3.75, 3.2, 2.5, 1.75] grades [AAA,AA,AA,AA-,A,A,A-,BBB,BBB,BBB-, BB,BB,BB-,B,B,B-,CCC,CCC,CCC-,D] # searchsorted 找最大阈值下标等价于查表低于最小阈值时兜底返回 D import numpy as np i min(np.searchsorted(z_map, adj, sideright), len(z_map) - 1) return grades[min(i, len(grades) - 1)]验证一下开头案例4.343 3.25 7.593落在 7.3 与 7.6 之间查表得AA。主要档位速查调整后 ZZ 3.25隐含评级≥ 8.15AAA7.6 ~ 8.15AA7.3 ~ 7.6AA5.85 ~ 6.4BBB 档4.5 ~ 5.25B 档1.75 ~ 2.5CCC 档 1.75D违约区上面用了searchsorted写法天然规避了取不到值就报错的边界问题notebooks/8_altman_z_double_prime.ipynb 里的版本则用np.array(z_map)[np.array(z_map) adj].max()实现同样的查表逻辑可以对照着看。五个最容易翻车的坑 ⚠️Z-Score 是一面有特定角度的镜子换个角度照就会歪坑表现应对样本偏向制造业模型用美国上市公司违约/正常两组数据训练科技、金融、公用事业结构差异大同一 Z 值含义不同同行业内比较别跨行业比绝对值财务数据滞后用的是最近一期财报市场变化要等季报才反映配合最新市值滚动重算 x4观察多期趋势极端值越界调整后 Z 低于 1.75 时max()类查表会取不到值报错totalLiabilities 为 0 时 x4 直接除零显式兜底返回 D分母为 0 的标的直接跳过会计口径差异EBIT 有的数据源叫ebit有的叫operatingIncome口径不同 x3 差一截固定一个数据源全程别混用单点判断一次 Z 值说明不了趋势拉近 5~8 个季度看方向斜率比点位重要另外务必分清版本本文全程用的是ZDouble Prime系数 6.56 / 3.26 / 6.72 / 1.05 是上市公司校准版1968 年原始 Z 模型的分母组合和系数与此不同引用文献时别混用。跑通之后批量扫描、看趋势、设预警 单公司流程跑顺后按这个顺序小步扩展批量扫描把z_dp套到一组同行业 ticker 上输出 (ticker, x1~x4, Z, 隐含评级) 表格先看横截面分布加时间维度取 4~8 个历史报告期重算 Z画趋势线并叠加评级阈值参考线交叉验证用历史违约事件回测分界点别直接照搬 2.99 / 1.81 这类流行阈值以自己样本上的表现为准扩到组合层面对持仓定期刷新 Z 值把隐含评级下滑一档设成预警条件。Z-Score 的价值不在那个分数本身而在于它强迫你系统地过一遍流动性、积累、盈利和杠杆四个维度。把这条最小链路跑顺之后换权重、加变量都只是在这个骨架上扩展的事。【免费下载链接】python-trainingPython training for business analysts and traders项目地址: https://gitcode.com/gh_mirrors/py/python-training创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
ETCHR-FLUX.2-klein-9B未来展望:视觉推理助手在多模态AI中的发展前景 ETCHR-FLUX.2-klein-9B未来展望:视觉推理助手在多模态AI中的发展前景
ETCHR-FLUX.2-klein-9B是一款创新的问题条件化、推理感知的图像编辑器,旨在作为多模态大型语言模型的解耦视觉推理助手。通过将专业图像编辑器与下游理解模型解耦,ETCHR弥… · 2026/11/3 1:37:15
阿里云Wan2.2视频生成模型深度解析:ComfyUI落地实践与行业影响 阿里云Wan2.2视频生成模型深度解析:ComfyUI落地实践与行业影响
导语
阿里云通义万相团队推出的Wan2.2视频生成模型,通过创新的MoE架构和多模态交互能力,将AI视频创作推向分钟级长视频生成新阶段,在ComfyUI生态中已形成完整工作流支… · 2026/11/3 1:37:15
300亿参数免费用!Step-Video-TI2V图生视频模型重构创作流程 300亿参数免费用!Step-Video-TI2V图生视频模型重构创作流程
导语:阶跃星辰开源30B参数图生视频模型Step-Video-TI2V,支持102帧长视频生成与运动幅度精准控制,在VBench-I2V测试中刷新SOTA指标,已适配华为昇腾平台实现高… · 2026/11/3 1:37:15
CTF敏感信息搜集:从基础到实战的完整指南 1. CTF敏感信息搜集的核心价值在网络安全竞赛和实际渗透测试中,敏感信息搜集往往是最容易被忽视却至关重要的第一步。我参加过的三十多场CTF比赛中,至少有40%的Web类赛题可以通过系统的信息搜集直接拿到flag或突破点。不同于爆破和注入这些"硬技术&… · 2026/11/3 3:09:31
ABAQUS蠕变分析两步法:静态加载与VISCO步设置及排错 简介:《ABAQUS蠕变问题计算流程》面向从事有限元仿真、材料长期变形与寿命评估的工程师及学习者,聚焦高温、高应力环境下塑料、金属合金等材料的蠕变数值模拟问题,属于偏入门到进阶的流程型文档。压缩包内含1个doc文档,约198KB&am… · 2026/11/3 3:09:31
叉车型AGV电气安全:车架隔离与故障可预测设计 简介:这份PDF讲义围绕叉车型AGV的EN 1175-1:1998A1:2010电气安全要求展开,面向AGV电气设计、安全评估、检测认证及设备维护人员,帮助读者把标准条款落实到整车电气架构与合规检查中。内容从适用范围与一般要求切入,逐项讲解防止直… · 2026/11/3 3:09:31
不变学习中的环境标签失效问题与解决方案 1. 项目概述:当不变学习遭遇环境标签失效在机器学习领域,不变学习(Invariant Learning)一直是提升模型泛化能力的重要方法。其核心假设是:存在某些跨环境不变的预测规律,而模型应该学习这些不变性而非虚假相… · 2026/11/3 3:09:31
SSE协议性能测试工具开发与实战指南 1. 项目概述:当性能测试遇上AI流式输出去年在给某金融客户做压力测试时,我们团队遇到了一个棘手问题——他们的AI客服系统采用SSE(Server-Sent Events)协议推送实时响应,而市面上主流测试工具对这类长连接流式输出的支… · 2026/11/3 3:09:31
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18