第3章:定价模型基础——无套利定价、中间价计算、点差定价公式

做市的核心是什么?说白了就一件事:定价

你报出去的买价和卖价,决定了你能不能赚钱,也决定了别人愿不愿意跟你成交。我刚开始做外汇做市那会儿,总觉得定价就是看看市场行情,然后随便加点差。结果呢?被专业机构打得满地找牙。后来我才明白,定价背后有一套严谨的数学模型在支撑。

这一章,我们就来拆解定价模型的三个核心模块:无套利定价中间价计算点差定价公式。这三个东西,是你在市场上站稳脚跟的基础。

3.1 无套利定价:市场的底层逻辑

无套利定价,听起来很高大上,其实道理很简单:同一个东西,不能有两个不同的价格。如果出现了,就有人会买低卖高,赚取无风险的利润。这个行为,就是套利。

在外汇市场里,无套利定价最典型的应用就是三角套利。比如EUR/USD、USD/JPY、EUR/JPY这三个货币对,它们之间的价格必须满足一个关系:

EUR/JPY ≈ EUR/USD × USD/JPY

如果这个等式不成立,比如EUR/JPY的实际价格比理论值高了10个点,那我就可以:

  1. 卖出EUR/JPY(做空)
  2. 买入EUR/USD(做多)
  3. 买入USD/JPY(做多)

三笔交易一组合,锁定了无风险利润。嗯,这里要注意:实际交易中,这种机会转瞬即逝。我曾在2019年做过一个统计,三角套利机会的平均存活时间不到200毫秒。等你手动发现机会再下单,黄花菜都凉了。

核心原则:无套利定价告诉我们,做市商报出的价格必须与市场整体保持一致。如果你报的价格偏离了无套利区间,你就是那个被套利的对象。

个人经验:我在搭建第一版做市系统时,忽略了交叉货币对的定价一致性。结果有一次,EUR/GBP的报价比理论值高了5个点,被一个高频做市商连续吃了300手。那一单,我亏了差不多2万美金。从那以后,我所有的定价模型都加上了无套利校验模块。

3.2 中间价计算:定价的锚点

中间价,就是你报出买卖价格的那个基准点。没有中间价,你的买价和卖价就是无根之木。

中间价的计算方式有很多种,我常用的有三种:

方法 公式 适用场景
简单中间价 (Bid + Ask) / 2 流动性好的主流货币对
加权中间价 Σ(价格 × 成交量) / Σ成交量 流动性一般的交叉盘
动态中间价 上一笔成交价 + 订单流偏移 高频做市场景

简单中间价最直观,但有个问题:它假设买卖双方力量均衡。现实中,如果市场上买盘明显多于卖盘,简单中间价就会低估真实价值。

我个人习惯用加权中间价。为什么呢?因为它考虑了不同价格点的成交量权重。举个例子:

假设EUR/USD的订单簿如下:
价格1.1050,买盘100手
价格1.1051,买盘200手
价格1.1052,卖盘150手
价格1.1053,卖盘50手

加权中间价 = (1.1050×100 + 1.1051×200 + 1.1052×150 + 1.1053×50) / (100+200+150+50)
           = 1.10515

这个价格,比简单中间价更接近市场的真实供需平衡点。

避坑指南:我曾经在计算加权中间价时,把所有的订单簿深度都算进去了。结果发现,离当前价格很远的挂单(比如深度1000层以外的),对中间价的影响微乎其微,反而增加了计算延迟。后来我改成只取前5层深度,效果好了很多。

3.3 点差定价公式:从中间价到买卖报价

有了中间价,接下来就是决定点差——也就是买价和卖价之间的差距。点差太小,你赚不到钱;点差太大,没人跟你交易。

点差定价公式,我把它拆成三个部分:

点差 = 基础点差 + 风险溢价 + 库存调整

基础点差:由货币对的流动性决定。EUR/USD这种主流货币对,基础点差可能只有0.5个点;而USD/TRY这种新兴市场货币,基础点差可能高达50个点。

风险溢价:根据市场波动率动态调整。波动率越高,风险越大,点差就要加宽。我常用的一个经验公式是:

风险溢价 = 基础点差 × (当前波动率 / 基准波动率) × 0.5

库存调整:这是做市商特有的。如果你手里已经囤了很多EUR多头,那你在报EUR/USD的买价时就要压低一些,避免继续买入。反之亦然。

把这三个部分组合起来,最终的买卖报价就是:

买价 = 中间价 - 点差/2
卖价 = 中间价 + 点差/2

关键点:点差不是一成不变的。它应该随着市场状态、你的库存水平、甚至一天中的不同时段而变化。我见过很多新手做市商,把点差设成一个固定值就不管了。结果呢?要么在波动剧烈时亏钱,要么在流动性充足时失去竞争力。

3.4 知识体系总览

为了让你更直观地理解这三个模块之间的关系,我画了一张图:

定价模型核心逻辑 无套利定价 三角套利约束 交叉汇率一致性 价格偏离检测 中间价计算 简单中间价 加权中间价 动态中间价 点差定价公式 基础点差 风险溢价 库存调整 约束 输入 最终输出:买卖报价 买价 = 中间价 - 点差/2 卖价 = 中间价 + 点差/2 三个模块相互依赖,共同决定最终的买卖报价 市场反馈 → 调整参数

从这张图你可以看到,三个模块不是孤立的。无套利定价为中间价提供了约束条件,中间价是点差定价的输入,而最终的买卖报价又会反过来影响市场,形成反馈循环。

嗯,这就是定价模型的基础框架。你可能会觉得,这些公式看起来都不复杂。确实,单个公式都不难。但把它们组合成一个实时运行的做市系统,要考虑的东西就多了——延迟、数据质量、参数调优……这些我们后面会慢慢展开。

一个小建议:刚开始做定价模型时,不要追求完美。先把无套利校验和中间价计算跑通,点差先设一个保守的固定值。等系统稳定了,再逐步加入动态调整的逻辑。我当年就是太心急,一上来就想搞全自动动态定价,结果系统上线第一天就出了bug,亏了一周利润。


专注资料整理