用sec-edgar-downloader搭建企业披露监控系统:8-K业绩闪报、Form 4内幕交易跟踪实战 用sec-edgar-downloader搭建企业披露监控系统8-K业绩闪报、Form 4内幕交易跟踪实战【免费下载链接】sec-edgar-downloader Download filings from the SEC EDGAR database using Python项目地址: https://gitcode.com/gh_mirrors/se/sec-edgar-downloadersec-edgar-downloader是一款 Python 开源工具包可一键从 SEC EDGAR 数据库下载上市公司披露文件帮助你快速搭建企业披露监控系统自动抓取 8-K 业绩闪报、持续跟踪 Form 4 内幕交易无需手写任何爬取逻辑。对于量化研究员、FA财务分析师和投研团队来说手工登录 EDGAR 翻文件既慢又容易漏报。本文将带你用不到 20 行代码搭起一套可靠的披露监控流水线。为什么选 sec-edgar-downloader 做披露监控手动下载披露文件有三大痛点EDGAR 接口零散、官方公平访问Fair Access策略严格、文件命名和目录结构不统一。sec-edgar-downloader把这些脏活全部封装好了能力说明全量表单支持内置 385 种 SEC 表单类型8-K、10-K、Form 4、13F 等一网打尽双通道检索支持按股票代码Ticker或中央索引键CIK检索内置限速器默认 10 次请求/秒自动遵守 SEC 公平访问策略规避 403 错误断点式保存按公司/表单/提交号三级目录归档已下载文件自动跳过日期与数量过滤after、before、limit参数灵活圈定监控窗口其核心入口是Downloader类源码位于sec_edgar_downloader/_Downloader.py下载编排逻辑在sec_edgar_downloader/_orchestrator.py限速与请求封装在sec_edgar_downloader/_sec_gateway.py。三步完成安装与初始化pip 安装 User-Agent 声明一键安装要求 Python 3.10 及以上支持到 3.14一条命令搞定pip install -U sec-edgar-downloader初始化 Downloader按 SEC 要求程序化访问 EDGAR 必须声明公司名称 邮箱作为 User-Agent。初始化时填写即可下载地址可自定义默认为当前目录from sec_edgar_downloader import Downloader dl Downloader(MyCompany, youexample.com, ./filings)发起第一次下载# 下载 Apple 最近的 5 份 8-K 闪报 dl.get(8-K, AAPL, limit5)文件会按sec-edgar-filings/AAPL/8-K/accession_number/目录落盘每次get()返回下载份数方便断言和日志。8-K 业绩闪报按日增量监控 earnings 公告8-K 是美股重大事项闪报其中 Item 2.02经营业绩就是财报发布的法定载体。监控思路很简单每天定时拉取上一日的 8-K只处理新增文件。from datetime import date, timedelta yesterday (date.today() - timedelta(days1)).isoformat() dl.get(8-K, AAPL, afteryesterday, limit10)配合accession_numbers_to_skip参数见 CHANGELOG 5.0.3 新增把已入库的提交号集合传入即可实现幂等增量dl.get(8-K, AAPL, afteryesterday, accession_numbers_to_skipseen_ids)文件落地结构长什么样开启明细下载后每份 8-K 包含两个文件full-submission.txt完整提交记录含所有附件清单primary-document.html主文档8-K 正文 HTML目录由sec_edgar_downloader/_constants.py中的ROOT_SAVE_FOLDER_NAME等常量统一约定方便下游用 glob 批量扫描。Form 4 内幕交易跟踪捕获高管买卖一手数据Form 4 是内幕人高管、董事、10% 股东持股变动的法定披露表要求在交易后 2 个工作日内提交。跟踪示例# 下载 Apple 最近 90 天内所有 Form 4 dl.get(4, AAPL, after2026-05-25, download_detailsTrue)download_detailsTrue会额外抓取结构化 XML 主文档如测试样例tests/test_data/sample_filings/aapl-4-20201013.xml这类格式可直接解析出交易数量、价格、日期和内幕人身份接入你的信号引擎。监控实战把 5 个高级参数玩明白参数作用监控场景用法after/before圈定披露日期窗口YYYY-MM-DD每日增量扫描、财报季回溯limit最多下载份数只取最新 1 份做实时预警include_amends是否包含修订件如 8-K/A跟踪业绩更正公告download_details是否下载可读主文档需要解析 HTML/XML 时开启accession_numbers_to_skip跳过指定提交号增量监控去重多标的批量监控也只需两层循环watchlist [AAPL, MSFT, 0000102909] # 支持 Ticker 与 CIK 混用 for symbol in watchlist: dl.get(8-K, symbol, afteryesterday) dl.get(4, symbol, afteryesterday)CIK 会自动补零到 10 位如789019等价于0000789019Ticker 大小写也不敏感容错逻辑在sec_edgar_downloader/_utils.py中实现。限速与容错为什么它不容易被 SEC 封门自建爬虫最常见的翻车点就是触发 403。该包的应对写在sec_edgar_downloader/_sec_gateway.py全局限速基于 pyrate-limiter 的全局 10 次/秒令牌桶超限时阻塞等待而非报错标准请求头自动携带gzip压缩与规范的User-Agent、Host头完全对齐 SEC 公平访问指南失败容错单份文件下载异常只打印警告并继续不会中断整批任务见sec_edgar_downloader/_orchestrator.py的fetch_and_save_filings。测试保障方面tests/目录包含单元与端到端集成测试可用tox -e integration验证真实下载链路。常见问题速答QTicker 查不到怎么办直接用 10 位 CIK 检索二者在get()中完全等价。Q能下载多久以前的文件默认支持 1994-01-01 至今SEC EDGAR 的最早可检索日期after早于该日期会被自动截断。Q支持哪些表单全部 385 种清单维护在sec_edgar_downloader/_constants.py的SUPPORTED_FORMS也可通过dl.supported_forms动态获取。小结sec-edgar-downloader把 EDGAR 检索、限速合规、文件归档这些易错环节全部内建让你只需专注业务逻辑用 8-K 的after窗口做业绩闪报预警用 Form 4 明细做内幕交易信号一套 cron 任务就能撑起一个轻量级企业披露监控系统。更多用法示例可参考仓库根目录的 README.rst版本演进细节见 CHANGELOG.md。【免费下载链接】sec-edgar-downloader Download filings from the SEC EDGAR database using Python项目地址: https://gitcode.com/gh_mirrors/se/sec-edgar-downloader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考