← 返回 Skill 列表
extension
分类: 数据与分析无需 API Key

上市公司股本查询-逍遥投资笔记

这个技能可以批量快速查询A股,港股,美股上市公司,从上市那年起到2025年,历年年底的总股本数。如果历史上发生过拆股,合股等操作,会自动将拆股,合股等折算到最新标准统计。另外会自动计算每年股本变化数和变化不利。本技能所有股本数据均来自于上市公司年报,权威准确,比东财等第三方接口数据准确。

person作者: user_57f2c8f6hubcommunity

股本查询 — 逍遥投资笔记

从官方原始披露文件取数,按市场分三套方法,最后统一渲染成一份可核对的 HTML 报告。

运行环境:Python 3.9+;第三方依赖只有两个 —— pip install pdfplumber pymupdf (pdfplumber 解析港交所月报表 PDF;pymupdf 用于读取扫描件/嵌入字体的旧年报)。 其余全部为标准库。下方命令里的 python3 请替换为你自己的解释器路径。

核心原则(不可违反)

  1. 只用官方一手披露:A 股年报、HKEX 月报表、SEC 20-F 封面。禁止用行情网站、财经数据商、AI 记忆里的数字。
  2. 每个数字必须能追溯到具体文件:报告里每条数据都要带「文件名 / Accession Number / 原文引用」。无法溯源的数字宁可留空并注明,也不要估算。
  3. 计算基础按市场区分(用户已确认的口径):
    • A 股 / 港股 → 以「总股本(股)」为基础算变化与比例。
    • 美股中概 → 一律以「ADS 份数」为基础,不用普通股。 原因:ADS 序列在拆股时连续;普通股序列会被拆细打断(阿里巴巴 2019-07-30 的 1 拆 8, 普通股同比 +730.75%,ADS 同比只有 +3.84%)。
  4. A 股的「送股 / 转增股本」必须按拆股处理,还原到最新标准后再算同比(用户 2026-09-11 确认)。 送股(未分配利润转增)与转增股本(资本公积转增)都只是把每股拆成更多股,净资产不变、不是真实增资, 性质与港股拆股完全相同。若不还原,转增当年会出现失真的巨额增幅 (例:招商积余 2011 年 10 转 5 显示 +50%、2012 年 10 转 10 显示 +100%,还原后均为 0.00%)。 做法与美股统一 ADS 口径一致:
    统一股本_t = 年报原始股本_t ×(t 年之后累计的送转倍数)
    比例      = (统一股本_t − 统一股本_{t−1}) / 统一股本_{t−1} × 100%
    
    实现:数据行加 raw_shares(年报原值)+ split_factor(折算系数),shares 填统一口径值。 渲染器检测到 raw_shares 会自动多出「披露原始股数 / 折算系数」两列 + 表头「统一口径」小字 + 蓝色口径说明。 累计变化框(首年→2025)的基准也必须是统一口径值。
  5. 首年(序列第一年)无上年数据 → 变化与比例显示「—」,绝不填 0。
  6. 拆股 / 并股 / 送转 / 大额定增年份必须加备注,否则同比数字会严重误导。 备注里要写清「这是真实增资还是送转(拆股性质)」,并给出还原口径下的增量。
  7. 财年非 12/31 的公司(如阿里巴巴财年截止 3/31)必须在表中写明统计时点,并与自然年末口径的公司区分说明。

公式

股本变化 = 本年末总股本 − 上年末总股本
比例     = (本年末总股本 − 上年末总股本) / 上年末总股本 × 100%   (保留 2 位小数)

附加指标(用户 2026-09-11 确认,每份报告都必须有)

每家公司的卡片顶部黄色信息框内,必须在「ADS 兑换比例 / 统一折算基准」之后追加一行 「上市首年 → 2025 年末」的股本累计变化:

(2025 年末股本 − 上市那年底股本) / 上市那年底股本 × 100%
  • 口径与表格一致:美股用统一口径 ADS(份),A 股 / 港股用总股本(股)。
  • 「上市那年底」= 序列第一行(即上市当年末)。
  • 末行取 year == 2025 的那一行;若数据里没有 2025,则退回序列最后一行。
  • 输出内容:变化金额(带 ▲/▼ 与正负号)+ 百分比(2 位小数)+ 计算式 + 基准年两端的绝对值。
  • 渲染器已内置(build_shares_report.py 的 range_stat()),数据文件无需额外字段, 只要 data[] 里既有首年也有 2025 年即可自动生成。不要手写这段 HTML。

工作流

第 0 步:确认清单

向用户确认(若未说明则按默认):公司名称 + 代码、年份区间、市场归属。默认年份区间为最近 6 个完整年度。

第 1 步:判断市场,选方法

| 市场 | 取数方法 | 统计时点 | 脚本 / 工具 | |---|---|---|---| | A 股 | 年报「股份变动及股东情况」章节 → 期末股份总数 | 12-31 | 手工/网页(见 references) | | 港股 | 次年 1 月初 HKEX「月报表 截至 12 月 31 日止月份…」→ 本月底结存「已发行股份(不包括库存股份)数目」 | 12-31 | scripts/fetch_hk_mr_index.py + scripts/parse_hk_mr.py | | 美股中概 | SEC 20-F 封面「Indicate the number of outstanding shares …」→ 普通股数 + ADS 兑换比例 | 财年末(多数为 12-31,阿里为 3-31) | scripts/fetch_20f_shares.py |

详细 URL 模板、解析正则、坑位见 references/取数方法与踩坑.md。美股路径务必先跑脚本再看参考。

第 2 步:抓数

美股(优先用脚本,最省事):

python3 \
  ~/.workbuddy/skills/gubenchaxun-xiaoyao/scripts/fetch_20f_shares.py \
  --cik 1610601 --out /tmp/momo_20f.json

输出每个财年的:as-of 日期、各类普通股数、合计、ADS 兑换比例、ADS 合计、20-F Accession Number 与主文档文件名。

⚠ 脚本只是初筛工具:ADS 兑换比例必须逐年人工核对(正文定义段常是历史值,见 references 第 11-16 条)。

已知 CIK:挚文集团/Hello Group 1610601;阿里巴巴 1577552;蔚来 NIO 1736541; 理想汽车 Li Auto 1791706;小鹏汽车 XPeng 1810997;拼多多 PDD 1737806; 网易 NTES 1110646;百度 BIDU 1329099;携程 TCOM 1269238; 腾讯音乐 TME 1744676;唯品会 VIPS 1529192;京东 JD 1549802;贝壳 BEKE 1809587。 搜狐 SOHU:1734107(2018 起,开曼主体,报 20-F);旧特拉华主体 SOHU COM INC = 1104188,2000-2017 报 10-K。

第二批(2026-09 补充):瑞幸咖啡 LKNCY 1767582;富途 FUTU 1754581;哔哩哔哩 BILI 1723690; 华住 HTHT 1483994(H World Group);百胜中国 YUMC 1673358(报 10-K,不报 20-F); BOSS直聘 BZ 1842827;满帮 YMM 1838413。

第三批(2026-09-11 补充):新氧 SY 1758530;乐信 LX 1708259;爱回收 RERE 1838957; High Templar HTT(原 趣店,代码 QD→HTT,同一 CIK)1692705;猎豹移动 CMCM 1597835; 微博 WB 1595761;小赢科技 XYF 1725033;斗鱼 DOYU 1762417;虎牙 HUYA 1728190; 迅雷 XNET 1510593;知乎 ZH 1835724;欢聚 JOYY 1530238;汽车之家 ATHM 1527636。 其他公司用 EDGAR 公司搜索页查。 必须先设置 SEC_UA 环境变量或改脚本里的默认 UA(SEC 要求带真实联系方式,否则 403)。

脚本已内置的封面措辞与比例句式(第三批实测补齐):

  • 封面:① Indicate the number of outstanding shares of each of the issuer's classes …; ② As of December 31, YYYY, there were N ordinary shares outstanding … being the sum of X Class A ordinary shares and Y Class B ordinary shares(微博); ③ 单类别 N ordinary shares / N common shares(斗鱼 / 迅雷 / 欢聚); ④ 兜底 N Shares(趣店 FY2017,只给总数,A/B 需人工到资产负债表附注取)。
  • 比例:each representing N …;N of which represent M …(新氧 13:10,比例 = M/N); every N ADSs represent M …(爱回收 3:2,比例 = M/N); every N ADSs represent one share(斗鱼,比例 = 1/N)。
  • 比例可能是非整数(新氧 10/13、爱回收 2/3),ads_div 支持小数。

⚠ N of which represent M 与 every N ADSs represent M 这类「比例型」句式要放在正向句式之前匹配, 否则会被 represent M Class A ordinary shares 抢先命中、把 M 当成「1 ADS 代表的股数」。

美股特殊情况 —— 报 10-K 不报 20-F: 美国本土(特拉华州)主体的中概股(如 2000-2017 年的 Sohu.com Inc.)报 10-K,封面没有股本数。 取数路径:10-K 资产负债表「Common Stock: $0.001 par value per share (… authorized; X shares issued and outstanding at December 31, YYYY)」。⚠ 报表单位可能是千股(搜狐 2002-2017 即是),需注明精度。 若后来迁册开曼改报 20-F(搜狐 2018 年起),两段面值相同、股数连续,可直接拼接。

港股(2026-09-11 已跑通,见 references 第 2 节):

PY=python3
VENVPY=python3                        # 需先 pip install pdfplumber
# ① 检索(逐年切窗 + 8 线程并发;必须带 Referer,已内置)
$PY ~/.workbuddy/skills/gubenchaxun-xiaoyao/scripts/fetch_hk_mr_index.py \
    --codes 00700,09992,01810 --y0 2004 --y1 2025 \
    --out mr_index.json --download ./pdf     # 生成 pdf/dl.txt
# ② 并行下载
cd pdf && cat dl.txt | xargs -P 8 -n 2 sh -c \
  'curl -s -A "Mozilla/5.0" -e "https://www1.hkexnews.hk/search/titlesearch.xhtml" -o "$1" "$0"'
# ③ 解析(三种表式自适应)
$VENVPY ~/.workbuddy/skills/gubenchaxun-xiaoyao/scripts/parse_hk_mr.py 'pdf/*.pdf' --out mr_values.json

⚠ 两个硬限制(决定要不要换来源):

  • 披露易电子归档 2007 年 4 月才开始,月报表自 2009 年 12 月末那期起才有。 上市更早的公司,早年改取年报合并财务报表「股本」附注的 At 31 December YYYY — N (公司层面已发行股份数,与月报表口径一致,已验证腾讯 2008/2009)。 早年(2004-2006 等)港交所站上也没有 → 去公司 IR 官网的 Annual Reports 分页 (腾讯:https://www.tencent.com/investors/financial-reports/page/N/,2004-2025 全量可下)。
  • H 股发行人要连非上市股一起加总(老铺黄金 06181);2024 年 6 月后月报表有「库存股」列, 取「已发行股份(不含库存股)」那个数。

⚠ 港股同样要查拆股:腾讯 00700 于 2014-05-15 每 1 股拆 5 股(面值 HK$0.0001→HK$0.00002), 2004-2013 必须 ×5 折算到拆股后标准(写法与美股 SPLITS 一致)。

A 股: 见 references 的三条取数路径(年报利润分配预案基数 / 股份变动表 / 附注「累计发行股份总数」)。

第 3 步:填数据文件

复制 assets/data_template.json,按 schema 填 companies[].data[]。 table 字段三选一:plain(A股/港股)、momo(有 Class A/B 的中概)、baba(单一普通股类别的中概)。

plain 表的拆股统一口径(2026-09-11 新增,渲染器已支持)

A 股 / 港股若在统计区间内拆股或并股,同样要折算到最新标准。给该行加两个可选字段:

| 字段 | 含义 | |---|---| | shares | 统一口径总股本(表格显示这个,变化/比例据此计算) | | raw_shares | 官方文件里的原始股数(拆股前口径) | | split_factor | 折算系数 = 该年之后累计的拆股倍数 |

只要任一行填了 raw_shares,渲染器会自动多出「披露原始股数」与「折算系数」两列 (系数 ≠1 时标红),并自动追加一段蓝色口径说明。另可用 company 级 unified_note 字段 写拆股口径的长说明;meta.calc_note / meta.tip_q / meta.tip_range 可覆盖页首三行提示文本 (全港股报告就不必显示"美股按 ADS"那句)。

已确认的港股拆股:腾讯控股 00700 2014-05-15 每 1 股拆 5 股(面值 HK$0.0001→HK$0.00002), SPLITS = {00700: {2014: 5}} → 2004-2013 全部 ×5,2014 起 ×1。

momo 现在支持三类股:class_a 必填,class_b / class_c 可选(填 0 表示封面当年未列示该类别, 渲染成「—」,且只有当任一年有值时才显示该列)。ADS 折算用 ads_div,结果**四舍五入(half-up)**存整数。

baba(单一普通股类别的美股)默认把日期渲染成 03-31(阿里巴巴财年口径)。 若公司财年就是 12-31(搜狐 / 网易 / 携程等),必须在 company 上加 "date_suffix": "12-31"。 另可用 col_a_label / col_b_label 覆盖列名(默认「Class A 普通股」/「Class B 普通股」)。 ads_div 支持小数:0.1(百度 2010-2019,10 ADS = 1 股)、0.2(唯品会)、0.5 / 0.25 / 0.125(携程)。

ADS 统一口径(强烈建议,用于做跨年增幅)

只要公司历史上改过 ADS 比例或做过普通股拆细,就必须用统一口径,否则 ADS 序列会出现 成倍断层,「真实增幅」完全失真(携程原始 ADS 2003→2025 是 +4172%,真实只有 +167%)。

统一 ADS_t = 普通股总数_t ×(t 年之后累计普通股拆股倍数 M_t)÷ 最新 ADS 比例。

  • M_t 只统计普通股拆细(Share Subdivision),ADS 自身拆分不计入 (ADS 拆分不改变普通股总数,比例变化会自动被「÷ 最新比例」吸收)。
  • 拆股当年末的披露股数已是拆分后数值 → 该年及以后 M = 1,之前年份 ×倍数。
  • 计算 M 的倒推写法:M=[1]*n; acc=1; for i in range(n-1,-1,-1): M[i]=acc; acc*=splits.get(year_i,1)

每行额外写 4 个字段,渲染器会自动使用:

| 字段 | 含义 | |---|---| | ads_unified | 统一口径 ADS(ADS 列显示这个) | | ads_raw | 年报口径 ADS(普通股 ÷ 当年比例,供「?」查看) | | ads_factor | 理论折算系数 = M_t × 当年比例 ÷ 最新比例 | | ads_tip | 「?」浮层内容(HTML),建议写「年报 ADS / 统一 ADS / 折算系数」三行 | | ads_base_ratio | 最新 ADS 比例(填在行内,渲染器取末行显示在卡片顶部) |

渲染器行为:ads_unified 存在时优先用它(缺失则回退按 ads_div 折算), 并在 ADS 数字后自动加「?」徽章;ads_factor == 1 的行用灰色 .q.quiet 样式。 meta.unified_note 可在页首输出一段口径说明。 ads_base_label(company 级,可选)用于覆盖卡片顶部「1 ADS = N 股」的显示文本, 非整数比例必须用它(如新氧填 "1 ADS = 10/13 股",否则 :g 会渲染成 0.769231)。

已确认的普通股拆细(会影响 ADS 序列):百度 1 拆 80(2020 年报已追溯调整)、携程 1 拆 8(2021 年报)。 这两家拆股时 ADS 比例同步变更(百度 0.1→8、携程 0.125→1),ADS 份数本身不变, 所以不能只用「历史比例 ÷ 最新比例」折算(会差 80 倍 / 8 倍),必须乘回拆股倍数。

第 4 步:渲染报告

...python3 scripts/build_shares_report.py <data.json> -o <输出.html>

脚本自动完成:派生「股本变化 / 比例」列、美股按 ADS 计算、拆股年份标注、居中版式、 「?」徽章折叠披露文件与备注、卡片顶部黄色框内的「上市首年 → 2025 年末」累计变化与计算式。 不要手写 HTML,改数据后重跑脚本。

第 5 步:交付

  • 生成目录若为临时工作区(~/WorkBuddy/日期-时间-XXXX/), 先复制到长期工作区(如 ~/WorkBuddy/股本统计/output/)再 present_files, 并把 cwd 指向该长期工作区 —— 这样结果卡片才有「上传云端(☁️)」入口。
  • 交付前自验:HTML 标签闭合、JS node --check、变化/比例数值抽样、每一行的披露文件是否齐全; 另需用无头浏览器截图确认版式:
    "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --headless=new --disable-gpu \
      --no-sandbox --hide-scrollbars --window-size=1560,1500 \
      --screenshot=/tmp/shot.png "file:///<绝对路径>/报告.html"
    

输出规范

  • 金额/股数:千分位整数;亿股/亿份保留 4 位小数;比例保留 2 位小数带正负号。
  • 配色沿用 A 股习惯:增=红 #d93025、减=绿 #137333(浅红/浅绿底)。
  • 表格 th / td 全部居中,vertical-align: middle;数字列也居中。
  • 「披露文件」「备注」两列折叠成末列「?」徽章,鼠标悬停显示;浮层内保持左对齐便于复制。
  • 报告顶部用红字写明计算口径(A股/港股按总股本,美股按 ADS)。

已验证案例(可直接复用为模板)

| 公司 | 市场 | 年份 | 关键结论 | |---|---|---|---| | 长江电力 600900.SH | A 股 | 2020-2025 | 22,741,859,230 → 2023 定增收购云川 +1,726,358,486(+7.59%)→ 24,468,217,716 | | 腾讯控股 00700.HK | 港股 | 2020-2025 | 9,593,912,711 → 9,120,235,999,累计 -4.94%,纯回购注销,无拆股 | | 港股 8 家(2026-09-11) | 港股 | 上市首年→2025 | 腾讯 00700 2004-2025(2014 年 1 拆 5,早年 ×5)8,824,522,050 → 9,120,235,999,+3.35%;泡泡玛特 09992 2020-2025 −4.21%;小米 01810 2018-2025 +10.25%;心动 02400 2019-2025 +16.73%;美团 03690 2018-2025 +11.27%;快手 01024 2021-2025 +2.19%;名创优品 09896 2022-2025 −2.32%;老铺黄金 06181 2024-2025 +4.76%。完整数据与 stockId 见 references 第五节 | | 物管 11 家(2026-09-11) | A 股 + 港股混批 | 上市首年→2025 | 招商积余 001914(A 股首年用 first_year_label,序列自 2001;2011 年 10 转 5、2012 年 10 转 10 已按拆股还原)统一口径 2001→2025 +152.10%;中海物业 02669 −0.09%;保利物业 06049 +3.75%;绿城服务 02869 +13.50%;碧桂园服务 06098 +33.75%;滨江服务 03316 0.00%;万物云 02602 −0.88%;华润万象生活 01209 0.00%;金茂服务 00816 0.00%;越秀服务 06626 −1.30%;融创服务 01516 −1.50%。完整年末序列见 references 第十节 | | 挚文集团 MOMO | 美股 | 2020-2025 | ADS 205,990,754 → 151,783,478;1 ADS = 2 普通股,比例恒定 | | 阿里巴巴 BABA | 美股 | 2016-2025 | 财年 3/31;ADS 比例 2016-2019 为 1:1,2020 起 1:8;ADS 24.74 亿 → 峰值 27.12 亿 → 23.09 亿 | | 蔚来 NIO (CIK 1736541) | 美股 | 2020-2025 | 1 ADS = 1 股 Class A;ADS 15.69 亿 → 24.83 亿(+58.25%);Class B 2022-03-10 全部转 A | | 理想汽车 LI (CIK 1791706) | 美股 | 2020-2025 | 1 ADS = 2 股 Class A;ADS 9.05 亿 → 10.68 亿(+18.07%);Class B 355,812,080 股 6 年不变 | | 小鹏汽车 XPEV (CIK 1810997) | 美股 | 2020-2025 | 1 ADS = 2 股 Class A;ADS 7.90 亿 → 9.55 亿(+20.89%);Class C 仅 2020 年末存在 | | 拼多多 PDD (CIK 1737806) | 美股 | 2018-2025 | 1 ADS = 4 股 Class A(恒定);ADS 11.14 亿 → 14.23 亿(+27.78%);2021 起 B 类全部转 A,封面列「no Class B」 | | 搜狐 SOHU (CIK 1734107 + 1104188) | 美股 | 2000-2025 | 1 ADS = 1 股;2000-2017 取 10-K 资产负债表(2002-2017 为千股精度),2018 起取 20-F;35,625,716 → 26,069,022(-26.83%),纯回购 | | 网易 NTES (CIK 1110646) | 美股 | 2000-2025 | ADS 比例 100(2000-2004)→ 25(2005-2019)→ 5(2020 起);2000/2001 年末取自 FY2002 20-F/A 权益变动表;同口径 2020-2025 为 -4.69% | | 百度 BIDU (CIK 1329099) | 美股 | 2005-2025 | ADS 比例 1(2005-2009)→ 0.1(2010-2019,10 ADS=1 股)→ 8(2020 起,2021-03-01 Share Subdivision 1 拆 80);ADS 序列连续,同口径 2020-2025 +1.60% | | 携程 TCOM (CIK 1269238) | 美股 | 2003-2025 | ADS 比例五度变更:2 → 1 → 0.5 → 0.25 → 0.125 → 1;2021-03-18 起 1 拆 8;同口径 2021-2025 +1.29% | | 腾讯音乐 TME (CIK 1744676) | 美股 | 2018-2025 | 1 ADS = 2 股 Class A(恒定);ADS 16.33 亿 → 15.74 亿(-3.62%) | | 唯品会 VIPS (CIK 1529192) | 美股 | 2012-2025 | ADS 比例 2(2012-2013)→ 0.2(2014-11-03 起);同口径 2014-2025 -16.39%(持续回购) | | 京东 JD (CIK 1549802) | 美股 | 2014-2025 | 1 ADS = 2 股 Class A(恒定);ADS 13.97 亿 → 13.74 亿(-1.63%);2024 起大额回购 | | 贝壳 BEKE (CIK 1809587) | 美股 | 2020-2025 | 1 ADS = 3 股 Class A(恒定);ADS 11.84 亿 → 11.24 亿(-5.04%);2022 年 B 类大部转 A | | 瑞幸咖啡 LKNCY (CIK 1767582) | 美股 | 2019-2025 | 1 ADS = 8 股 Class A(恒定);统一 ADS 2.43 亿 → 2.87 亿(+18.12%)。2020-06-29 退市至 OTC 但仍报 20-F,数据完整;2021 起封面另有 senior convertible preferred shares,不计入普通股 | | 富途控股 FUTU (CIK 1754581) | 美股 | 2019-2025 | 1 ADS = 8 股 Class A(恒定);统一 ADS 1.25 亿 → 1.40 亿(+11.73%);B 类 5.45 亿 → 3.56 亿股 | | 哔哩哔哩 BILI (CIK 1723690) | 美股 | 2018-2025 | 1 ADS = 1 股 Class Z(恒定);统一 ADS 3.12 亿 → 4.15 亿(+33.06%)。Class Y(创始人)+ Class Z,二者同股同权,用 col_a_label / col_b_label 改列名 | | 华住 HTHT (CIK 1483994) | 美股 | 2010-2025 | ADS 比例 4(2010-2017)→ 1(2018,ADS 1 拆 4)→ 10(2021 起,普通股 1 拆 10,面值 $0.0001→$0.00001);统一 ADS 2.41 亿 → 3.07 亿(+27.37%);列入 SPLITS = {2021: 10} | | 百胜中国 YUMC (CIK 1673358) | 美股 | 2016-2025 | 报 10-K(特拉华注册)+ 纽交所直接上市普通股,1 份 = 1 股;股本取 10-K 合并资产负债表,2016/2017 精确、2018 起仅百万股精度;3.83 亿 → 3.54 亿(-7.65%) | | BOSS直聘 BZ (CIK 1842827) | 美股 | 2021-2025 | 1 ADS = 2 股 Class A(恒定);统一 ADS 4.34 亿 → 4.65 亿(+7.17%) | | 满帮集团 YMM (CIK 1838413) | 美股 | 2021-2025 | 1 ADS = 20 股 Class A(恒定);统一 ADS 11.06 亿 → 10.43 亿(-5.71%);封面用「Title of class / Number of shares outstanding」表格列示 |

第三批 13 家(2026-09-11,全部为 ADS 口径,首年→2025 累计变化)

| 公司 | CIK | 年份 | 首年 → 2025 统一 ADS | 累计变化 | 关键点 | |---|---|---|---|---|---| | 新氧 SY | 1758530 | 2019-2025 | 105,783,233 → 100,216,327 | -5.26% | 13 ADS = 10 股(非整数 10/13) | | 乐信 LX | 1708259 | 2017-2025 | 163,859,070 → 167,500,916 | +2.22% | 1 ADS = 2 股,2019-2023 封面剔除存托备用股 | | 爱回收 RERE | 1838957 | 2021-2025 | 226,415,724 → 219,506,112 | -3.05% | 3 ADS = 2 股(非整数 2/3);A/B/C 三类 | | High Templar HTT(原 QD) | 1692705 | 2017-2025 | 325,838,455 → 156,676,457 | -51.92% | 代码 QD→HTT 同一主体;FY2017 封面只给总数 | | 猎豹移动 CMCM | 1597835 | 2014-2025 | 28,332,054 → 31,038,627 | +9.55% | 1:10→1:50(2022),无拆股 | | 微博 WB | 1595761 | 2014-2025 | 203,658,033 → 245,549,858 | +20.57% | 封面用「As of … there were … being the sum of …」句式 | | 小赢科技 XYF | 1725033 | 2018-2025 | 50,602,383 → 39,086,317 | -22.76% | 1:2→1:6(2020-11-19) | | 斗鱼 DOYU | 1762417 | 2019-2025 | 32,751,819 → 30,178,859 | -7.86% | 10 ADS=1 股 → 1:1(2024-03-28);单类别 | | 虎牙 HUYA | 1728190 | 2018-2025 | 203,797,058 → 223,533,296 | +9.68% | 1 ADS = 1 股;Class B 腾讯持股 | | 迅雷 XNET | 1510593 | 2014-2025 | 65,738,768 → 62,855,400 | -4.39% | 1 ADS = 5 股 common shares(措辞不是 ordinary) | | 知乎 ZH | 1835724 | 2021-2025 | 99,687,766 → 88,151,504 | -11.57% | 2 ADS=1 股 → 1:3(2024-05-10) | | 欢聚 JOYY | 1530238 | 2012-2025 | 54,361,661 → 49,984,636 | -8.05% | 1 ADS = 20 股 Class A;2019 年收购 Bigo 增发 | | 汽车之家 ATHM | 1527636 | 2013-2025 | 105,136,436 → 115,759,677 | +10.10% | 2021-02-05 4 拆 1 + ADS 1:1→1:4,ADS 连续 |

完整数据与方法细节见 references/取数方法与踩坑.md。

两个高频坑(第二批踩到)

  1. 封面年份与股数粘连:富途 / B站 / 满帮封面排版为 As of December 31,2020,590,139,760 Class A …, 正则去标签后数字会被粘成一个(31,2020,590,139,760)。 提取前必须先剔除日期里的年份:re.sub(r'(?<=December 31,)\s*(\d{4}),', ' ', txt)。
  2. 美国注册发行人报 10-K:百胜中国、老搜狐(Sohu.com Inc.)不报 20-F。 股本取 10-K 合并资产负债表,快速定位方法: FilingSummary.xml → 找 ShortName 含 "balance sheet" 且含 CONSOLIDATED 的 Report → 取其 HtmlFileName(通常 R5.htm)→ 正则 Common stock, $0.01 par value … (\d[\d,.]*) shares … outstanding at December 31。比下载 10-K 全文快得多。