链上订单簿与 AMM:同样一笔大单,成交体验差在哪 图 1
链上订单簿与 AMM:同样一笔大单,成交体验差在哪 · 图 1

在中心化交易所习惯了「挂市价单就能成交」的人,第一次在链上执行大单常会遇到两种意外:在订单簿里,单子只成交了一半;在 AMM 池里,单子全部成交了,但均价比报价页面预测的差。两种体验背后是两套完全不同的成交哲学,值得拆开比较。

链上订单簿的成交取决于「此刻有没有人挂在那」。你的吃单请求沿价格档位逐档消耗挂单,每吃一档做一次结算。这带来三个特征:其一,成交概率由盘口深度决定,深度不够就只能部分成交,剩余部分要么挂在那里等,要么撤销;其二,价格友好性可能超期望,如果对手方挂单密集,你的加权成交均价可能好于显示的最优报价;其三,每一笔都要求你在链上主动执行,撤单、改单都要花真实的 gas,抢单失败还可能反复重试。

AMM 的成交则是和一段数学曲线交易。储备池里没有别人,你的买入直接从池子里取走一种资产、投入另一种,价格沿恒定函数移动。价格影响几乎是确定性的:同等深度下,提取量越大,均价劣化越明显,而且劣化速度随提取量递增,不存在「运气好碰到便宜的挂单」。好处是确定性——只要池子没被暂停、滑点容忍度设得足够宽,要么按规则成交要么整笔回滚,没有部分成交的尴尬。

把两种失败模式并排放,选择逻辑就清楚了。订单簿的失败是「没人接」:表现为成交不足、限价单挂在链上任行情漂移、或者订单被抢先你需要重新出价。AMM 的失败是「太贵了」:表现为滑点超限整笔回滚,或者你放宽了滑点容忍度,事后发现成交均价劣化了本可避免的一大截。前者浪费时间和机会成本,后者直接折在价格里。

时间维度上两者也不同。订单簿盘口是快变量,做市商补单让深度在几秒内恢复,深夜薄流动性的窗口可能只有几分钟;AMM 深度是慢变量,要靠套利者搬砖才能重新平衡。所以同一笔大单在不同时段的最优场所会漂移:订单簿高峰时段深度可能反超 AMM,凌晨则反过来。成熟的做法是混合路由:把订单拆给两边,订单簿吃低价档口,AMM 兜底剩余量,用聚合器一次报价、分别结算。

还有两处差异值得写进选择账本,一是极端行情下的失败模式,二是保护手法。订单簿的失败常表现为接不住:行情剧烈时做市商撤单,深度在几秒里蒸发,你的挂单裸露在趋势里,要么反复改价要么干等。AMM 的失败则是成交太贵:剧烈波动时段套利资金还没把偏斜的储备搬回来,大单吃到平时的几倍价格影响,滑点容忍度放宽一点,亏的就直接折进均价。两者都可能被抢先交易,但保护工具不同:订单簿靠私有下单与公平排序通道,AMM 兑换靠最小产出参数与私有交易。订单簿拿不确定性换成交价格的惊喜,AMM 花确定性的钱买没有部分成交——把哪一种确定性装进账户,取决于你的订单更怕没成交还是怕贵。

再补一个新手最陌生的细节:订单簿吃单是一次链上调用沿档位推进,成交前你其实看不到全部深度被谁挂着——挂单地址可以随时撤,报价页显示的深度到执行那一刻未必还在。AMM 的储备则写在合约状态里,模拟调用能给出接近真实的成交预测。这一层信息不对称的差别,往往比费率更能解释同样的单子为何在两边体验悬殊。

最后一层是风险结构的差异。订单簿把执行风险留给你自己——成交与否、何时成交、挂单期间是否被行情甩下,都由你的下单策略承担;AMM 把这些风险摊给了池子的 LP,代价是价格影响更平滑但更诚实,没有人能给你「意外之喜」。不存在全能场所,只有和你的订单尺寸、时限、可接受不确定性匹配的场所。本文只做机制说明,不构成任何投资建议。

链上订单簿与 AMM:同样一笔大单,成交体验差在哪 图 2
链上订单簿与 AMM:同样一笔大单,成交体验差在哪 · 图 2