如何追踪 Uniswap V3 LP 策略的历史表现?这里有回测方法

CN
3年前

DeFi 扩展了工具,让用户能够基于一种新的方法来计算 Uniswap LP 策略的历史表现。

原文标题:《Uniswap V3 池的历史表现》 撰文:DeFi Labs

任何 Uniswap LP 头寸的成功都取决于两个基本组成部分:

DeFi 的目标是帮助用户理解和模拟这两个组件的影响,并帮助估计可能的结果。

无常损失可以用数学解释清楚,这里提供了几种可视化的方法来支持用户模拟价格变化对投资的影响。

相反,产生的费用是高度不确定的;我们不能创建精确的模型来确定一个池在未来将产生的费用数额,但我们可以帮助我们的用户支持基于 LP 头寸的历史数据的模拟,以支持他们的分析和决策。

DeFi 扩展了工具,让用户能够基于一种新的方法来计算 Uniswap LP 策略的历史表现。

Uniswap LP 策略是高度差异化的,每个投资者可以选择自己的主动流动性范围,每个人收取的费用也不同。

为了回测策略,我们需要收集数据并计算测试策略的具体条件。

为了支持我们的分析,我们需要收集关于 Uniswap V3 池的历史数据。为此,我们使用 TheGraph PoolHourData 子图来解决这个问题。

如 Uniswap V3 白皮书所述,对于每个池,Uniswap 合约跟踪合约首次初始化时存入的 1 单位无界流动性所能获得的费用总额 (fg)。无界流动性可以很容易地描述为一种为整个价格范围 (MinLimit = 0, MaxLimit =∞) 提供流动性的策略。

我们可以计算 1 单位的无限流动性在一段时间内所赚取的费用如下 :

F_Unb = fg(t) - fg(t-1)

为了确定 LP 头寸的历史费用,我们需要首先计算 LP 提供的流动性数量。流动性是策略 (最小限制和最大限制)和初始投资的函数。

流动性 = LiquidityFunction (MinLimit, MaxLimit, 投资)

在我们的计算中,我们还需要确定如果我们选择一个无界策略,同样的投资将产生的流动性。

LiquidityUnb = LiquidityFunction (0,∞,投资)

在每个时间段的开始,LP 可以 :

a) 为整个范围提供流动性,在这种情况下,所赚取的费用很容易确定 :

MyFeeUnb = F_unb * LiquidityUnb

b) 在特定范围内提供集中流动性。在这种情况下,费用是由价格花费在活跃流动性范围内的时间和乘数决定的。

MyFee = MyFeeUnb * 乘数 * 在范围内花费的时间

但乘数可以表示为 :

乘数 = 流动性 / LiquidityUnb

因此,可以将前式改写为 :

MyFee = F_Unb * 流动性 * 在范围内花费的时间

最后计算历史费用作为 MyFee 在每个分析期间赚取的收入。

这个理论很有趣 (有几分),但它真的有效吗 ?

我们在 Uniswap v3 中对超过 500 个当前开放的回测器进行了回测,结果如下

当位置处于活动状态的时间大约为 100% 时,回测是非常精确的,当距离内的时间较低时,精度会降低。

这是由于我们在计算在范围参数中花费的时间时需要应用近似值。使用 TheGraph 每小时的数据,我们不能精确地确定价格在这个范围内花费的时间,而只能是一个近似值。

这一新功能将允许直接在我们的模拟器中进行快速可靠的回测。

过去的业绩不能保证未来的结果,但它们代表了分析的重要基础,并支持我们的 LP 战略定义。

来源链接:defi-lab.medium.com

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻 ChainNews 立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

链闻仅提供相关项目信息,不构成任何投资建议。

坚决杜绝各类代币发行及炒作,如发现文章含敏感信息,请点击「举报」,我们会及时处理。

举报

免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。

ad
出入金首选欧易,注册立返20%
广告
分享至:
APP下载

X

Telegram

Facebook

Reddit

复制链接