如何将SEC.Gov Edgar API数据整理为利润表与资产负债表
解决US-GAAP XBRL标签自动归类到财务报表的方案
1. 解析FASB官方Taxonomy的presentation.xml
FASB的US-GAAP分类标准包(比如us-gaap-2024.zip)里,presentation.xml是核心文件——它直接定义了每个US-GAAP标签对应的报表分组和层级关系:
- 其中
roleRef元素对应具体报表,比如http://fasb.org/us-gaap/role/statement/IncomeStatement就是利润表的标识;presentationArc会把单个标签(比如RevenueFromContractWithCustomerExcludingAssessedTax)关联到对应的报表角色下。 - 用Python的
lxml或者xml.etree模块解析这个XML,提取标签和报表角色的对应关系,就能自动把扁平数据归类到对应报表里。
2. 从SEC EDGAR实例文档中提取映射
每个公司提交的XBRL实例文档(即你从SEC下载的10-Q/10-K中的XBRL文件),本身会包含linkbaseRef指向该公司使用的presentation linkbase:
- 直接解析这个linkbase,就能拿到该公司实际使用的报表结构,完美适配不同公司可能存在的标签差异,不用操心通用映射的兼容性问题。
3. 借助开源XBRL库的内置功能
很多Python XBRL工具已经内置了US-GAAP标签到报表的映射逻辑,比如arelle(有Python封装)或者xbrl库:
- 加载US-GAAP taxonomy后,直接调用库的API就能查询某个标签属于利润表、资产负债表还是其他报表,省得自己写一套解析逻辑。
4. 使用XBRL US的标准化映射数据集
XBRL US发布了US-GAAP标签的分类数据集,比如标签映射表格,里面明确标注了每个US-GAAP标签对应的报表归属、层级。下载这个表格导入到你的脚本里,直接做匹配即可,不用从零梳理规则。
内容的提问来源于stack exchange,提问作者Stan Suen
相关产品推荐
相关产品推荐

