第1章:资金池概念——流动性池的定义与做市模型
大家好,我是你们的老朋友。今天咱们来聊聊做市商策略里最基础、也最核心的一个概念——资金池。
说白了,资金池就是一堆资产放在一起,供大家交易。你可能会问,这跟传统的订单簿有啥区别?嗯,区别大了去了。传统交易所里,你得等有人挂单才能成交。而资金池模式,你直接跟池子交易,池子就是你的对手方。
我个人习惯把资金池想象成一个“自动售货机”。你投进去一个币,它自动给你吐出一瓶水。价格呢?由池子里的资产比例决定。这就是自动化做市商(AMM)的核心思想。
1.1 流动性池的定义
流动性池,英文叫 Liquidity Pool,本质上是一个智能合约管理的资产集合。用户(也就是流动性提供者)把两种代币按一定比例存进去,池子就有了深度。
举个例子:
- 你存入 100 个 ETH 和 200,000 个 USDC
- 池子总价值 40 万美元(假设 ETH 2000 美元)
- 别人想用 USDC 买 ETH,直接从池子里拿
这里有个关键点:池子里的资产比例决定了价格。如果 ETH 被买走很多,池子里 ETH 变少、USDC 变多,ETH 的价格就会上涨。反之亦然。
核心公式: 价格 = 池中代币B的数量 / 池中代币A的数量
但这只是最朴素的理解。实际应用中,不同模型有不同的定价规则。
1.2 恒定乘积做市模型(Uniswap V2)
这是目前最主流的模型,Uniswap V2 用的就是它。公式很简单:
x * y = k
其中 x 是代币A的数量,y 是代币B的数量,k 是常数。
什么意思呢?就是无论你怎么交易,池子里两种代币的乘积保持不变。你想想看,这其实是个双曲线。当 x 趋近于0时,y 会变得非常大——这意味着价格会无限高。
我在项目中遇到过一个问题:如果池子深度不够,大额交易会导致严重的滑点。比如你拿 100 万 USDC 去买一个只有 10 万美金深度的池子,价格可能被推到天上。
避坑指南: 我曾经在测试网上部署 Uniswap V2 时,忘记检查 k 值的更新逻辑。结果一笔交易后,k 值变了,整个池子都乱了。后来我养成了习惯:每次交易后都校验 x*y 是否等于 k。
恒定乘积模型的优点:
- 永远有流动性(不会枯竭)
- 价格随供需自动调整
- 实现简单,gas 成本低
缺点也很明显:
- 滑点大(尤其深度不足时)
- 无常损失风险高
- 不适合稳定币对交易
1.3 恒定和做市模型
这个模型就简单多了:
x + y = k
价格始终是 1:1。你想想看,如果 x 和 y 都是稳定币,比如 USDC 和 USDT,那这个模型就完美了——价格永远锚定在 1 美元。
但问题来了:如果外部市场价格波动,套利者会瞬间把池子掏空。比如 USDC 跌到 0.99 美元,套利者就会用 USDT 买走所有 USDC,直到池子失衡。
我记得在 Curve 的早期版本中,他们用了这个模型的变体。但说实话,纯恒定和模型在实际应用中很少单独使用,因为它太脆弱了。
注意: 恒定和模型只适合资产价格高度相关的场景。如果你把 ETH 和 USDC 放进恒定和池子,那基本是送钱给套利者。
1.4 混合做市模型
既然恒定乘积和恒定和各有优缺点,那能不能结合起来?当然可以。这就是混合做市模型。
最典型的代表是 Curve 的 StableSwap 模型。它的核心思想是:
- 在价格接近 1:1 时,使用恒定和模型(滑点低)
- 在价格偏离时,平滑过渡到恒定乘积模型(防止枯竭)
公式稍微复杂一点:
An^n * sum(x_i) + D = A * D * n^n + D^(n+1) / (n^n * prod(x_i))
嗯,看着有点吓人。但说白了,就是引入了一个参数 A(放大系数),来控制曲线的弯曲程度。A 越大,曲线越接近恒定和;A 越小,越接近恒定乘积。
我在做 Curve 的流动性策略时,发现一个有意思的现象:A 参数的选择直接影响做市收益。如果 A 设得太高,池子容易被套利者攻击;设得太低,滑点又大。后来我总结了一个经验:对于稳定币对,A 设在 100-200 之间比较合适。
1.5 三种模型的对比
| 模型 | 公式 | 适用场景 | 滑点特征 | 无常损失 |
|---|---|---|---|---|
| 恒定乘积 | x * y = k | 非稳定币对(ETH/USDC) | 大额交易滑点高 | 高 |
| 恒定和 | x + y = k | 稳定币对(USDC/USDT) | 几乎无滑点 | 低(但易被套利) |
| 混合模型 | Curve 公式 | 稳定币、流动性集中场景 | 小单低滑点,大单平滑 | 中等 |
1.6 资金池的核心逻辑图
下面我用一张 SVG 图来展示资金池的核心运作逻辑。这张图我画了好几次才满意,希望能帮大家理清思路。
这张图展示了资金池的完整生态:流动性提供者存入资产,交易者进行买卖,做市商策略根据模型计算价格并执行再平衡。三种模型各有适用场景,选择哪种取决于你的资产类型和风险偏好。
1.7 我的实战建议
做了这么多年做市商,我总结了几条经验:
- 别迷信单一模型。 恒定乘积虽好,但稳定币对用起来就是灾难。我见过有人把 USDC/USDT 放进 Uniswap V2 池子,结果一天亏了 5% 的无常损失。
- 关注深度。 资金池的深度决定了你能做多大的交易。我一般要求池子深度至少是单笔交易量的 20 倍以上。
- 监控套利者。 套利者是市场的“清道夫”,但他们也会吃掉你的利润。我习惯在策略中加入滑点保护,防止被三明治攻击。
小技巧: 如果你刚开始做市,建议先用测试网跑一遍。我记得第一次在以太坊主网上部署策略时,gas 费高得吓人,一笔交易花了 0.5 ETH。后来我学会了在 Layer 2 上部署,成本降了 90%。
好了,这一章的内容就到这里。资金池的概念是后面所有策略的基础,希望大家能真正理解 x*y=k 这个公式背后的含义。下一章我们会深入讨论做市商策略的具体实现,包括如何计算最优报价、如何管理库存风险等。