任何UNIswAp LP头寸的成功都取决于两个基本组成部分:
DEFI的目标是帮助用户理解和模拟这两个组件的影响,并帮助估计可能的结果。 无常损失可以用数学解释清楚,这里提供了几种可视化的方法来支持用户模拟价格变化对投资的影响。 相反,产生的费用是高度不确定的;我们不能创建精确的模型来确定一个池在未来将产生的费用数额,但我们可以帮助我们的用户支持基于LP头寸的历史数据的模拟,以支持他们的分析和决策。 DeFi扩展了工具,让用户能够基于一种新的方法来计算Uniswap LP策略的历史表现。 Uniswap V3池回测的新方法Uniswap LP策略是高度差异化的,每个投资者可以选择自己的主动流动性范围,每个人收取的费用也不同。 为了回测策略,我们需要收集数据并计算测试策略的具体条件。 提取特定Uniswap V3工具的历史数据 为了支持我们的分析,我们需要收集关于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 因此,可以将前式改写为: (责任编辑:admin) |