第1章:加密货币做市:CEX与DEX做市差异、AMM机制与做市、无常损失管理、跨交易所套利做市

大家好,我是你们的老朋友。今天咱们聊聊加密货币做市这个领域。说实话,我刚从传统金融转过来时,也被这玩意儿震住了——同样是做市,CEX和DEX完全是两码事。别急,咱们一点点拆开看。

1.1 CEX与DEX做市:根本差异在哪?

先问个问题:你在币安做市,和在Uniswap做市,感觉一样吗?

答案显然是否定的。我个人习惯把CEX(中心化交易所)比作「传统菜市场」——有管理员、有固定摊位、买卖双方都看得见。而DEX(去中心化交易所)更像是「自动售货机」——你投币进去,机器自动给你吐货。

具体差异我列了个表,你一看就明白:

维度 CEX做市 DEX做市
订单簿 有,买卖挂单可见 无,依赖AMM自动定价
资金托管 交易所托管 用户自托管(智能合约)
做市门槛 高(需API、低延迟、大资金) 低(任何人都可提供流动性)
收益来源 买卖价差 + 返佣 交易手续费 + 流动性挖矿
风险类型 市场风险、交易所风险 无常损失、智能合约风险

我在项目中遇到过不少新手,一上来就把CEX那套策略直接搬到DEX上,结果亏得底裤都不剩。为什么?因为DEX的定价机制完全不同——它用的是AMM(自动做市商)。

1.2 AMM机制:自动做市商到底怎么玩?

AMM,说白了就是一条数学曲线。最经典的当属Uniswap的恒定乘积公式:x * y = k。x和y是两种代币的储备量,k是常数。

举个例子:假设池子里有100个ETH和200,000个USDC,那么k = 100 * 200,000 = 20,000,000。这时候你想用1个ETH换USDC,系统会怎么算?

嗯,这里要注意:交易后池子里ETH变成101个,那么USDC必须变成20,000,000 / 101 ≈ 198,019.8个。所以你拿到的USDC是200,000 - 198,019.8 = 1,980.2个。这就是AMM的定价逻辑——滑点天然存在,交易量越大滑点越高。

我刚开始做DEX做市时,总觉得这公式太简单了,能赚钱吗?后来发现,恰恰是这种「简单」带来了巨大的套利空间。你想想看,如果某个池子的价格和外部市场不一致,套利者就会蜂拥而至,直到价格回归平衡。

核心要点:AMM做市本质上是在「被动提供流动性」,你无法像CEX那样主动挂单、撤单。你的仓位会随着交易不断变化——这就是无常损失的根源。

1.3 无常损失管理:做市商的头号敌人

无常损失(Impermanent Loss,简称IL),我愿称之为「做市商的隐形杀手」。它指的是:你存入流动性池子的资产价值,相比你单纯持有这些资产,可能产生的损失。

为什么会这样?因为AMM的定价机制决定了:当价格大幅波动时,你的仓位会被「低卖高买」——价格涨时你卖得少,价格跌时你买得多。结果就是,你持有的资产比例会偏离初始状态。

我给大家一个直观的表格:

价格变化幅度 无常损失比例
±10% 约0.5%
±25% 约3.0%
±50% 约11.1%
±100% 约33.3%

我曾经踩过一个坑:在2021年5月,我把ETH和USDC按50:50的比例存入Uniswap池子。结果ETH从4000美元跌到2000美元,我心想「没事,手续费赚回来了」。结果一算账——无常损失加上价格下跌,总亏损超过40%。嗯,从那以后我再也不敢忽视IL了。

避坑指南:我曾经以为只要选波动小的币对就能避免IL,结果发现稳定币对(如USDC/USDT)虽然IL极小,但手续费收益也低得可怜。真正的平衡点在于:选择波动适中、交易量大的币对,同时利用流动性挖矿奖励来对冲IL。

1.4 跨交易所套利做市:把价差变成利润

聊完AMM,咱们说说套利。跨交易所套利做市,说白了就是「低买高卖」——在价格低的交易所买入,在价格高的交易所卖出。但这里有个关键点:你要同时做市,才能持续吃到价差。

我常用的策略是这样的:

  1. 监控价差:用脚本实时监控多个交易所的同一币对价格。当价差超过阈值(比如0.5%)时触发。
  2. 双边挂单:在价格低的交易所挂买单(做市),在价格高的交易所挂卖单(做市)。
  3. 对冲风险:如果价差消失或反向,立即撤单并反向操作。

这里有个代码示例,是我个人常用的价差监控逻辑(Python伪代码):

import time
import requests

def get_price(exchange, symbol):
    # 假设从交易所API获取价格
    response = requests.get(f"https://api.{exchange}.com/price/{symbol}")
    return response.json()['price']

def arbitrage_check():
    price_binance = get_price('binance', 'ETHUSDT')
    price_uniswap = get_price('uniswap', 'ETH/USDC')
    
    spread = abs(price_binance - price_uniswap) / min(price_binance, price_uniswap)
    
    if spread > 0.005:  # 0.5%阈值
        print(f"套利机会!价差:{spread:.4%}")
        # 执行套利逻辑
    else:
        print(f"无套利机会,当前价差:{spread:.4%}")

while True:
    arbitrage_check()
    time.sleep(1)  # 每秒检查一次

你想想看,这个策略的核心是什么?不是代码多复杂,而是「速度」和「资金利用率」。我在项目中遇到过,有时候价差只存在几秒钟,你慢了就没了。所以很多专业做市商会把服务器放在交易所机房旁边,甚至用FPGA加速。

小技巧:我个人习惯在套利时,把资金分成多份,同时监控多个币对。这样即使某个币对价差消失,其他币对还能补上。另外,别忘了计算手续费和Gas费——有时候看起来有价差,扣完费用反而亏钱。

1.5 知识体系总览

最后,我用一张图把本章的核心逻辑串起来。这张图是我自己画的,你一看就明白CEX做市、DEX做市、AMM、无常损失、套利做市之间的关系:

加密货币做市知识体系 做市策略 CEX做市 订单簿、API、低延迟 DEX做市 AMM、流动性池 AMM机制 x*y=k 恒定乘积 无常损失管理 对冲、选择低波动币对 跨交易所套利做市 价差监控、双边挂单 核心:速度 + 资金利用率 + 风险对冲

这张图其实已经说得很清楚了:CEX和DEX是两条不同的路,但最终都指向同一个目标——赚取价差和手续费。AMM是DEX的基石,无常损失是DEX做市必须面对的代价,而跨交易所套利则是把不同市场的价差变成利润的手段。

好了,第一章就聊到这儿。记住一句话:做市不是赌博,是数学和速度的游戏。下一章咱们会深入CEX做市的具体策略——包括订单簿分析、挂单技巧、以及如何用Python搭建一个简单的做市机器人。到时候见。


无相订单流研究社 微信Lucian808555