

























永续合约系统的核心挑战在于如何在极端市场条件下维持秩序与偿付能力。定价引擎并非简单的价格计算器,而是决定哪些价格拥有清算权、资金费率计算权和保证金调整权的关键系统。本文将深度解析多层价格体系的设计逻辑,揭示Last Price、Index Price、Mark Price和Perp Price如何分工协作,以及资金费率公式背后的系统治理智慧。

在上一篇文章《永续合约系统设计(一):综述》提到:
永续合约真正要解决的,不是“让用户下单并成交”,而是:在高波动、高杠杆、高博弈、高噪声的环境里,持续维持市场秩序与系统偿付能力。这也是为什么成熟平台一定会把系统拆成几类核心引擎:定价引擎负责定义系统相信什么价格,流动性引擎负责把价格变成成交,平衡引擎通过资金费率把永续拉回锚点,风控引擎则在失衡时接管风险、切割亏损、避免系统被拖穿。

从这个角度看,Pricing Engine 从来不只是“算一个价格”的模块。它实际上在决定:平台究竟把哪一种价格视为真相,哪些价格只能展示、哪些价格可以清算、哪些价格可以进入资金费率、哪些价格有资格改变用户保证金状态。它管理的不是价格本身,而是价格的使用权。
所以,理解定价引擎,不是先背公式,而是先建立系统观:
在永续世界里,价格既是市场信号,也是风险指令;
既描述现实,也会塑造现实;
一旦把错误的价格赋予执行权,整套撮合、结算、清算链路就会变成对错误输入的高效放大器。
本文要讨论的,正是这套“价格秩序”如何被设计出来:为什么不能只相信最新成交价;为什么必须同时存在 Last、Index、Mark、Perp 几层现实;为什么资金费率不是附属收费项,而是主动纠偏机制;以及定价引擎里那些最关键的公式,到底分别在解决什么系统问题。
如果只看交易页面,最自然的想法是:刚刚成交在什么价,系统就按什么价计算盈亏和爆仓,不就行了吗?
问题在于,“最新成交价”只适合描述刚刚发生了什么,不适合直接承担风险裁判职责。

原因有三层:
它会忠实记录每一笔交易,不区分这笔成交是正常市场结果,还是薄盘口里的异常扫单。现货里,这种瞬时偏差可能只是图上多了一根针;永续里,如果系统直接拿它算未实现盈亏、保证金率和强平线,结果就不是“多一根针”,而是可能触发一连串自动执行动作。
在永续系统里,价格会直接驱动:
这意味着价格不再只是“市场发生了什么”的记录,而是“系统要不要动用户资产”的信号。这样的信号如果直接建立在最容易被局部噪声扰动的输入上,系统就会非常脆弱。
这才是定价引擎的本质难点。
一个成熟平台不会问“哪个价格最真实”,而会问:
因此,交易所不能只相信“自己看到的价格”,不是因为那个价格完全不真实,而是因为它只是真实的一部分:局部、瞬时、脆弱、容易被打穿,无法独自承担高杠杆系统中的裁判职责。
很多人把 Pricing Engine 想成一个“价格生产器”,仿佛它只负责吐出一个尽量准确的数字。
更准确的理解是:它首先是一个价格使用权分配器。

同一个价格,用在不同场景,后果完全不同:
所以,Pricing Engine 真正定义的是一套“价格宪法”:
这也是为什么成熟永续系统的核心模块通常不是孤立存在,而是一条很强的因果链:
Pricing Engine 定义真相 → Liquidity Engine 生成成交事实 → Balancing Engine 通过 Funding 纠偏 → Risk Engine 根据裁判价格执行风控
如果最上游的定价逻辑失真,后面再强的撮合和风控,也只是在高效执行错误判断。
永续合约里的“价格”不是一个单数,而是一组分工明确的价格对象。最常见的至少有四类
这不是为了复杂而复杂,而是因为单一价格无法同时满足四种不同目标:描述、参考、裁判、执行

Last Price 最符合用户直觉。它适合做:
但它不适合独自承担清算裁判。因为它太容易被局部薄深度、瞬时插针和异常成交影响。
Index Price 通常来自多个主流现货市场的聚合。它回答的是:
如果不看本平台本地盘口,只看更广泛的现货市场,这个资产大致值多少?
所以它通常会引入多源聚合、权重、异常值过滤、失效剔除等治理逻辑。它不是成交价,而是公允参考价。
Mark Price 是最关键的一层。
它既不能太贴近最新成交价,否则容易被插针带偏;
又不能完全僵硬等于外部 Index,否则可能脱离本地可执行市场。
所以,Mark 的目标不是“最灵敏”,而是“最适合做裁判”。
它代表的是:
平台愿意拿什么价格,去动用户未实现盈亏、保证金和强平状态。
这也是为什么很多平台会在 Mark 设计上加入基差平滑、中值选择、或类似Median-of-Three的稳健逻辑。行业实现细节并不统一,但设计原则高度一致:风险系统依赖的价格,必须比交易价格更稳。
Perp Price 更接近撮合与流动性视角。它回答的是:
这提醒我们一个常被忽略的问题:
很多时候,不是 Mark 算错了,而是Mark 与可执行市场之间的距离过大。一旦理论裁判价和真实可成交价严重脱节,清算引擎、保险基金、ADL 压力都会急剧上升。
因此,成熟平台追求的从来不是“找到唯一正确的价格”,而是构造一套分层、分权、分用途的价格体系。
公式不是装饰。
在永续系统里,每一个核心公式背后,实际上都在解决一个具体的治理问题。
永续没有交割日,因此不能像传统期货那样靠到期收敛。理论上,平台需要一种机制让永续价格持续被拉回现货附近,这个机制就是 Funding。

在较简化的无套利框架里,永续价格可以被写成一种“随机到期”的现货预期。一个常见表达是:

这个式子可以通俗理解为:
永续不是看某一个固定到期日的现货,而是在看“未来一串现货价格的加权平均”,而这个加权的衰减速度,由锚定强度k决定。
如果进一步做常数利率假设,可以得到更直观的闭式形式:

这个式子的直觉是:
所以,理论定价并不是在说“永续一定等于现货”,而是在说:
永续价格与现货之间的距离,取决于纠偏强度与持有成本的相对大小。
这为定价引擎提供了第一层理论锚:
如果没有足够强的纠偏机制,永续不会天然收敛。
这是 Impact Price、IMN 和 Premium Index 要解决的问题。

很多交易所不会直接拿 best bid / best ask 或最新成交价去判断永续相对现货偏离多少,而是先问:
如果我真的要按一个有代表性的规模去买或卖,订单簿会给出什么平均成交价?
这就引出了Impact Margin Notional(IMN),常见写法为:

它的直觉不是“200 美元有什么神奇”,而是:
平台要先设定一个具有代表性的冲击交易规模,再用这个规模去模拟订单簿上的真实吃单结果。
由此得到:
为什么这很重要?
因为如果系统只看盘口表层,一点点挂单美化就可以伪造价格;
但如果系统模拟一个达到 IMN 的真实吃单,操纵者就必须提供更深的假流动性,成本会高很多。
所以,IMN 背后的真正问题不是“看多大金额”,而是:
平台承认什么样的深度,才算有资格进入价格治理。

有了 IBP 和 IAP,平台就可以计算 Premium Index。常见公式是:

这个公式不是简单地“永续价减现货价”,而是在有代表性的冲击成交规模下,衡量永续相对现货的有效偏离。
它实际上做了三件事:
第一,它只承认有深度支撑的偏离
不是一笔小成交把价格打上去就算数,而是要看:
按 IMN 规模真的买卖后,盘口还能不能维持这种偏离。
第二,它区分“溢价”和“折价”
第三,它天然对中间噪声不敏感
通过max(0, ·)的结构,平台不会把每一点微小的盘口噪声都解释成有效偏离。
只有真正跨过指数价并且在冲击规模下仍成立的偏离,才会进入后续 Funding 逻辑。
所以,这个公式本质上在回答:
平台究竟怎样把“价格偏离”改写成“真实流动性支持下的偏离”。
这是定价引擎抗操纵能力里极其关键的一步。

即使 Premium 算出来了,平台也通常不会直接拿某个时点的Pt去结算 Funding,而会做时间加权平均:

这背后的问题不是数学技巧,而是反馈速度控制。
如果系统完全相信某一个瞬时 Premium:
如果系统平滑得过头:
所以,时间加权平均解决的是一个控制问题:
如何在“过快误伤”和“过慢失控”之间找到平衡。
很多平台采用 8 小时 Funding 周期,不是随便选的,而是在交易体验、纠偏效率和资金成本稳定性之间做了工程折中。
Binance 风格的 Funding 公式常被写成:


这个公式的意义,不只是“算手续费”,而是把价格偏离转成仓位行为约束。它至少承担三重角色。
1)它是价格锚
永续没有交割日,所以不能靠自然到期收敛。Funding 通过让偏离一侧持续支付成本,迫使市场参与者主动做收敛交易。
2)它是仓位温度计
Funding 的方向和强度,能反映市场拥挤在哪一边。
正 Funding 往往意味着多头更拥挤,负 Funding 往往意味着空头更拥挤。
3)它是风险武器
在平稳市场中,Funding 是温和纠偏器;
在极端单边市场里,它会变成一种主动压缩拥挤仓位的高频成本机制。
这也是为什么 Clamp 很重要。
clamp的作用,是让 Funding 在中等偏离下不要太激进。
更一般地,一个分段式 Funding 规则可以写成:


它表达的不是复杂,而是一种非常现实的治理思想:
通俗说,Clamp 就是在告诉系统:
你不能见到一点小偏离就大动干戈,但也不能在大偏离面前毫无反应。
因此,Clamp 不是“把 Funding 做钝”,而是在正常状态下压低噪声传导,在异常状态下保留纠偏火力。
很多人会直觉地觉得:
既然 Funding 是纠偏器,那就把它做强一点,不就更稳了吗?
现实恰恰不是这样。
如果用简化形式表示 Funding 反馈规则:

那么k越大,确实意味着偏离时 Funding 上升更快,价格锚可能更紧;
但同时,Funding 波动、持仓成本不确定性、爆仓风险也会同步上升。
这种权衡可以写成一个简单的福利目标:

它表达的意思是:
对应地,存在一个内部最优的反馈强度:


这个式子非常重要,因为它提醒我们:
定价引擎不是一味追求“收敛更快”,而是在“价格更稳”和“系统别被自己纠偏机制伤到”之间找平衡。
这也是很多平台在不同品种上,Funding 参数和 cap 设计不完全一致的根本原因。
不同标的的波动、深度、参与者结构不同,最优反馈强度也不会相同。
在很多产品文档里,Mark Price 往往只是一行定义,容易被轻视。
但从系统设计角度看,Mark 其实是永续平台最关键的价格制度安排之一。
它的抽象形式可以理解成:

或者用更稳健的多路径合成思想表示为:

这里不必拘泥于具体写法,因为各平台实现差异很大,有的更偏指数加基差平滑,有的会引入多路径中值过滤。关键是理解它在解决什么问题:

如果直接拿 Last 做清算裁判,那么任何薄盘口插针都可能触发误杀。
如果完全僵硬地只看外部 Index,系统又可能出现“理论上该平,实务上平不掉”的问题,因为本地市场的真实执行能力没有被纳入。
因为它将直接决定:
所以,Mark Price 追求的不是“离成交最近”,而是“最适合承担裁判职责”。
从这个意义上说,Mark Price 不是一个附属显示价,而是:
平台对于“什么价格有资格改变用户风险状态”的正式回答。
只看表面,不同平台似乎都在做同样几件事:
但真正把平台区分开来的,往往不是有没有这些模块,而是:
这些模块共同决定,系统失衡时到底谁先承压。
这类平台用户体感通常更稳,但平台自身承担的缓冲压力更大。
这类平台出清更快,但用户也更容易感受到剧烈波动和被动减仓。

所以,比较定价引擎时,真正要比较的不是“谁的公式更漂亮”,而是:
定价引擎表面上设计价格,实质上设计的是风险承担秩序。
只有公式,没有治理,定价引擎就只是纸面模型。
真正上线运行时,它还必须具备至少五类能力。

指数价格是否可靠,首先取决于源数据质量。
所以系统必须处理:
“多接几家源”不等于天然更稳。
没有源治理的多源聚合,只是把多个潜在错误拼在一起。
市场并不总处于同一种状态。
正常波动、单边拉升、流动性抽离、插针、踩踏,这些状态下同一套参数未必都最优。
所以成熟系统往往要识别:
例如:
关键不是“能不能调”,而是:
Mark 再合理,如果本地订单簿根本承接不了清算量,也会出问题。
所以系统必须持续校验:
真正考验定价引擎的,从来不是平稳行情,而是最坏时刻。
成熟系统必须预设:
这些能力可能没有公式那么“漂亮”,但往往才决定平台能不能活过极端行情。
学习永续合约时,很多人会先看 Funding、PnL、强平价这些公式。
这些当然重要,因为它们直接关系到交易者最关心的盈亏和风险。
但如果只停留在“怎么算”,理解就会很局部。
真正更重要的问题是:
当开始从这些问题看 Pricing Engine,你看到的就不再只是一个“价格模块”,而是一整套高杠杆市场中的风险治理哲学。

所以,定价引擎最本质的价值,不是给市场报出一个数字,而是在剧烈波动、深度变化、杠杆挤压和系统失衡中,为整个平台定义一套可执行的现实秩序。
真正优秀的 Pricing Engine,保护的也不是某一列价格数据,而是整套永续系统在最坏时刻依然能够:
从这个意义上说,理解永续合约,最终不是学会背几条公式,而是学会判断:一套系统究竟如何在失衡中维持秩序
本文由 @Terry的思考笔记 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。