Skip to content

用公开数据追踪「国家队」ETF 申赎:口径、三个坑和一个框架 ​

10 月 15 日,一只沪深300 ETF 的份额单日增加 45 亿份——较 2025 年末基准增加 6.94%,按追踪体系的量纲算,是 69.4 倍量。这是这套追踪有记录以来最大的单日增持。

数字不是内幕,也不是龙虎榜。它来自沪深交易所每天公示的 ETF 份额表。

为什么盯 ETF 份额 ​

2026 年 8 月 31 日起,ETF 的十大股东强制披露取消。想从股东名单里看「国家队」的实时席位,这条路已经断了。

还剩一条缝:沪深交易所每天公示 ETF 份额。大资金申赎会在份额表上留下痕迹——看不到对面是谁,但能看到资金在动,以及动的方向和量级。

份额表不是持仓表,也不是资金流水——它是一份公开、日频、免费的观测数据。变成信号,需要三样东西:量纲、交叉验证、口径。

数据源:交易所的每日公示 ​

两个接口都公开:上交所是按日的 JSON 接口,返回当天全部 ETF 份额(单位万份),一天 900 多只;深交所是按时间窗口拉取的 xlsx 报表。

T 日的份额一般在当日傍晚到次日早上之间可取。两个所的记录都回填到了 2025 年初。

度量框架:三个零件 ​

零件一:「一倍量」基准 ​

直接比份额没有意义——大盘 ETF 和科创 ETF 的基数差几十倍。先定义一把尺子:

1 倍量 = 该基金 2025 年末份额的 0.1%。

为什么是 0.1%?日频动作通常落在几倍到几十倍量级,这个刻度刚好能分辨信号和噪声;有了统一量纲,不同基金才能横向比较。

同一天报两个基准:较前一日(动量)和较 2025 年末(仓位位移),互不替代。

零件二:同指数双 ETF 交叉验证 ​

每个宽基指数通常有两只以上主力 ETF,分属不同管理人、不同申购通道——它们是同一件事的两个独立观测样本:

  • 两只同向、同档:是巧合的概率就低了,信号放大
  • 两只方向或量级不一致:取最坏值,否决单只基金的大额解读

10 月 15 日两种都出现了。沪深300 的两只常规基金:一只增持 8.9 倍量,另一只只有 0.4 倍量——交叉取最坏 0.4 倍量;同日另有一只沪深300 ETF 单日 69.4 倍量,异动只有一只,不能代表整个沪深300 的仓位。中证500 更典型:一只增持 4.6 倍量,另一只减持 6.7 倍量——方向分歧,取最坏 6.7 倍量。

零件三:单只与整体,两层口径 ​

单只读数回答「谁在动」,整体读数回答「动了多少」。

整体读数 = 各指数读数的加总;加哪些基金、用主口径还是最坏值,是口径选择。10 月 15 日逐项加总:单日整体 158.9 倍量买入,刷新这套追踪的纪录;从 8 月 19 日算起的累计台账,从 385 倍量升到 543.9 倍量。

两层口径分开记录、分开引用:只报整体会丢结构,只报单只会被噪声骗。

三个坑 ​

框架看着简单,跑起来全是坑。挑三个讲。

坑一:接口的覆盖边界 ​

有一晚我盯一只港股暗盘,用三家常规行情接口轮询,屏幕全程显示「无成交」。我差点下结论:流动性太弱。

第二天才知道,那晚暗盘有成交,还跌破了发行价——常规行情接口根本不覆盖券商场外的暗盘数据。屏幕上的「参考价、零成交量」,不是市场没交易,是数据源没有这个视野。

检查习惯从此多一条:用一个接口之前,先问它覆盖什么、不覆盖什么。ETF 份额数据同理——交易所公示只覆盖份额本身,不覆盖期指持仓和场外申赎,别把它当全息图。

坑二:一行尾部空格,让信号全错 ​

深交所的份额 CSV 里,代码列有 756 行带两个尾部空格。我的匹配按字符串精确比对——「510300」和「510300 」(带空格)是两个键。结果一批基金匹配失败,全读成 0 倍量;而它们那天其实在大额变动(其中一只创业板 ETF 实际 +19.7 亿份、约 62 倍量)。

修复只需一行 strip(),代价是当天生成的信号文件全错——清洗、重跑、逐项对账。同一天还发现,另一只异动基金根本不在追踪清单里。数据管道里没有「小 bug」:一行空格、一个漏掉的代码,就能让 60 倍量读成 0。

坑三:口径差异,谁的读数对? ​

同一天的数据,我和另一个做同样追踪的人结论不同:他显示「触发」,我显示「观察」。

拆开看,两边都没算错,是口径不同:

  • 聚合口径:他逐项加和读出 158.9 倍量;我按「指数主基金 + 最坏值」求和,约 90 倍量
  • 触发判据:他那边单只基金大额就算触发;我的状态机要求至少两个十倍量极值
  • 累计台账:543.9 倍量 vs 518.9 倍量,差值同样来自口径

我的习惯因此变成:引用任何信号数字,先标注口径。跨系统对齐之前,先对齐口径。

它不能做什么 ​

这条比框架本身重要。

份额 ≠ 汇金。 只能看到「有资金在动」,不能证明是谁在动。

份额变化 ≠ 申购金额。 金额要乘净值;「较前日 +37.59%」这类大百分比是小基数下的动量读数,不等于 37.59% 的资金。

数据滞后。 T 日公示傍晚才出,最快 T+1 才能据此行动;机器漏跑一次,还要再晚一天。

最扎心的一条来自我自己的检验:2026 年 46 个触发事件里,买入触发后 10 个交易日的平均收益是 -1.94%;赎回触发后,市场不跌反稳。机械全进全出跟随的收益是 -25.7%,同期篮子 -11.5%。

结论:它是一台资金流监测器,不是交易信号——告诉你「水在往哪流」,不告诉你「该不该下水」。

可拿走的 ​

三个动作,能迁移到任何公开数据追踪场景:

  1. 先定义量纲再读数——基准是什么、1 个单位是多少,比读数本身重要
  2. 每个读数找第二个独立样本——同指数双 ETF 就是天然对照组;一致就放大,不一致就取最坏
  3. 记录口径——自己的、别人的,对齐之前先对表

公开数据的好处是免费、可复现;代价是,把「数据」翻译成「事实」得靠自己。

本文仅为个人学习与实验记录,不构成任何投资建议。

本站内容仅为个人学习与实验记录,不构成任何投资建议。