halo 的技术博客

返回

一只 ETF 同时挂着两个价格,这是它和普通股票最不一样的地方:

  • 一级市场净值 IOPV(Indicative Optimized Portfolio Value):交易时段内,按篮子成分股实时行情算出来的「基金该值多少钱」。它给的是「参考价」,你没法直接在一级市场按它成交。
  • 二级市场市价:你在交易所买卖 ETF 份额时真实付出的价格,由供需撮合决定。

两个价格天然应该等于——如果不等,就出现了折溢价(premium / discount)。当市价长期、显著地高于 IOPV,叫溢价;低于,叫折价。套利者的工作,就是在这条缝里赚钱,而且理论上这是一类风险极低的生意:你不是在赌方向,而是在赚「两个市场定价不一致」的收敛。

本文讲清四件事,并用可复现代码演示:

  1. ETF 的两个价格怎么来的、折溢价从哪冒出来;
  2. 溢价 / 折价时,一级创设与二级卖出、或二级买入与一级赎回,怎么拼成一笔无风险套利;
  3. 成本结构为什么往往比「价差」更决定你能不能赚钱;
  4. 用 Python 模拟 IOPV 与市价,回测一个折溢价收敛套利,并做成本阈值敏感性分析。

一、两个市场的供需是割裂的#

股票只有二级市场一个价格。ETF 多了一条**一级市场创设(creation)/ 赎回(redemption)**的通道:授权参与人(AP)可以用一篮子股票去基金公司「换」ETF 份额(创设),也可以把份额退回基金公司「换回」一篮子股票(赎回)。这条通道的结算价锚定的是 IOPV,而不是二级市价。

关键点在于:一级和二级的参与者不是同一拨人,反应速度也不同

  • 二级散户看到价格异动,几秒就能买卖;
  • 一级 AP 要凑齐一篮子股票、走创设/赎回流程,T 日申请后通常 T+1 甚至更晚才拿到份额或股票。

于是当某只成分股突发利好、二级市场瞬间把 ETF 价格拉高时,一级篮子的 IOPV 还没跟上,或者 AP 凑篮子需要时间——市价就短暂地跑到了 IOPV 上面,形成溢价。反过来,成分股大面积跌停、二级抛压集中,市价就可能砸到 IOPV 下面,形成折价。

折溢价率定义为:

premiumt=PtmarketIOPVtIOPVt\text{premium}_t = \frac{P_t^{\text{market}} - \text{IOPV}_t}{\text{IOPV}_t}

它围绕 0 上下波动,平时很窄(几 bp 到十几 bp),但在流动性冲击、成分股停牌、跨境 ETF 汇率跳变时会瞬间拉大。

ETF 一级篮子净值(IOPV)与二级市场价格的长期纠缠与瞬时分离

二、溢价套利:买篮子、创设、卖二级#

premiumt>c\text{premium}_t > ccc 为单边总成本)时,市价「贵」了,可以做正向套利(forward / creation arbitrage)

  1. 在一级市场按 IOPV 对应的篮子,买入一篮子成分股
  2. 把篮子提交给基金公司,创设出相应数量的 ETF 份额(实物申赎,T 日申请);
  3. 在二级市场,以偏高的市价卖出这些份额;
  4. 锁定利润 ≈ 溢价 − 双边成本。

逻辑上你「用便宜的篮子,造出了贵的份额,卖掉」,中间的差就是利润。只要创设通道通畅、成本覆盖得住,这笔交易在开仓那一刻就已经锁定了收益,不依赖未来价格涨跌。

三、折价套利:买二级、赎回、卖篮子#

premiumt<c\text{premium}_t < -c 时,市价「便宜」了,做反向套利(reverse / redemption arbitrage)

  1. 在二级市场折价买入 ETF 份额;
  2. 把份额退回基金公司,赎回成一篮子股票;
  3. 在二级市场卖出整篮股票
  4. 锁定利润 ≈ 折价 − 双边成本。

这一步对 A 股散户往往不友好:赎回得到的是一篮子股票,不是现金,且通常要 T+1 才能卖,等于你被动持有一篮子股票过夜,承担成分股隔夜风险。所以折价套利的主力是拥有融券和一级通道的机构。

四、成本结构:真正决定你能不能赚钱的,是它#

很多人以为「有溢价就能套利」,结果一算账全是给券商和冲击成本打工。一笔完整的折溢价套利,单边就要吃掉至少这几项:

  • 佣金 / 经手费:股票 + ETF 双边;
  • 买卖价差(bid-ask):篮子成分股多、流动性差的,价差累加很可观;
  • 市场冲击成本:大单砸进去,价格先动,成交均价劣于标记价;
  • 申购 / 赎回费:部分 ETF 收创设赎回费(尤其跨境、商品类);
  • 印花税:A 股卖出股票收,赎回卖篮子时触发。

我们记单边总成本为 cc,一笔套利从开仓到平仓要经历「买 + 卖」两次,所以实际要覆盖的是 2c2c。把成本阈值画出来,折溢价率落在 ±c\pm c 之间的区域就是「无套利带」——进去就亏钱。

补充一点:申赎分实物现金两种。A 股多数 ETF 是实物申赎——你给基金公司一篮子股票、拿回份额(或反向),中间不经过现金,所以没有「篮子现金估值」那道滑点;部分跨境 / 商品 ETF 是现金申赎,基金公司按 IOPV 折算现金差额,这里会多一层汇率与估值误差。套利者偏好实物申赎,正是因为少了这道不确定性。对散户而言,即便借到了一级通道,现金申赎的这层折算误差也会悄悄把薄溢价吃成亏损。

折溢价率围绕 0 均值回复,越出 ±成本阈值即出现套利窗口

五、用 Python 回测一个折溢价收敛套利#

下面这段代码和生成上文图表的是同一套逻辑:先模拟 IOPV 与市价(折溢价率用 Ornstein-Uhlenbeck 均值回复,并叠加稀疏的流动性冲击尖峰),再在折溢价越出成本带时开仓,回到带内时平仓,按日盯市计盈亏。

在这组参数下,样本内累计净收益约 +26%,最大回撤仅约 −3.5%——典型「低波动、稳收敛」的套利曲线:你赚的不是方向,是价差收敛。

扣成本后折溢价套利累计净收益:把瞬时分离变成可捕获的价差

六、阈值敏感性:成本吃掉利润#

把成本阈值从 5 bp 一路抬到 60 bp,看可套利机会数和平均捕获溢价怎么变:

  • 阈值越低,触发越频繁,机会数最多(本例低至约 1459 次),但每次捕获的溢价薄;
  • 阈值越高,只在「厚溢价」时才动手,机会数下降(高阈值约 980 次),但单笔吃得厚;
  • 真正决定你赚不赚钱的,是你的成本落在曲线的哪一点——机构单边成本能做到 10~20 bp,散户往往 30 bp 往上,后者大量「看起来有溢价」的窗口,其实连成本都覆盖不了。

成本阈值越高机会越少;阈值逼近平均溢价时机会骤减

七、真实陷阱(别看到溢价就冲)#

1. 一级通道不是谁都有。 创设/赎回通常只对授权参与人(券商/机构)开放,散户只能做二级,等于被卡在套利的「半程」。

2. T+0 / T+1 的时滞风险。 A 股 ETF 二级买卖多是 T+1,创设/赎回份额到账更晚;你在二级卖掉「还没到手」的份额,本质是裸短,碰到停牌成分股会卡死。

3. 成分股停牌 / 跌停。 折溢价往往正是成分股大面积跌停时最大——可偏偏这时你赎不回篮子、卖不掉股票,套利窗口对你关闭。

4. 跨境 ETF 的汇率与时区。 美股/港股类的 ETF,IOPV 用的是境外收盘价或汇率快照,和二级市价之间夹着汇率跳变和时差,溢价可能「看着有、实则补不上」。

5. 流动性踩踏。 大家都看到同一笔溢价、同时去创设卖二级,二级市场瞬间被砸平,你的「溢价」在成交前就消失了,反而吃了一身冲击成本。

6. 幸存者偏差。 回测里默认创设赎回永远通畅、篮子永远凑得齐,实盘里这些约束会系统性地吃掉你回测里最肥的那几笔。

八、小结#

  • ETF 的 IOPV(一级篮子净值)与二级市价是两个不同市场的定价,瞬时分离产生折溢价
  • 溢价→买篮子创设卖二级,折价→买二级赎回卖篮子,理论上是锁定的无方向收益;
  • 真正卡你的不是「有没有价差」,而是双边成本 2c2c——散户的成本曲线往往把大部分窗口都划进了亏损区;
  • 回测显示折溢价收敛套利是低波动、稳收敛的策略(本例 +26%、回撤 −3.5%),但实盘的通道门槛、T+1 时滞、停牌与踩踏,会系统性吃掉回测里最肥的几笔。

附:本文所有图表与数值均来自上方可运行代码(IOPV/市价模拟 + OU 折溢价 + 收敛套利 + 阈值扫描),参数与结果一致,可直接复现。

ETF 折溢价套利:当一级市场创设遇上二级市场价格
https://blog.halo26812.eu.org/blog/etf-arbitrage-pricing
Author halo
Published at 2026年7月12日
版权声明 CC BY-NC-SA 4.0
Comment seems to stuck. Try to refresh?✨