核心要点。HKEXnews 是港交所主板与 GEM 约 2,600 家上市公司的官方披露门户。所有监管公告 —— 业绩、盈警、关联交易、主要股东权益变动、股份回购、停牌通知 —— 都必须在向市场分发前先在此发布。港交所网站提供基础公告检索,但没有面向第三方的全量公开 API。对于跑 A/H 跨境监控的合规团队、追踪两地上市公司的港股研究台、需要自建披露监控的 SFC 持牌资管,你需要把公告拉成结构化数据。本文讲清楚 HKEXnews 数据结构、关键披露类型,以及基于 港交所公告 Actor 的 Python 实战代码。
English version: HKEX Listed Company Announcements API
港交所披露机制怎么运作
港交所的持续披露义务源自主板上市规则(主要是第 13 章与第 17 章)以及对应的 GEM 规则。上市公司必须在 HKEXnews 上发布”内幕消息” —— 任何理性投资者会认为对股价有重大影响的信息 —— 之后才能通过其他渠道分发。门户全天候接受文件提交;对交易敏感的公告通常出现在港股开盘前(早 9:30 HKT 前)或收盘后(下午 4 点后)。
每条公告包含:
- 股票代码 —— 港交所四位代码(00700 = 腾讯,00005 = 汇丰)
- 标题分类 —— 港交所结构化分类(“公告及通告”、”通函”、”上市文件”、”月报表”、”翌日披露报表”等)
- 文件类型代码 —— 分类内细分,如”盈利警告”、”关联交易”、”暂停买卖”
- 发布时间 —— 港股时间
- PDF 链接 —— 实际文件
HKEXnews 检索接口在 https://www1.hkexnews.hk/search/titlesearch.xhtml,支持按股票代码、日期、分类、文件类型筛选 —— 背后是返回分页 JSON 的 XHR 接口。接口公开稳定,但未官方开放给第三方使用。
对监控有价值的披露类型
- 盈利警告 / 盈利预喜 —— 重大业绩偏离的”预公告”。几乎必然在次日开盘引发股价异动。
- 关联交易公告 —— 主板规则第 14A 章。港股关联方交易披露门槛远低于美股 8-K Item 1.01,公告量占比相当可观。
- 主要股东权益变动 —— 依据证券及期货条例第 XV 部的权益披露。
- 暂停买卖 / 复牌 —— 常常是重大公告的前置信号;停牌本身就是事件。
- 股份回购月报表 —— 依据回购守则,公司须按月披露回购活动。
- 内幕消息公告 —— SFO 第 307 条下不归入结构化类别的”兜底”披露。
为什么跨境监控是头号场景
用程序化方式拉港交所公告,最大动机就是 A/H 两地上市监控。约 150 家中国内地公司同时在 A股与 H股挂牌 —— 中国银行、中国平安、工商银行、比亚迪、绝大多数大型央企。重大公告必须在两地同步披露,但时间不总是完全对齐,A/H 溢价(通常通过恒生 AH 溢价指数追踪)是亚洲股票最受关注的跨境指标之一。
对运行两地上市策略的研究台,把港交所公告与东方财富 A股数据并行拉取,可以把 HKEXnews 从静态门户升级为实时信息优势源。
Python 实战代码
港交所公告 Actor 封装了 HKEXnews 检索接口,包含股票代码解析、分类规范化、PDF 链接提取。curl 示例:
curl -X POST "https://api.apify.com/v2/acts/nexgendata~hkex-news-announcements/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"stockCodes": ["00700","00005","09988"], "since": "2026-05-01", "categories": ["PROFIT_WARNING","INSIDE_INFORMATION"]}'
Python —— A/H 两地上市监控:
import os, json, urllib.request
APIFY_TOKEN = os.environ["APIFY_TOKEN"]
ACTOR = "nexgendata~hkex-news-announcements"
ah_dual = ["00939","01398","02628","00386","00857","02318","02628","01088"]
payload = json.dumps({
"stockCodes": ah_dual,
"since": "2026-05-01",
"categories": ["PROFIT_WARNING","INSIDE_INFORMATION",
"CONNECTED_TRANSACTION","SHARE_BUYBACK"],
}).encode("utf-8")
url = f"https://api.apify.com/v2/acts/{ACTOR}/run-sync-get-dataset-items?token={APIFY_TOKEN}"
req = urllib.request.Request(url, data=payload, method="POST",
headers={"Content-Type": "application/json"})
with urllib.request.urlopen(req, timeout=600) as r:
items = json.loads(r.read())
for a in items:
print(f"{a['publishedAt']} | {a['stockCode']} {a['issuerName']} | {a['category']}")
print(f" {a['headline']}")
print(f" {a['pdfUrl']}")
返回结构:
{
"stockCode": "00700",
"issuerName": "TENCENT HOLDINGS LIMITED",
"publishedAt": "2026-05-29T18:30:00+08:00",
"category": "ANNOUNCEMENTS_AND_NOTICES",
"documentType": "INSIDE_INFORMATION",
"headline": "Inside Information - Voluntary Announcement Regarding ...",
"pdfUrl": "https://www1.hkexnews.hk/listedco/listconews/sehk/2026/0529/...pdf",
"language": "en"
}
与商业数据源的对比
| 数据源 | 覆盖 | 结构化 | 年费 |
|---|---|---|---|
| Bloomberg(港股公告) | 全覆盖 + 彭博新闻 | 是 | 单席位约 16 万元 |
| Refinitiv Eikon(港股) | 全覆盖 | 是 | 单席位约 15 万元 |
| 万得 Wind 港股模块 | 全覆盖 + 估值与基本面 | 是 | 单席位约 20 万 – 50 万元 |
| AAStocks | 大部分公告 + 行情 | 部分 | 港币百元级 / 月 |
| HKEXnews 官网搜索 | 全覆盖 | 否 —— 仅 HTML + PDF | 免费、手工 |
| 港交所公告 Actor | HKEXnews 全覆盖 | 是,规范化 JSON | PPE 按条计费 |
港交所自家的 iASR(发行人年报)系统服务发行人本身的报送,不是第三方监控工具 —— “实时告诉我谁发了盈警”这种需求它不解决。对于这种用例,公开的 HKEXnews 检索接口才是正确数据源,问题只是自己写爬虫还是按调用付费。
SFC 合规场景
SFC 持牌资管运行港股多空策略时,对持仓的披露监控是持续合规义务。200 只股票的组合,人工轮询 HKEXnews 勉强可做但极易出错 —— 18:30 HKT 发布的盈警,可能要到次个交易日才被发现。按 5 分钟节奏自动轮询、按持仓清单推邮件告警,每月成本不到 50 美元的 PPE 就能补上这个缺口。
同时会用到的配套数据源:A股数据用于跨境分析、中概股用于美股三角验证。
停牌检测模式
港交所根据上市规则实施的停牌,通常先发短”暂停买卖”通知,几小时内再发实际的内幕消息公告。这 30 分钟窗口是港股研究最有价值的实时监控时段。Actor 调用频率低于 1 分钟,加上下游 webhook,就能把它变成可用的信号源,而不是事后记录。
双语披露说明
港交所要求主板发行人提交双语文件 —— 英文与繁体中文版本通常同步发布。Actor 在可得时同时返回两版 PDF 链接;以英文标题为 key 的下游 pipeline 应回退到中文版以处理英文版滞后的情况。
开始使用:在 港交所公告 Actor 页面免费拉第一批数据。支持按股票代码、分类、日期筛选。
系列相关阅读
中国/亚太系列:
English version: HKEX Listed Company Announcements API: Hong Kong Disclosure Monitoring at Scale
We cover AI agents, automation, and the tools that make them work. Our mission is to make AI accessible to everyone.