技术博客

ETF 申赎与套利链路:一篮子股票的业务建模

第 37 / 141 篇 · 2026-06-19 · secfin · ETF套利业务建模

股票交易的建模单位是"一股",ETF 的交易建模单位是"一篮子"。同一只 ETF 在两个市场同时存在价格:二级市场上按市价像股票一样买卖,一级市场上按基金净值(IOPV)用一篮子成分股加现金向基金公司申购赎回。两个价格之差不靠谁去维持,靠套利者逐利抹平——而套利能成立的前提是柜台系统把"一篮子"当成一个原子业务来处理。这篇讲这条链路。

两个市场,两种定价

ETF 的一级市场参与者是一级交易商(授权参与券商,AP):按每日发布的申购赎回清单(PCF,Portfolio Composition File),用规定的一篮子成分股(加规定现金)换 ETF 份额(申购),或反向赎回。PCF 在盘前发布,精确到每只股票多少股、现金多少元、哪些成分股允许现金替代。

二级市场就是普通投资者之间的买卖,价格由撮合决定。于是同一只 ETF 有了两个价格:市价 $P_{\text{mkt}}$ 和实时净值参考 IOPV(基金参考净值,通常每秒计算发布)。价差是套利的燃料:

$$ \text{溢价率} = \frac{P_{\text{mkt}} - \text{IOPV}}{\text{IOPV}} $$

溢价显著为正(ETF 贵于篮子),套利路径是:买入一篮子股票 → 申购 ETF → 卖出 ETF,三腿操作锁定溢价;折价时反向:买入 ETF → 赎回得一篮子股票 → 卖出股票。只要价差大于交易成本(佣金 + 冲击成本 + 现金替代的保证金占用),套利就有确定收益。理论框架是经典的一价定律(Law of One Price),ETF 是它在市场上最生动的存在形态。

PCF 驱动的一篮子委托:原子性难题

套利的第一腿"买入一篮子"在系统里是几百笔委托,不是一个订单。柜台的建模难点:

  • 腿间原子性:申购要求篮子里的每只股票都按 PCF 数量足额交收,任何一条腿失败(停牌买不进、涨停排不到、部成不够数)整个申购就废。所以一篮子委托需要一个父订单概念:父单存活、监控各腿状态,任一条腿终态失败则触发其余腿的撤单;
  • 数量对齐:PCF 里"股"的单位和二级市场的整手(100 股)不一定对齐,成分股可能出现零股——A 股二级市场零股只能卖出不能买入,这些尾巴要靠现金替代通道吸收;
  • 时序纪律:申购申请必须在交易所规定的时点前提交(盘中实时申赎有申报窗口),一篮子腿必须在窗口内全部到位,父订单要有自己的"超时撤腿"逻辑。

实践中机构的做法是用程序化交易系统管理腿:先按流动性排序发腿(先难后易),每分钟对账腿的完成度,缺口大的腿主动追价。先难后易的排序理由:容易成交的腿最后发也来得及,难成交的腿越早处理,留给追价和撤换的时间越多。

现金替代:停牌股的影子价格

篮子里的成分股停牌怎么办?ETF 赎回时拿不到停牌股(交收无法完成),申购时给不出停牌股。PCF 允许对特定成分股标记现金替代:申购方多交一笔现金替代款,赎回方收到现金替代款。

现金替代金额按"该股票最新价 × 替代比例"预估,精确清算在股票复牌后补差——这引入了一个延期结算的尾巴:复牌后替代款多退少补,系统要为每只含现金替代的股票挂一条"待清算"记录,跨越复牌日处理。这条尾巴常被低估:看似简单的"用现金代替股票",落地是清算系统里一类要跨多日跟踪、要计息、要补差的公司行动式事件。

系统视角的总结

ETF 链路把前面几篇的零件全部串起来了:限价校验管每一腿的单(涨跌停篇)、腿的执行回报驱动父订单状态机(回报幂等篇)、父订单撤腿依赖撤单链路的确定性(撤单篇)、一篮子与现金的交收混进日终清算(清算篇还没写)。一条套利指令在系统里的旅程,是整个证券交易技术栈的缩微模型。

对做柜台的工程团队,ETF 功能最真实的教训是:业务规则的复杂度不会消失,只会转移。把一篮子拆给交易员手工管,复杂度转移到操作风险和腿间时序里;建成父订单自动管理,复杂度转移到系统建模和异常处理里。监管和市场结构决定了这个复杂度必须有归宿——工程能选的只是把它放在哪。

ETF 一价定律:价差由套利闭环自动抹平二级市场(市价)P_mkt 撮合定价一级市场(IOPV)PCF 篮子净值套利者(AP)父订单管一篮子腿溢价:买篮子 → 申购 → 卖 ETF折价:买 ETF → 赎回 → 卖篮子原子性:任一腿失败即撤其余腿;腿排序先难后易,留追价时间现金替代:停牌股的影子价格,复牌后多退少补,跨日清算跟踪