为什么通用AMM模型不适用于DeFi期权交易定价?

作者:Aerhy

翻译:陀螺财经 阿瓜

文章来源:https://medium.com/podsfinance

划重点:

1. 期权定价取决于各种因素(如到期时间和隐含波动率等),在大多数情况下,它们往往为零(指未行权或行权价不合条件)。2. 通用AMMs(如Uniswap)的价格发现机制通常依赖于交易量,在一个流动性市场中,资产的价格应该由市场力量定价。然而,在本篇文章发表时,DeFi期权市场仍处于萌芽状态,期权可能不会频繁更新,这会使价格过时,给期权池的流动性提供者带来巨大的无常损失。3. 这篇文章探讨了Uniswap v1背后的数学原理,并得出结论——将其作为期权代币的交易场所可能不是最合适的。

通用AMM和无常损失

通用AMM,如Uniswap v1和v2,是DeFi中最重要的构件之一。

它的模型能够将价格发现和做市结合起来,这使得即使是流动性最差的资产,也会有市场和发展。

它精心设计了激励机制,鼓励不同的参与者作为卖家、买家和流动性提供者参与其中。事实上,流动性提供者是一个在系统中执行重要角色的参与者。这感觉就像是传统做市商的抽象。这种相似性背后的原因是,AMM不需要持续的账本管理和订单填充,用户就可以对其资金进行交易。有些人可能会说,那些不是同样的用户,也不是执行同样的业务。但归根结底,两个参与者(Uniswap中的流动性提供者和传统金融中的做市商)都是在引导一个市场。

目前,流动性提供者要在资金池的两边加入等量的资金作为流动性,作为回报,期望收取资金池中发生的所有交易的费用,并拿回自己的投资本金。

在DeFi中,有些用户一直将提供流动性的活动理解为一种 "被动收入投资",即提供资产,持有资金的金额,并收取与初始本金成正比的费用。虽然这对于稳定资产的池子(比如DAI:USDC)可能是正确的,但对于某些场景下的波动性资产的池子(比如USDC:ETH)并不完全正确。

有一种现象被称为无常损失,Impermanent loss (IL)是我们用来指在波动性资产对上增加Uniswap的流动性与只持有两种资产相比的负收益的表达方式。

它描述了一种情况,即寻求被动收入的流动性提供者的盈利能力受到了负面影响。如果添加的代币的价格最终能回到它们加入流动性池时的价格,那么无常损失是不存在的或很小的。但是,如果价格情况与最初的价格情况不同,与只持有资产的情况相比,提取的金额可能低于后者的总额。

这意味着,只有当流动性提供者(LP)在与最初使用的价格情况不同的情况下移除流动性时,才会出现无常损失。如果不移除,而等待一个更有机会的时机撤出,损失就不会发生(impermanent loss)。作为对比,在传统金融上,我们可以认为这是一个 "卖出永续跨期 "的头寸。之所以说是永续,是因为这个头寸没有到期日,LP可以持有多久就持有多久。

这意味着,即使在市场波动的情况下,LP以其进入时的价格水平去除流动性,LP将在这一期间从费用中获利,而不会遭受无常损失。

有些人可能会说,他们期望交易费能弥补他们的损失。这有可能发生,但只是在一定程度上,这取决于撤资时的价格,以及在提供流动性期间,池子里的流动性有多高,发生了多少交易。所以我们可以理解,对于流动性提供者来说,最有利可图的组合是一个资产不波动、每天有很多交易的池子。同时也要考虑到,市场定义了资产的定价,每当Uniswap中的代币定价与市场价格发生偏离时,套利者就会利用这个套利机会,在Uniswap中进行交易,帮助引导Uniswap的价格接近代币的市场价格。

模拟收益

为了分析Uniswap v2上流动性提供活动的收益,应考虑以下变量:

在提供流动性的时刻,交易对的现货价格撤资时的交易对现货价格池中的交易量池中的资产量从交易中产生的费用总额将分配给LP

恒定常数

constant_product (k) 因子是用来给交易定价的一种方式,并保持池子两边价值的平衡。当忽略费用时,系数的计算方法是:

定价

Uniswap使用以下定价公式来定义流动性池中每项资产的交易价值。

将公式1和2放在一起,我们最终得到以下结果:

需要强调的是,在另一个LP向池子增加流动性之前,恒定常数用于交易的资产定价。当这种情况发生时,恒定常数会随着新的池子余额而更新,并用于后续交易的定价。

例如:

初始池有100 ETH和10,000 DAI。因此,constant_product (k) = 100 * 10,000 = 1,000,000。

如果1天后,John决定用2 ETH和2,000 DAI为池子增加流动性(池子里没有交易),那么由于流动性池子的两边都增加了,所以需要更新恒定常数。因此,新的constant_product (k)将用于以下交易的定价:k = (100 + 2) * (10,000 + 2,000) = 102 * 12,000 = 1,224,000。

考虑到Uniswap的AMM要求流动性提供者在每个交易对的充值方面保持50/50的比例,公式2决定了资产的定价取决于每个池中发生的交易量。这意味着,在池中没有发生交易的情况下(池中发生的唯一活动是流动性提供),eth_price将保持与池创建时相同。换句话说,只有在有交易活动时才会更新价格。

当增加流动性时,资产的定价与想从池中购买1个资产时的定价发生了一些不同,我们可以看到下面的情况。

例如,让我们假设Rob想要为一个池子增加一对ETH:DAI的流动性。他想增加1个ETH,但他需要提供多少DAI代币?当前的池子余额是95个ETH和10,529.49个DAI。按照公式5,他需要提供的代币数量 = 1 * (10,529 / 95) = 110.87 DAI

提供流动性后,新的资金池余额为:

95 + 1 ETH = 96 ETH10,529 DAI + 110.87 DAI = 10,640.36 DAI新的k = 96 * 10,640.36 = 1,021,169.85

流动性提供者收益

要理解Uniswap的AMM,以及进入池子时代币的初始价格和撤出流动性时代币的价格之间的区别,还有一个重要的概念是LP代币。

LP代币转化为每个流动性提供者在池子里有多少钱,进而每个LP将从池子里产生的总费用中获得对应收益。

无常损失

既然介绍了关键概念,我们来分析一下流动性提供者遇到无常损失的场景。

Babi通过增加20k的总流动性(100ETH和10000DAI)来创建一个ETH:DAI池。作为第一个流动性提供者,根据公式6,她共获得1000LP。

LP_tokens_amount = sqrt (100 * 10,000) - 0.00000000000000001 = 1,000LP份额。

假设在创建池子后,有9笔交易发生,如下所示--n指的是池子创建后的每个时期。

考虑以下交易类型:

exact_output_x: 当用户想以任何价格购买1个ETH时。

exact_output_y: 当用户想用任意数量的ETH购买1个DAI时。

exact_input_x: 当用户想花一个准确的ETH数量来购买等值的DAI时。

exact_input_y: 当用户想花一个准确的DAI数量来购买等值的ETH时。

1,000,000的产品常数(k)是上述交易定价机制的主要指导。它计算的是对资金池每一方的影响应该是什么,从而使这笔交易能够发生,并且在忽略费用的情况下仍然保持产品常数。现在我们来计算一下交易发生后,对池子每一方的影响是什么。

让我们来挖掘一下n=1时发生的交易

初始资金池余额=100 ETH和10,000 DAIConstant_product = 100 * 10,000 = 1,000,000

交易类型:exact_output_x → 交易者想准确地买入1个ETH(所以他将从eth_liquidity_pool中删除1个ETH)。

新的eth_liquidity_pool = 100 - 1 = 99 ETH → 现在我们有了这个新的ETH池余额,那么新的DAI池余额是多少,因为池中会有大量的DAI代币涌入?

新的DAI_liquidity_pool = constant_product / new eth_pool_balance = 1,000,000 / 99 = 10,101.01。

由池中DAI的流入,我们可以假设如下公式。

eth_price = (10,101.01-10,000)/1 = 101.01 → 所以在n=1的交易中,交易者买入ETH的价格是101.01。

最终资金池余额:99个ETH和10.101.01个DAI。

我们可以在下面的表中看到发生在Uniswap的AMM,考虑到1,000,000的恒定产品和交易后的新池余额。我们也可以直观地看到价格与每笔交易收取的0.3%的费用。

交易发生后,最终的池子概况是:

现在我们假设Tom(user10_Add_1ETH)想在n=10的时刻增加1个ETH的流动性。由于AMM要求LP们提供每边价值相同的一对代币,所以Tom必须提供与1ETH价值相同的DAI数量,这个价格取自前面介绍的公式5。

所以Tom必须提供1个ETH。

DAI_amount_to_provide = 1 * (10,529 / 95) = 110.87 DAI

由于新的流动性提供者进入池中,在新的LP进入池中之前,需要更新交易定价的恒定常数,新的K = 96 * 10,640 = 1,021,170元

就在Tom之后,其他7个LP在池子里提供流动性,按照AMM提供的公式5的定价,按照公式7获得相应的LP份额,具体如下。

我们先考虑以下给出的信息,以方便进行无常损失分析。

Tom入池时的初始仓位是:1ETH和110.87DAI。

Tom (user10_Add_1ETH)决定在n = 17之后的任何时刻将他们的代币从池中移除。

Tom在池子里的LP是Tom LP代币 / total_LP_tokens = 10.53/1,284.30 = 0.008199 = 0.82%。

在n = 17之后,没有额外的流动性提供者进入池中,只发生了交易。

由于ETH:DAI池的交易量很大,我们可以认为Uniswap的定价机制反映了市场的真实定价,因为套利者会利用套利机会不断修正价格。

时间段(n)代表AMM中价格更新的每个时间段。

我们来比较一下,当他把资产放在钱包里,从池子里取出流动性的时候,他的资金会发生什么价格更新。

现在我们来比较一下,以上每种情况有什么不同。

将Pintail博文中的无常损失的公式应用到这种情况下,我们有:

从上面的模拟中我们可以得到的结论是,与在钱包中持有代币相比,在提供流动性时确实存在损失。当池子里的余额发生变化,每个代币的价格随着池子里的交易更新而变化时,就会发生这种情况。

需要强调的是,LP提供者可能会从池中移除他的LP。在这种情况下,汤姆在决定移除流动性的那一刻,移除了当前池子的0.8%。由于此刻Tom想要移除流动性的池子相比添加流动性时的池子可能发生了变化,他的最终价格与他的初始价格不同。

这种现象也可以在下图中通过绘制价格变化图来观察。

费用影响

Uniswap根据LPs在池中的参与情况,将所有交易的0.3%分配给LPs。因此,池中发生的交易越多,LPs获得的被动收入就越多。其中根据每个LP在池中所占的比例进行相应的分配,如前所述。

我们可以看到,由于Uniswap的AMM的功能是维持两个流动性池子的乘积,也就是所谓的constant_product,与交易前的乘积相同(不包括费用),所以发生了无常的亏损--我们可以说,AMM是一个复古的价格尺度,确保双方在价值上的权重相同(50%/50%的比例)。

需要强调的是,Uniswap中的代币价格是随着池子中发生的交易而更新的,这在很大程度上依赖于套利者在比较Uniswap价格和其他交易所时找到有利可图的套利机会的能力。因此,我们可以说Uniswap的AMM的定价完全由池中发生的交易决定。

虽然这种模式可能对非波动性资产和高波动性的交易池有很好的适应性,但它可能并不适合所有种类的资产。

期权会怎样呢?

期权池

在 DeFi 期权中(这里举例 Pods 期权),用户必须锁定 100% 的抵押品铸造期权代币。期权代币代表了买方的权利和卖方的义务。但是,由于卖方前期锁定了抵押物,所以没有什么可执行的,智能合约掌握卖方义务。

铸成期权后,用户可以选择将其卖出,或者为池子提供流动性。由于Uniswap是一个去中心化的协议,任何人都可以发起任何一对资产的池子,用户可以直接在Uniswap池子中出售每个系列的期权代币。

a) 假设该期权的市场是最有流动性的,因此,AMM的价格是正确的,通过纯粹的套利力量,代表了一个公平的,最新的价格。

或者

b) 仲裁池价格,如果池子对期权定价错误,有机会缩小差距。

遗憾的是,DeFi才刚刚开始,DeFi期权也才刚刚开始。这意味着,DeFi期权市场不一定能够随时修正Uniswap的价格。这意味着,如果一个池子长期停留在没有交易的情况下,将会有很大的套利机会。虽然这对交易者来说可能是好事,但对流动性提供者来说可能不是那么好。

但是怎么知道一个期权的价格是错误的呢?

期权的定价

传统金融中的定价方案有几种模型,最广为人知的叫做Black-Scholes。Black-Scholes公式如下:

Black-Scholes是一种为期权合约定价的数学模型,这种模型的假设之一是,资产的波动率在期权有效期内保持不变(这一点并不适用--尤其是在加密货币中)。该公式只适用于欧式期权(以及非派息资产的美式看涨期权)。

所有的方法都在某种程度上试图计算出期权到期的概率是多少,如果真的到期了,那现在的价值是多少。为了计算这样的理论价格,作者将标的资产的现货价格、到期时间、隐含波动率、无风险利率和行权价格等因素纳入其中。

期权的到期时间也就是期权的时间价值,也是使用Black-Scholes模型时影响定价的重要因素。

期权距离到期日越近,其内在价值就越趋于放大,也就是说,如果期权在接近到期日时处于价内,其价值就越高,因为期权被行权并获利的概率很高,这就使得期权的定价更昂贵。当期权远离到期日时,同样的逻辑也会发生:期权被执行的概率很低,这意味着它的价值接近于无价值(零)。你可以在下面看到关于这个概念的更多细节:

在到期时,期权价格要么在价内,要么在价外。大多数情况下,期权最终都是价外,因此,在到期时,期权的价值为零。

这意味着,如果用户向期权池提供流动性,而他们最终处于价外,用户可以提取更大比例的期权代币。届时,期权代币的价值可能为零。他们没有 "铸币 "的期权,也没有抵押品可以提取。当考虑到无常损失时,在这种情况下,我们就必须考虑到该交易对的其中一个资产在到期时是没有价值的。

如果在Uniswap的定价上不能输入这些因素,那么它的期权价格会怎样呢?

通用AMM的期权交易

每个交易者都会按照自己认为合适的方式对待这些公式。但他们中的大多数人都有一些计算期权价格的方法,可以考虑到影响期权价格的所有因素。交易者很可能会找到套利的机会,但流动性提供者最终可能会因为将其资产分配给了潜在的错误定价交易而导致损失。

出于这个原因,使用Uniswap这样的模型对期权进行定价可能不是流动性提供者的最佳选择。

写评论,请先登录