永续合约基础
永续合约简介
永续合约本质上是交易者在不实际购买代币的情况下,对某一特定指数代币的价格进行投注的一种方式,同时使交易者能够使用杠杆。
之所以称之为永续合约,是因为交易者可以根据自己的意愿,无限期地保持他们的“永续”仓位开放。
永续合约中常见概念
- 永续合约(Perpetual Contracts):
- 这是一种类似于传统金融市场的期货合约,但没有到期日,允许交易者无限期地持有仓位。永续合约通常用于加密货币市场,使交易者能够利用杠杆买卖资产。
- 保证金(Margin):
- 在开设永续合约仓位时所需存入的资金,以保证交易在价格不利移动时仍能持续。保证金可以是初始保证金和维持保证金,分别对应于开仓和保持仓位所需的最低资金水平。
- 杠杆(Leverage):
- 允许交易者以小额资本控制大额资产。杠杆增加了潜在的收益,同时也增加了风险,因为市场小幅度的移动会对交易者的盈亏产生较大影响。
- 资金费率(Funding Rate):
- 在永续合约市场中,资金费率是多头和空头之间交换的支付,目的是保持合约价格接近于标的资产的现货价格。资金费率可能是正的或负的,取决于仓位的多空关系。
- 清算(Liquidation):
- 如果市场的移动导致保证金账户的资金水平降至维持保证金以下,清算过程将启动。清算是强制平仓过程,用于防止进一步的损失,并确保市场不会因欠账而瘫痪。
- 自动化市场制造商(AMM):
- 在DeFi中,许多永续合约平台使用AMM而不是传统的订单簿。AMM利用算法提供流动性池,允许用户与智能合约而非其他交易者交易。
- 流动性池(Liquidity Pool):
- 用户可以向流动性池提供资金,这些资金被用来支持交易活动和贷款。为了鼓励提供流动性,提供者通常会获得交易费用的一部分作为回报。
- 去中心化(Decentralization):
- DeFi永续合约平台通常是去中心化的,这意味着它们不由单一的中心机构控制。这有助于降低审查和单点故障的风险。
- 智能合约(Smart Contracts):
- DeFi平台的所有操作都是通过智能合约进行的,这些是自动执行、在区块链上运行的程序,用于处理交易、计算资金费率和执行清算等。
那么什么是仓位?
整个协议围绕属于交易者的“仓位”展开,一个仓位包括以下内容:
- 规模 - 这是交易者指挥的“虚拟”资本量,一个BTC永续合约的仓位大小可能是1.5 BTC。如果BTC的价格上升,交易者能够实现其仓位中1.5 BTC的利润。
- 抵押品 - 用来“支持”交易者仓位的一定量的资产,当交易者亏损时,他们的亏损将从抵押品中扣除。如果抵押品的数量被认为不足以支撑仓位的大小,该仓位将被清算或强制平仓。
规模 / 抵押品
比率是仓位的杠杆。例如,如果我以10,000美元的USDC作为抵押品开设一个总额为20,000美元的BTC仓位,我的杠杆就是2倍。
多空头
永续合约的仓位可以有两种不同的方向。
- 多头 → 当指数代币的价格上涨时,交易者盈利;当价格下跌时,交易者亏损。
- 空头 → 当指数代币的价格下降时,交易者盈利;当价格上涨时,交易者亏损。
我们来看一个以 ETH为指数代币的多头仓位的例子:
- ETH的当前价格为$5,000。
- 在触发清算前允许的最大杠杆是15倍。
- Bob以$1,000的USDC作为抵押品,开设了$10,000规模的多头仓位。在当前ETH价格下,他$10,000的仓位规模相当于仓位中的2 ETH。
- Bob有$10,000的仓位规模,只有$1,000的抵押品——因此Bob仓位的杠杆是10倍,这在允许的范围内。
- ETH的价格上涨到$6,000——涨幅20%。
- Bob现在盈利了!他的永续仓位中有2 ETH的仓位规模,他的成本基础是$5,000——所以他的净PnL(盈亏)是
($6,000 - $5,000) * 2 = $2,000
或者(当前市场价值 - 平均仓位价格)* 仓位规模中的代币数量
。 - Bob可以平仓并实现这$2,000的利润,然而Bob贪婪,他保持仓位开放希望获得更多利润。
- 不可避免地,ETH的价格跌至$4,750。
- Bob的利润已经消失,实际上他现在处于亏损状态!他的永续仓位现在的PnL如下:
($4,750 - $5,000) * 2 = -$500
。 - 这$500的亏损需要由Bob的抵押品来承担,这意味着他剩余的抵押品是:
$1,000 - $500 = $500
。Bob现在只剩下$500的抵押品来“支持”他的仓位,因此他的杠杆是他$10,000原始规模除以他$500剩余抵押品,$10,000 / $500 = 20倍
。 - Bob的仓位已经超过了清算阈值,因此被清算。他的抵押品被没收,他$500的亏损连同额外的清算费一起发送给流动性提供者,他的剩余抵押品被退还给他。
现在我们来看看空头仓位是如何表现的:
- ETH的当前价格为$5,000。
- 在触发清算前允许的最大杠杆是15倍。
- Bob以$1,000的USDC作为抵押品,开设了$10,000规模的空头仓位。在当前ETH价格下,他$10,000的仓位规模相当于仓位中的2 ETH。
- Bob的杠杆是10倍。
- ETH的价格下跌到$4,000——下降20%。
Bob现在盈利了!他的永续仓位中有2 ETH的仓位规模,他的成本基础是$5,000——所以他的净PnL是
($5,000 - $4,000) * 2 =$2,000
或者(平均仓位价格 - 当前市场价值)* 仓位规模中的代币数量
。Bob可以平仓并实现这$2,000的利润,然而Bob贪婪,他保持仓位开放希望获得更多利润。
- 不可避免地,ETH的价格升至$5,250。
- Bob的利润已经消失,实际上他现在处于亏损状态!他的永续仓位现在的PnL如下:
($5,000 - $5,250) * 2 = -$500
。 - 这$500的亏损需要由Bob的抵押品来承担,这意味着他剩余的抵押品是:
$1,000 - $500 = $500
。Bob现在只剩下$500的抵押品来“支持”他的仓位,因此他的杠杆是他$10,000原始规模除以他$500剩余抵押品,$10,000 / $500 = 20倍
。 - Bob的仓位已经超过了清算阈值,因此被清算。他的抵押品被没收,他$500的亏损连同额外的清算费一起发送给流动性提供者,他的剩余抵押品被退还给他。
💡 注意,多头的PnL公式与空头的不同:
多头PnL = (当前市场价值 - 平均仓位价格) * 仓位规模中的代币数量
空头PnL = (平均仓位价格 - 当前市场价值) * 仓位规模中的代币数量
交易者
交易者是开设永续仓位并对指数代币价格进行押注的行为主体。
当指数代币的价格朝着他们预测的方向移动时,交易者将获利;当价格朝着相反方向移动时,他们将亏损。
交易者必须为他们的仓位提供抵押品,这些抵押品用于在价格与他们预测的方向相反时覆盖他们的损失。
流动性提供者
流动性提供者持有与交易者相反的仓位,当交易者亏钱或被清算时,他们将获得利润。流动性提供者还经常从交易者那里收取费用,比如开仓和平仓费,或者借贷费用。
流动性提供者提供资产。当交易者获利时,他们从流动性提供者那里获得代币。当交易者亏损时,他们会从自己的仓位抵押品中支付代币给流动性提供者。
开放利益
开放利益是所有开放仓位的总规模的度量。
在你的实现中,你可能会考虑跟踪两种类型的开放利益:
- 开放利益 — 以美元值计量,由仓位最初开设时的“规模”增加。
- 按代币计量的开放利益 — 以指数代币的价值计量,由仓位开设时的“代币规模”增加。
流动性储备
流动性储备是必需的,以确保在任何时候流动性池(由流动性提供者提供)中都有足够的资产来支付仓位的利润。
如果流动性提供者只存入了10美元的USDC,则允许交易者以$10,000的规模开设一个永续合约是不负责任的。如果价格哪怕只是稍微朝交易者的方向移动一点,他们的利润将超过10美元,但支付给他们的USDC将不足。
流动性储备的限制可能有些任意,类似于配置的清算阈值。这里有一个合理的公式可以遵循:
为了更准确,我们可以考虑多头/空头之间的差异。
空头的利润永远不会超过仓位的原始规模,因此shortOpenInterest是支付给空头的最大可能金额。然而,多头的利润可以无限增加,因此我们可以计算总多头仓位的当前估值。
一旦实施了类似上述的流动性储备验证,交易者就不能开设超出由存入的流动性合理支持的仓位,存款人也不能撤回对现有仓位至关重要的流动性。
额外
以下是一些可能对你研究和实现永续期货协议有用的参考资料:
- GMX V2 文档
- GMX V2 技术概览(视频)
- GMX V2 深入解析(更深入)