期权市场的流动性困境是结构性的:单只标的(比如 50ETF)上挂着的合约有成百上千个(多个行权价 × 多个到期月),每个合约的潜在交易者屈指可数。让市场自己长出流动性,大概率是绝大多数合约全天零成交——没有对手方就没有定价参照,没有参照更没人挂单,死循环。做市商制度就是交易所为打破这个循环开出的价码:你(具备资质的机构)承诺在所有合约上持续提供双边报价,我(交易所)给你交易费减免、更高的持仓限额、以及某些情形下的优先成交权。本篇讲这个承诺怎么从制度条文变成系统里的硬约束。
义务的三层拆解
以境内 ETF 期权(上交所/深交所规则)为例,做市义务通常拆成三层:
第一层:报价存在性。对义务合约清单(通常是所有挂牌合约,或指定的主力合约集合),做市商在每个交易日的规定时段(连续竞价时段)内,必须维持双边报价在场。报价要求带最小数量(比如 10 张),且买卖价差不超过规定上限(按合约价格分档,比如价格 <0.05 元时限价 0.005 元)。
第二层:报价质量。存在不等于合格:价差太宽、数量太小的报价对流动性没有实际贡献,规则里会定义"有效报价"(满足价差和数量下限的报价),考核按有效报价的时间占比算——常见要求是连续竞价时段内有效报价占比不低于 90%。
第三层:异常情形豁免。开盘集合竞价时段、标的涨停/跌停、合约临近到期、标的紧急停牌等情形下,义务豁免或降级。豁免清单必须在系统里精确建模,否则做市商会在该豁免时被误考核,不该豁免时漏报。
义务到指标的映射
把条文翻译成可计算指标,每个合约每个时段产出一组数:
$$ \text{有效报价率} = \frac{\sum_t \mathbb{1}[\text{双边在场} \wedge S_t \le S_{max}(P_t) \wedge Q_t \ge Q_{min}] \cdot \Delta t}{\text{义务时长}} $$
$S_t$ 是买卖价差,$S_{max}(P_t)$ 是分档价差上限(价格的函数),$Q_t$ 是报价数量。系统的输入是行情快照 + 做市商自己的报单流(申报和撤单记录),逐秒判定。注意判定要基于自己的报单状态而不是成交流水——撤单后义务即告中断,哪怕上一秒还在。
考核结果按日汇总、按月通报,不达标扣减优惠甚至取消资格。所以指标口径必须双方(交易所和做市商)一致,实践中做市商会自建影子计算系统,把交易所下发的考核结果和自己的核算对齐,差异走申诉流程——考核口径的任何模糊地带,最终都会变成争议。
优惠的对价结构
义务换来的优惠是实打实的钱:
- 交易费减免:做市商报价成交部分费率显著低于普通投资者,高频小额报价成交的体量下,这一项是主要收益来源之一;
- 持仓限额提升:普通投资者单账户持仓有上限,做市商限额高得多——这是义务的另一面:做市商必然积累大持仓(对手方买就卖、卖就买),限额不够义务就履行不了;
- 其他:比如主做市商(对指定合约承担更深义务)拿到的信息与申报便利。
系统上的落点:费率模板按"投资者类别 + 是否做市成交"分维度(《佣金、印花税、过户费》篇的费率引擎加一个维度即可);持仓限额按账户角色配置,风控检查链(《事前风控检查链路》篇)对做市商账户走单独限额组。
不履约的代价与风控联动
考核不达标的第一档后果是扣减次月优惠比例,连续不达标签约。制度设计上还有个隐形约束:做市商报错了价(比如义务价差上限输入错误导致报价过宽),会被判定义务中断,极端行情里大量合约同时触发时,单月考核直接失守。所以报价引擎(《做市报价引擎》篇)的参数校验要独立于交易逻辑——义务参数(价差上限、最小量)变更要双人复核并留版本记录,和风控参数热更新(《风控参数的热更新》篇)同一套流程。
做市商制度本质是交易所用经济利益购买流动性公共品。对做市商自身的系统团队,这套制度的全部要求可以概括成一句话:把"在场、合格、可豁免"三个判定做成实时指标,把优惠做成权限开关,把考核结果做成可申诉的账。制度条文到此就算落地了。