做市曲线的步子:TensorSwap 线性与指数两种价格变化的完整演算 图 1
做市曲线的步子:TensorSwap 线性与指数两种价格变化的完整演算 · 图 1

NFT 做市里常听到“曲线”这个词,Tensor 官方文档把它祛魅得很干脆:bonding curve 说白了就是“有人跟我的订单成交一次,我就想让价格变一次”。TensorSwap 的三类订单——全系列出价、挂单出售、做市订单——都靠这套曲线报价。本文把官方给的两个例子逐笔演算一遍,再补上机制对做市方那笔没说透的账。

先看买入的例子。设定起步价 1 个 SOL、想买的件数 5 件、步长 0.1 SOL,这条订单实际排出的采购序列是:第一件 1.0,第二件 0.9,第三件 0.8,第四件 0.7,第五件 0.6,五件全部成交总共付出 4 个 SOL。注意方向:买价越买越低,机制替你预设了“价格越低、越愿意多买”的节奏,官方把这称为曲线让你分批建仓或分批撤退的工具。卖出的例子换了参数:起步 1 个 SOL、卖 5 件、步长用百分比表示的 10%,序列变成 1、1.1、1.21、1.331、1.4641,五件全部卖出合计收到 6.11 个 SOL——越卖越贵,同样是自动的节奏。

步长有两种计量法,差别会在长序列上炸开。线性曲线用货币金额计步,每成交一次价格加或减固定数额;指数曲线用百分比计步,每成交一次价格乘一个固定系数。官方用同一个卖出场景对比:起步 1 SOL 的卖单,线性步长 0.1 时,成交一百次后报价到 11 SOL;指数步长 10% 时,同样一百次成交后报价是 1 乘以 1.1 的一百次方,约 13,780 SOL。买入方向也一样分道:线性步长 0.1 五次成交后买价降到 0.5,指数步长 10% 五次成交后买价在 0.62 附近。官方给的选择标准是:想要平缓稳定的变化用线性,想让小价位步子小、大价位步子大、跟着价格水平自适应就用指数。

算理讲完,该讲做市方付的那笔账了。假设你铺了一条做市订单,价格从你的起点一路下行再回到原位:下行段你的买入阶梯逐档成交,手里的代币越来越多、资金越来越薄;上行段你的卖出阶梯逐档成交,代币一件件交出去、资金一笔笔收回来。每一档成交价就是当时的阶梯价,这趟往返走完,你在低位接进的件数和高位卖出的件数被序列本身固定住,你的平均买入价和平均卖出价不会自动抹平——价格回到原点不等于你的头寸回到原点,这正是做市在曲线形态下也会积累成本的方式。步长越大,跟单越“跟得凶”,但同样资金下你的阶梯更快烧完;步长越小,阶梯拉得越长,每一笔成交给你的价差越薄。

官方文档给的操作要点可以合并成三条自查。定步长前先想清楚按货币还是按百分比计,并把次数拉长看尾部价格,指数曲线尾部经常远超直觉;做市订单要配合购买上限设置件数上限,官方明确市场做市订单的上限要手动设,放任订单用共享托管无限扩买会掏空资金池;算一算曲线走完时的头寸形状——买入曲线终局是钱换成了币,卖出曲线终局是币换成了钱——那个形状而不是成交笔数,才是你风险的说明。

最后留一个视角:给曲线铺阶梯,等于把“按固定规则与我交易”的合约摆在明面上。规则是双向可读的,任何人都能算出你的下一档报价、在你不变价时挑最便宜的一档下刀。参数人人可见,是这种市场设计的特性,也是它内置的成本来源。

本文为机制说明,不构成任何投资建议。

做市曲线的步子:TensorSwap 线性与指数两种价格变化的完整演算 图 2
做市曲线的步子:TensorSwap 线性与指数两种价格变化的完整演算 · 图 2