跳转至

cninfo 适配器

路径:src/cnequity/adapters/cninfo/

巨潮资讯(CNINFO)公告与监管数据。


文件

文件 数据集
announcements.py announcement_index
__init__.py 导出

announcement_index

  • 公告元数据:标题、类型、announce_datereport_period
  • PIT 数据集:load(..., as_of=) 按公告日过滤
  • 正文:announcement_body on-demand 尚未实现(勿写入默认 [on_demand].datasets

分页:100 页硬顶与分桶

hisAnnouncement/query 单次查询最多返回 100 页 / 3000 条pageNum>100 会静默重放第 1 页,而 totalpages 仍按真实条数上报(实测 2026-08-28:6537 条、 totalpages=217、第 101 页 == 第 1 页)。中报/年报密集日必然触顶。

适配器的处理是换一个能把当天真正切开的过滤条件,并且只有当各桶去重后的 公告数精确等于源自己给出的 totalRecordNum 时才认为这一天读完了:

顺序 参数 取值 说明
1 plate sz / sh / bj 市场,实测各日精确求和
2 plate szmb/szzx/szcyshmb/shkcp 市场自身仍超顶时再切板块
3 trade CSRC 行业门类 19 类 实测精确求和
4 category 26 个公告类别 兜底:一条公告可属多类,也可能一类都不属

对不上就换下一个轴;全部轴都无法自证覆盖时整天失败,不会写入"读到多少算多少"。

column 不在其中:该参数选的是站点栏目而非市场,szse/sse/bj 返回完全 相同的全市场结果,所以每天只走一遍。


regulatory_events

不在本适配器里:该端点没有服务端过滤,"行政处罚/立案/监管函"只能按标题 关键词筛。以前它用与 announcement_index 完全相同的请求再抓一遍全天公告 (实测 2026-01-01:46 页、1375 条,只留下 6 条),密集日就是 220 页重来一遍, 而且两次抓取相隔一小时,同一天可能出现两个数据集互相矛盾。

现在它是 announcement_index 的投影,见 derive/regulatory_events.py


配置

[sources.cninfo]
enabled = true
min_interval_seconds = 1.0

相关文档