在Barbon和Ranaldo [1] 最近的研究《关于加密货币市场质量》中,他们发现DeFi现货交易伴随着高交易成本,这需要与CEX上的委托托管所涉及的风险和延迟进行权衡。然而,对于永续合约来说,这是一个必要的权衡吗?
成本来源
永续合约的交易成本可以分解为不同的组成部分:交易费、gas费、滑点和持有成本。
- 交易费:当交易者买入或卖出永续合约时,每一次交易都会产生这些费用。通常,交易费是名义头寸大小的一个固定比例。名义头寸大小也称为“合约大小”,例如,如果您以1000 USDC的保证金进行2 ETH多头交易,那么名义头寸大小为2 ETH(交易费与保证金无关)。
- gas费:在DEX上,交易伴随着gas费,这些费用在不同的区块链和智能合约代码之间有差别。对于大多数区块链,gas成本还取决于网络的状态。gas费通常以区块链的基础货币支付,且与头寸大小无关,而CEX上的交易没有gas费。
- 滑点:滑点是(中间)价格与您交易时所得价格之间的差异。对于给定的交易所和时间,您的头寸越大,滑点越高。一些DeFi协议对术语进行了区分,使用价格影响作为预期价格偏差,而将滑点定义为与中间价格的意外偏差(例如,由于限价单被取消或其他交易者先行进入而导致的偏差)。在本文中,我们只考虑价格影响。
示例:在像Binance上的永续合约交易所这样的订单簿系统中,中间价格是最佳买价(市价卖出时获得的价格)和最佳卖价(市价买入时获得的价格)的平均值。图1显示了Binance上ETH永续合约的订单簿截图。我们可以看到,最佳卖价为1,098.63美元,最佳买价为1,098.62美元。如果我们购买不超过263.0731 ETH,我们将以最佳卖价进行交易,除非另一位交易者在我们之前执行,或者这个价格的限价订单被取消。如果我们交易超过这个数量,价格会略有下降。与中间价格相比,价格的下降被称为滑点。
- 持有成本:永续合约通常具有资金费率。资金费率通常是每8小时计算一次,如果多头仓位的需求大于空头仓位,资金费率从多头支付给空头,如果空头仓位的需求大于多头,则从空头支付给多头。这是BitMex在2016年引入的经典永续合约设计。历史上,大多数时间是每8个小时空头会从多头那里得到约1个基点(0.01%)的费率。然而,一些如GMX的DeFi协议颠覆这一设计,向多头和空头收取“借款费率”,以1小时为单位计算(意味着这0.01%的费率是BitMEX惯例的8倍)。这可能导致持有成本显著增加。而在Gains Network上,则对抵押品征收“滚动/翻转费率”,并与资金费率结合使用。
竞争对手
在这一部分,我们详细介绍了我们如何收集和比较数据。我们以Binance作为CEX的代表,在撰写本文时,就交易量而言Binance排名第一,并且与其他CEX相比,费用较低。对于DEX,我们从GMX、Gains Network、Perpetual Protocol和dYdX收集数据。我们将这些结果与我们自己的D8X永续合约进行比较。由于在撰写本文时,D8X永续合约尚未在主网上线,我们使用基于代理的模拟与我们预期的最高成本层来确定所有成本组件。
dYdX是我们选择中唯一使用订单簿而不是自动做市商(Automated Market Maker,AMM)的DEX。尽管是非托管的,目前dYdX与StarkWare的合作实现了链下订单簿,并通过单一的中心化顺序处理器进行瓶颈处理,详情请参阅Blogmates,这削弱了DeFi本身的优势。
基于AMM的协议,如Perpetual Protocol、Gains Network和GMX,使用定价函数来确定交易价格。每个交易者都通过AMM的定价函数与“流动性池”进行交易。流动性池允许任何人向协议贡献代币(通常是USD形式的代币,如DAI或USDC),并参与AMM的盈亏。
GMX的定价函数与其他协议不同,它的滑点为零。这在某些情况下可能导致潜在的滥用,详见Joshua Lim,但可为交易者带来较低的成本。由于消除了滑点而带来的较低成本会通过向多头和空头收取借款费来补偿(不同于资金费率)。
Gains Network收取资金费和借款费。Gains Network采用线性定价方法。也就是说,Gains会向指数价格添加一定点差,并随着交易规模线性恶化价格,详见Gains Network的gTrade v6.1: In-depth。
Perpetual Protocol提供经典的永续合约,这些合约会点对点支付资金费(从多头到空头或反之)。在V2中,该协议从Uniswap v3的集中流动性AMM中借用了定价函数,因此,Perpetual Protocol V2继承了Uniswap V3的滑点。
D8X也提供经典的永续合约,点对点支付资金费。D8X在定价方法上有显著的不同,采用一种衍生品定价方法,其中AMM设置价格,以激励交易者将AMM风险最小化。例如,如果在特定永续合约中多头和空头的数量相等,并且有足够的流动性,那么因价格波动而导致AMM亏损的风险非常低。在这种情况下,滑点将非常低。相反,如果多头多于空头,那么D8X AMM将为做空的交易者提供更好的价格,从而降低AMM的市场风险,并为进入多头头寸的交易者提供明显更高的价格和滑点。与Perpetual Protocol和Gains相比,这在良好时期会产生更好的价格影响,并且当供需差异较大时,价格可以被套利。
数据
我们的目标是估算持有期为8小时的100 ETH交易的价格。在本部分中,我们详细说明了数据收集过程以及如何确定滑点。
交易费数据
交易费用数据是直接从我们样本中不同交易所的文档中收集的(数据1、2、3、4和5)。如果交易所提供交易费用返还选项,我们使用最低层次的费用数据(即“普通用户”)。如果交易所区分吃单费和挂单费,我们使用吃单费。
滑点数据
滑点数据在2022年10–11月收集的。收集方法因交易所而异,具体描述如下:
收集订单簿滑点数据:Binance和dYdX
对于我们样本中的两个基于订单簿的交易所,dYdX和Binance,我们通过他们的REST API收集订单簿数据。我们的Python代码每分钟下载订单簿数据,并在PostgreSQL数据库中聚合数据。然后,我们为每个订单簿观察计算多头和空头100 ETH交易的平均价格。对所有结果进行平均得出最终的滑点数据。
Binance
2022年10月30日和31日观察1556次,
多头平均滑点0.50个基点,标准差0.56个基点
空头平均滑点0.53个基点,标准差0.61个基点
下图使用直方图将数据可视化:
dYdX
2022年10月31日观察799次,
多头平均滑点1.87个基点,标准差0.61个基点
空头平均滑点1.76个基点,标准差0.69个基点
下图使用直方图将数据可视化:
收集AMM滑点数据:Perpetual Protocol、Gains Network和GMX
对于我们样本中有滑点的两个基于AMM的交易所(Perpetual Protocol和Gains Network),我们直接从协议的DApps中收集数据。GMX的设计中滑点为零。
Perpetual Protocol
我们从DApp中收集了开设100 ETH头寸所需支付的总USD金额,计算了AMM提供的隐含价格,并计算了(中间)价格与我们在100 ETH交易中获得的价格之间的百分比差异。我们在2022年10月30日观察了3次,平均滑点为54.41个基点。
Gains Network
我们设置了以10倍杠杆获得100 ETH头寸所需支付的总DAI金额,并直接从Gains DApp中获取了价格影响。我们在2022年11月5日和2022年11月22日进行了观察,观察到平均滑点为10.5个基点。
收集D8X滑点数据:基于代理的模拟
该模拟模仿了D8X的AMM。永续指数价格是从相应永续合约的历史数据中获取的。参与的代理包括提供流动性的人和交易者。提供流动性的人会随机向系统添加资金,然后在确定性的持有期之后将资金撤出。交易者在现金持有、杠杆选择、多头/空头选择、交易频率方面具有随机化的个体交易偏好,而且有不同的交易策略。这些策略包括动量交易、噪音交易(实质上不是一种策略)以及套利交易者,他们在决定是否交易时将永续合约价格与指数进行比较。
我们对模拟进行参数化,以便随着时间的推移,交易者数量不断增加,到一个季度结束时模拟多达1,000名交易者。最后,我们选择了一个类似于竞争者所评估的良好时期,并对滑点进行平均。
持有成本数据
对于采用经典资金利率的交易所,我们假设每8小时收取1个基点的资金费率。
与其强制收取资金费率不同,GMX收取的是借款费率,该费率包含了全部的持有成本。我们将从2022年8月30日到2022年10月30日的历史借款费率平均,结果为0.32个基点/小时。
对于Gains Network,我们观察到了2022年11月5日和2022年11月22日的翻转费,平均为0.86个基点。这些费用是应用在抵押品存款上,而不是名义头寸上,因此,在10倍杠杆下,它们大致相当于每小时对头寸规模应用0.09个基点。这些翻转费用被添加到我们假定的资金费率中,与其他强制收取资金费率的交易所一致,我们假设每8小时收取1个基本点的资金费率,从而计算出每小时0.215个基点的持有成本。
gas费数据
CEX,包括Binance,都没有gas费,在dYdX上执行交易也不涉及任何gas费。
对于其他DEX,我们从Dune Analytics收集了gas费数据:
- Perpetual protocol:2022年10月22日至2022年11月11日之间的平均gas费:$0.12
- GMX:2022年10月22日至2022年11月11日之间的平均gas费:$0.11
- Gains Network:我们无法找到一个可靠的数据来源,专门跟踪与执行交易相关的gas费。鉴于Gains Network在Polygon上运行,我们假设gas费与D8X相当。
- 根据我们在2022年11月11日至2022年11月22日期间收集的Testnet数据,D8X的平均gas费为$0.0015。
鉴于100 ETH的头寸规模,观察到的gas费微不足道,我们将在接下来的分析中将其排除在外。
结果
下图显示,总交易成本差异很大,从最高的129bps(=1.29%)到 11bps。
- 对于基于AMM的交易所Perpetual Protocol和Gains Network,总交易成本分别达到129bps和 53bps。这些成本的大部分与交易者面临的高滑点有关。高滑点是AMM使用的定价方法的结果。
- 对于GMX,交易成本仍然很高(22bps),更重要的是,持有头寸的时间越长,成本就越高。虽然高持有成本可能不影响短期翻转头寸的投机交易者,但它们确实影响了希望使用永续合约进行对冲的(机构)投资者。
- 对于dYdX,与基于AMM的DEX相比,总交易成本较低(15bps)。这一结果主要是由于相对较低的滑点,dYdX通过其订单簿实现了这一点。但请注意,订单簿是链下的。
- 与上述DEX相比,CEX的费用更低。图4显示Binance收取11bps的交易费用。这些交易成本的大部分是由于固定的交易费用。因为与基于AMM的DEX不同,CEX不会从滑点中赚钱,固定的交易费用通常是他们用来维护其服务的主要收入来源。
- D8X提供与Binance竞争的低费用,同时完全去中心化且非托管。在我们研究的交易所中,D8X是其中在DeFi和CeFi领域提供最佳交易条件的交易所。
参考文献
[1] Barbon, Andrea, and Angelo Ranaldo. “On The Quality Of Cryptocurrency Markets: Centralized Versus Decentralized Exchanges”
[2] BitMEX, “Perpetual Contracts Guide”
[3] GMX, “Decentralized Perpetual Exchange”
[4] Gains Network, “Rollover & Funding Fees”
[5] Perpetual Protocol, “Perpetual Protocol”
[6] dYdX
[7] Blogmates, “What is dyDx, the DYDX Token & dYdX Chain?”
[8] Joshua Lim, “Quick thread on the GMX ‘exploit’ last night”
[9] Gains Network, “gTrade v6.1: In-depth”
[10] Perpetual Protocol, “How Perp V2 Works”
[11] Perpetual Protocol, “Trading Fees and Gas Fees”
[12] GMX, “Trading”
[13] Binance, “Trading Fees”
[14] dYdX, “Fees”
[15] Gains Network, “Low trading fees”
[16] dYdX, “Perpetual Order Types”
[17] Dune, “Avg OP Gas Fee — Last 30 Days”
[18] Dune, “Cost-of-transactions-on-gmx-arbitrum”