4. 报价管理:报价生成逻辑、报价更新频率、报价偏离度控制、报价异常处理

报价管理,说白了就是做市商的「门面功夫」。你报出去的每一笔价格,都代表着你在这个市场上的态度和实力。我做了这么多年,见过太多因为报价管理出问题而吃大亏的团队。今天咱们就把这块掰开揉碎了讲清楚。

4.1 报价生成逻辑:你的价格从哪来?

报价不是拍脑袋定的。它背后有一套严谨的计算逻辑。我个人习惯把报价生成拆成三层来看:

  • 基准价格层:这是报价的锚点。通常取中间价,可以是盘口最优买卖价的均值,也可以是最近一笔成交价,或者指数价格。我建议用加权方式,比如「0.5 × 最优买价 + 0.5 × 最优卖价」,这样能平滑掉一些极端报价的干扰。
  • 价差调整层:在基准价格上,根据市场波动率、持仓风险、库存水平等因素动态调整买卖价差。波动大时价差要拉宽,库存偏多时要主动降价出货。
  • 随机化层:为了防止被其他做市商或高频交易者「猜中」你的报价模式,需要在最终价格上加入一个微小的随机偏移。这个偏移量通常控制在0.1个tick以内。

核心公式(简化版):

卖价 = 基准价格 + (价差 / 2) + 随机偏移
买价 = 基准价格 - (价差 / 2) + 随机偏移

嗯,这里要注意:随机偏移的种子值不要固定,否则等于没加。我见过有人用时间戳做种子,结果每毫秒的偏移模式完全可预测,被对手盘薅了羊毛。

4.2 报价更新频率:快还是稳?

更新频率是个双刃剑。更新太快,系统压力大,容易被交易所限流;更新太慢,报价跟不上市场变化,成交率低。

我建议根据市场状态动态调整:

  • 正常行情:每100-200毫秒更新一次。这个频率既能保证报价的时效性,又不会给系统造成太大负担。
  • 剧烈波动:缩短到20-50毫秒。我记得有一次比特币闪崩,我这边报价更新频率没跟上,结果连续成交了十几笔亏损单,那叫一个惨。
  • 盘整行情:可以放宽到500毫秒甚至1秒。没必要频繁刷新,省点资源。

避坑指南:我曾经犯过一个错误——把更新频率设成了固定值。结果市场突然放量,交易所的API响应延迟飙升,我的报价请求全部超时,导致连续几分钟没有报价。后来我改成了自适应频率:根据最近10次API响应时间的P95值来动态调整。响应快就加快更新,响应慢就主动降频。

4.3 报价偏离度控制:别让价格「飞」了

报价偏离度,就是你的报价和「合理价格」之间的差距。控制不好,要么被套利者盯上,要么被交易所处罚。

我一般设三道防线:

  1. 硬性阈值:报价与基准价格的偏离不得超过X%。这个X值根据品种不同来定,比如主流币种设0.5%,小众币种可以放宽到2%。
  2. 动态偏离检测:如果报价连续N次偏离超过阈值,系统自动暂停报价并报警。N通常设为3-5次,太少了容易误报,太多了反应太慢。
  3. 对手盘价格校验:你的报价不能比盘口最优价差太多。比如你报的买价,不能高于当前最优卖价(否则就成了市价买入),也不能低于最优买价太多(否则没人卖给你)。
偏离类型 阈值 处理动作
价格偏离基准 > 0.5% 报警 + 记录日志
价格偏离基准 > 1.0% 自动撤单 + 暂停报价30秒
买价高于卖价 任何情况 立即撤单 + 紧急报警

警告:偏离度控制不能只靠事后检查。我建议在报价生成阶段就做预校验——价格还没发出去之前,先跑一遍偏离度检查。如果超标,直接拦截,不给交易所发送的机会。这样能避免「报价已成交才发现有问题」的尴尬局面。

4.4 报价异常处理:出事了怎么办?

做市商最怕的就是报价异常。我经历过几次,每次都是心跳加速、手心冒汗。但经验告诉我,只要预案做得好,大部分异常都能平稳度过。

常见的异常场景和处理方案:

  • 交易所API断连:立即停止所有报价,转为「只撤单不报价」模式。同时启动备用API通道。如果备用通道也连不上,那就彻底停摆,等运维人员介入。
  • 价格源异常:比如指数价格突然跳变或数据源超时。这时候要切换到备用价格源,或者暂时使用本地缓存的价格。我习惯缓存最近100笔价格数据,异常时取最近10笔的均值作为临时基准。
  • 系统内部错误:比如报价计算模块抛异常。这种情况最危险,因为可能产生「幽灵报价」。我的做法是:一旦检测到计算异常,立即清空所有在途订单,并暂停报价5分钟。宁可错过行情,也不能乱报价。
  • 网络延迟飙升:当网络延迟超过200毫秒时,主动降低报价频率。延迟超过500毫秒时,暂停报价。因为延迟太高,你报出去的价格可能已经过时了,成交了就是亏损。

我的经验:异常处理最重要的是「快」和「稳」。快是指反应要快,最好在毫秒级别完成判断和动作。稳是指动作要稳,不要因为一次异常就导致系统全面崩溃。我建议把异常处理做成独立模块,和核心报价逻辑解耦。这样即使异常处理模块出问题,也不会影响正常报价。

4.5 知识体系总览

下面这张图是我自己梳理的报价管理知识体系,你可以对照着检查自己的系统有没有遗漏。

报价管理 报价生成逻辑 报价更新频率 报价偏离度控制 报价异常处理 基准价格层 价差调整层 随机化层 正常行情 剧烈波动 盘整行情 硬性阈值 动态偏离检测 对手盘价格校验 API断连 价格源异常 系统内部错误 网络延迟飙升 报价管理知识体系总览

这张图把报价管理的四个核心模块串起来了。你仔细看会发现,每个模块之间其实是有联动的——比如报价生成逻辑出了问题,偏离度控制模块就要及时介入;更新频率变了,异常处理模块的阈值也要跟着调整。做系统设计的时候,一定要把这些关联关系考虑进去。


专注资料整理