EDGAR提取10-Q报告:自动识别正确文件及frame字段数据丢失问题咨询
解决EDGAR 10-Q提取的两个核心问题
一、自动识别正确的10-Q文件
针对EDGAR上的重复/相似文件,可通过以下规则自动筛选:
- 按提交时间排序,取最新版本:同一公司同一报告期的文件,优先选择
filing date最晚的。注意修正版文件(带/A后缀的form type)可能是更新后的正确版本,需结合提交时间判断,而非直接排除修正版。 - 过滤非主文件:通过EDGAR元数据的
document type字段,只保留主10-Q文档(通常标识为"10-Q"),排除附件、补充说明、封面页等附属文件。 - 校验报告期一致性:对比文件中的
period of report字段,同一报告期的重复文件,优先选择包含完整XBRL数据集的文件(可通过文件大小或是否包含ix:nonNumeric/ix:numeric节点判断)。 - 剔除撤回文件:检查元数据中的状态标识,过滤掉标注为"Withdrawn"的无效文件。
二、解决'CY'字段导致的数据丢失问题
EDGAR的XBRL frame标识并非统一用'CY',需结合字段类型和公司财年规则调整:
- 区分日历年度与财年度:很多公司(如AAPL)采用非日历财年,此时资产等时点数据的frame会用
FY(财年)标识,比如AAPL 2022-09-24对应的是FY2022Q4,而非'CY'。 - 匹配字段对应的frame类型:
- 季度损益类数据(如GrossProfit):优先匹配
CYYYYYQn或FYYYYYQn格式的frame(如MSFT的Q3毛利对应CY2024Q3),而非仅用'CY'。 - 时点类资产负债数据:匹配对应报告期末的frame,可能是
CYYYYY(年末)、CYYYYYQn(季末)或FYYYYYQn(财季末)。
- 季度损益类数据(如GrossProfit):优先匹配
- 不要依赖单一frame标识:直接解析XBRL的
context节点,提取其中的period信息(包括起始/结束日期),精准匹配你需要的时间点,而非仅通过item['frame']过滤。 - 增加fallback逻辑:当目标frame不存在时,遍历所有可用frame,提取与目标报告期最匹配的数值,避免直接丢失数据。
内容的提问来源于stack exchange,提问作者faipince
相关产品推荐
相关产品推荐

