Uniswap v3 LP 策略与对冲
被动 Uniswap v3 头寸是一组无法取消的剩余限价订单。一本“活跃”的书——选择范围,重新以时间表为中心,对冲风险——是一本做市书,它应该像一本做市书一样运行。这种重构改变了每一个决定。做市商根据波动性预测调整报价,而不是凭直觉。做市商将每次重新报价视为成本,而不是反射。做市商始终了解其库存增量,并谨慎决定是持有它还是对冲它。做市商知道,一些交易对手的速度更快、消息更灵通,并且会对此进行定价。
集中流动性文章 构建了原语:价格变动、流动性 ,代币金额公式, feeGrowthInside,事实上,有限合伙人头寸是一种空头波动性收益,其运行成本是损失与再平衡(LVR)。这篇文章是该基础之上的操作手册。我们根据方差预测调整范围,将再平衡决策构建为明确的预期费用收益与已实现成本交易,直接从价值函数中导出头寸增量并用永续期货中和它,将即时(JIT)流动性视为主动LPing的极端情况,并以所有这些的诚实链上回测可能欺骗您的方式结束。自始至终,心智模型都是Avellaneda-Stoikov,有两个残酷的修改:你的报价在填满之前会出现在公共分类账上,并且每次重新报价都会花费汽油。
波动率预测的范围宽度
主动 LP 的一个最重要的参数是范围宽度,并且它是纯粹的波动性押注。太宽了,你会稀释很少交易的流动性,以 v2 资金池的低利率赚取费用。太窄了,你就会很好地集中深度——直到价格超出你的范围,你就会 100% 投入亏损的资产,并且在你重新平衡之前你什么也赚不到(途中的背离损失具体化)。最佳宽度是使价格经常保持在一定范围内的宽度,使得集中费率超过集中放大的 LVR。这是关于未来回报分布的陈述,因此您可以根据该分布的预测来确定其大小。
持有期限内的对数价格模型 大约 , 和 每期波动率。对称的 -对数价格中的西格玛范围是
所以 和 。选择 正在选择留在范围内的概率: 将价格控制在大约 68% 的范围内, 约 95%。更宽 交易时间范围内的费率,最佳点取决于费用等级和波动率制度——这正是做市商预测而不是猜测的数量。
链上参数的转换只需一行,因为价格变动是对数价格。自从 ,刻度索引为 , 和 ,所以以刻度为单位的半宽约为 。捕捉到池的刻度间距,你就有了界限:
import numpy as np
TICK = np.log(1.0001) # ≈ 1.0000e-4, one tick in log-price
def range_from_vol(price, sigma_per_day, horizon_days, k=1.0, spacing=10):
"""Symmetric k-sigma range -> tick bounds for a v3 position.
`price` is the RAW pool price (token1/token0, base units)."""
sig_h = sigma_per_day * np.sqrt(horizon_days) # vol over the horizon
i0 = round(np.log(price) / TICK) # current tick
half = round(k * sig_h / TICK) # half-width in ticks
lower = ((i0 - half) // spacing) * spacing # floor to spacing
upper = -(-(i0 + half) // spacing) * spacing # ceil to spacing
return lower, upper, np.exp(lower*TICK), np.exp(upper*TICK)
有效的数字可以修正直觉。以 ETH 为例,预测每日波动率为 4%,一周重新居中的范围( 天),以及 。然后 ,所以范围跨越 ,即大致 — 大约一个 乐队,或 刻度线对齐到间距。宽度在成交量预测中是*线性的(对数空间中的一阶),这就是重点:您的流动性集中度应该与市场的变化同步,而不是静态的“±10%,因为上个月感觉是正确的”。改变两个旋钮——制度和信心 — 区间的变动方式是做市商报价价差的变动方式:
| 每日预报 | 政权 | 半角 | 半角 | 大约。刻度线() |
|---|---|---|---|---|
| 2% | 冷静 | ±5.3% | ±10.6% | ±529 |
| 4% | 正常 | ±10.6% | ±21.2% | ±1058 |
| 6% | 高架 | ±15.9% | ±31.8% | ±1587 |
| 8% | 强调 | ±21.2% | ±42.3% | ±2116 |
将表视为引用策略,而不是查找。较窄的区间在范围内时每美元的费率较高(每跳动深度更大),但会更快退出范围并更频繁地重新居中;更宽的频带则相反。集中流动性乘数就是杠杆——a Band 报价的每跳动深度比全范围 v2 头寸大约高一个数量级,并且在范围内以该倍数赚取费用 - 但它也同样受到 LVR 的影响。范围宽度是您在费率与范围内时间边界上选择的点,而交易量预测则告诉您该边界当前的位置。
限制近端锋的一项约束是:刻度线间距。您的界限必须与费用等级的间距对齐,因此您可以表达的最小范围由您选择的池设置 - 0.05% 等级上大约 ±10 bp(间距 10),0.30% 等级上 ±60 bp(间距 60),1% 等级上 ±2%(间距 200)。这将两个看起来独立的决定结合在一起: **费用等级选择是范围分辨率选择。 ** 波动率预测需要 ±0.3% 范围的稳定货币对只能在 0.05% 等级上实现;在 1% 层尝试一下,刻度网格会迫使你至少宽八倍,稀释了你支付更高费用才能获得的浓度。将层的粒度与您的预测要求的宽度相匹配,而不是相反。

哪里有 来自?追踪窗口内的已实现波动率是粗略的答案,而且它非常具有前瞻性——它告诉你上周应该设定的范围。正确的工具是对当前状况做出反应的条件方差模型:聚合到地平线的 GARCH(1,1) 预测,如 GARCH 加密货币波动率预测 中开发的那样。 GARCH 给你 并且,通过迭代递归, - 步长方差,其平方根为 你想要的。加密货币的杠杆效应——波动率在下跌时跳得更多——支持不对称变体,以及相同的波动率目标机制,通过调整方向位置的大小 调整 LP 范围的大小 :方向相反,预测相同。将该系列输入 range_from_vol 每次重新集中时,位置的集中度都会自动跟踪预测。这就提出了本文接下来提出的问题:“应该”多久重新居中一次?
再平衡:费用收益与实现成本交易
过度再平衡是零售有限合伙人回报的头号破坏者,它是一个微妙的杀手,因为每个人的重新中心都感到有责任。价格向你的范围边缘漂移,所以你重新回到“保持活跃”的位置。但 v3 重新居中并不是在 CEX 上免费重新报价。这是三个成本的叠加:
- Gas — 销毁旧仓位,铸造新仓位,并(通常)进行掉期以重新平衡库存。在主网上,这是一个不小的每个周期固定成本,对于小仓位来说是残酷的。
- 掉期成本 — 要重新居中,您必须将不平衡的库存交易回新范围的比率,并支付掉期费用和对该交易的价格影响。
- 结晶LVR——这是看不见的。当价格波动时,头寸累积了纸面的背离损失。坚持价格的往返可以收回大部分(你保留费用,回馈库存波动)。重新集中意识到这种损失:你以低迷的价格出售你现在大量持有的资产,然后重置。每个最近更新者都会将纸质 LVR 转换为预订的 LVR。
所以再平衡的决定不是“我接近边缘了吗?”但做市商的重新报价计算是:从更好的中心位置预期的未来费用上涨是否超过了实现的成本? 从结构上讲,这是交易成本控制问题 - 最佳策略是围绕中心的“无再平衡带”,而不是绊线。在乐队内部,你让库存漂移并不断收取费用;只有当预期收益抵消成本时你才会采取行动。
def should_rebalance(pos, price, fee_apr, sigma, gas_usd, swap_bps):
"""Rebalance only if expected fee uplift beats the realized recenter cost."""
V = pos.value(price)
recenter_cost = (gas_usd
+ swap_bps * 1e-4 * pos.inventory_to_swap(price) # fee+impact
+ pos.crystallized_lvr(price)) # the hidden one
tau = pos.expected_time_in_range(price, sigma) # horizon until next recenter
fee_uplift = (pos.fee_rate_centered(price) - pos.fee_rate_now(price)) \
* fee_apr * V * tau
return fee_uplift > recenter_cost
用数字重新平衡决策
使其具体化。假设您在 ETH/USDC 0.05% 资金池中持有 50,000 美元的头寸,价格已漂移至您的范围边缘,重新集中将使您的有效费用捕获摆脱贫乏状态 APR(您几乎不在范围内)返回 年利率。您的 GARCH 预测表明,该宽度的新居中范围大约适用于 天 几年后你会再次重新审视。总提升量为
与此相反,重新定位的成本:25美元的gas(铸币+燃烧+掉期),不平衡库存的掉期——比如20,000美元以5个基点的费用加影响交叉为10美元——以及从出售到移动中的结晶LVR,另外60美元。总实现成本 。自从 ,你最近——但请注意它有多接近,以及 5 美元的汽油峰值或较短的预期保持如何翻转该信号。现在,以相同的百分比将头寸缩小至 5,000 美元:涨幅降至 15 美元,而天然气保持在 25 美元,并且该交易永远不值得做。费用提升期限与名义金额成比例;气体术语则不然。这种单一的不对称性就是为什么小型主网 LP 要么运行一个广泛的、很少触及的范围,要么置身事外。
阈值与周期
两种制度摆脱了这种不平等,它们是“基于阈值与周期性”的诚实答案。 阈值(带)再平衡——当价格退出公差带时采取行动——是理论上正确的形状,因为它以实际重要的状态为条件。 定期重新平衡 — 每隔一段时间重新调整一次 不管是块还是小时——都是一个粗略的近似值,只有因为它更容易运行并且更容易推理,所以才站得住脚;它的病态是在砍伐期间重新定位,这将免费恢复均值,支付汽油并结晶 LVR 来获得往返旅程,而您什么都不做就可以赢得胜利。根据经验,你的费用等级越宽,gas 越高,你的范围应该越宽,你的重新平衡就越罕见——每天重新调整 1% 的矿池几乎总是会导致资金燃烧。令人不安的推论:对于主网上的许多小头寸,费用提升条款永远不会清除天然气条款,并且正确的重新平衡次数是“零”——设置一个宽范围一次然后离开它,或者根本不进行LP。
这也是为什么场地与策略同样重要的原因。整个不平等主要由以太坊主网上的 Gas 术语主导,其中再平衡周期需要花费真金白银;在 L2(任意、基础、乐观)上,相同的周期成本为美分,所以 崩溃,清理它的带变窄,并且频繁重新居中的窄范围主动LPing对于那些在L1上永远无法承受的小头寸来说变得可行。这不是脚注——这就是为什么严肃的主动 LP 策略在很大程度上迁移到 L2,以及为什么“重新平衡的频率”在每个链上都有不同的答案。不过,LVR 和掉期成本条款不会随着 Gas 的增加而缩小,因此廉价的 Gas 降低了过度再平衡的障碍,就像合理再平衡的障碍一样;当天然气不再为你强制执行时,不平等的纪律更重要。
还有第三个选项可以完全避免重新居中:单侧范围。与其滑动跟随价格的对称区间,不如放置一个表达观点的不对称区间——如果你愿意在下跌过程中积累资产,流动性只会低于现货,如果你想在上涨过程中分配资产,流动性只会高于现货。这是链上限价订单用例,它将“重新平衡”变成“重新填充”:当单边范围完全填满(价格与其交叉)时,您已经以费用提高的平均价格执行了预期的买入或卖出,决定是是否重新武装,而不是是否追赶。对于积累和分配指令,它主导对称重新集中,因为你用对冲对抗的库存波动是你真正想要的位置。

与 LVR 的联系值得一提,因为它链接了整个系列:您在头寸生命周期内实现的重新集中损失的总和,正确地进行基准测试,收敛于 IL/LVR 分析 根据价格路径的已实现方差预测的 LVR。 重新平衡不会避免 LVR;它选择何时付款以及以何种货币付款。过于频繁地重新平衡,您还需要在原本要支付的 LVR 之上支付 Gas 费和掉期费。这就是为什么过度再平衡在失败模式中占主导地位:它是 LVR 加上自己造成的税收。
通过永续期货对有限合伙人进行 Delta 对冲
如果范围宽度是你的波动率赌注,再平衡范围是你的库存政策,那么德尔塔对冲就是你如何将两者分开,这样你就可以运行一个“做市”账簿(做空波动率,收取点差),而不是一个“定向”账簿(偶然做多或做空 ETH)。为了对冲,您需要头寸的 Delta,而 v3 的优点在于它直接从价值函数中下降,无需数字。
范围内头寸的价值,以 token1 为单位(计价单位,例如 USDC),是在集中流动性部分中导出的表达式:
从价格上区分 风险资产(token0,例如 ETH):
头寸增量 等于头寸当前持有的 token0 数量。 这并非巧合,值得暂停: , 所以 ,AMM 不变量使得当前价格下的边际曲线上贸易价值中性,即 。两个尾随项取消,增量只是 ETH 库存。有限合伙人以当前头寸的金额做多风险资产——这个数字随着价格上涨而缩小(该头寸卖出 ETH 来求强),并随着价格下跌而增加(逢低买入)。为了中和,请握住尺寸较小的短裙 以 ETH 计算。
def lp_delta(L, price, pb):
"""dV/dP for an in-range v3 position == token0 (ETH) currently held."""
sp, spb = price**0.5, pb**0.5
return L * (1.0/sp - 1.0/spb) # short this many ETH on a perp to neutralize
def lp_gamma(L, price):
return -L / (2.0 * price**1.5) # < 0: short gamma -> hedge must be re-shorted
范围内的增量(以数字表示)
重用集中流动性工作示例中的确切位置: 在范围内 ,铸造于 。三角洲 是你必须携带的短裤,它单调地从底部装满的 ETH 包走到顶部平坦的位置:
| (USDC/ETH) | 持仓 ETH | 罪犯对冲 |
|---|---|---|
| 2500(下限) | 2.287 | 2.287做空 2.287 ETH |
| 2750 | 2750 1.599 | 1.599做空 1.599 ETH |
| 3000(此处铸造) | 1.000 | 1.000做空 1.000 ETH |
| 3250 | 3250 0.471 | 0.471做空 0.471 ETH |
| 3500(上限) | 0.000 | 0.000没有对冲 |
对冲并不是“做空 1 ETH 就忘了它”。随着价格从 3000 上涨至 3250,该仓位“出售”一半的 ETH 以求强势,而您所需的空头数量从 1.0 降至 0.47 — 因此您必须以更高的价格回购 0.53 ETH 进行对冲。当抛售至 2750 时,头寸买入 ETH,而您的空头仓位必须增长至 1.60,并以较低价格卖出。每次都在对冲上高买低卖:这是负伽玛使现金流成为真实的,其运行成本是下面分类账中的 LVR 线。
伽马为负值 — ——这是从风险方面来看的空头跨式收益。负伽玛意味着对冲永远不会是静态的:随着价格上涨,头寸的 Delta 下降(持有的 ETH 减少),因此您以昨天价格确定的空头规模现在太大,您必须回购一些;随着价格下跌,Delta 值上升,您必须做更多空头。为了保持中立,你总是在亏损方向进行交易,而连续重新对冲的累积成本正是 LVR。 对于 v3 头寸,该成本具有封闭形式,值得推导,因为它将对冲变成了你可以预测的数字。 IL/LVR分析给出了GBM价格波动下的瞬时LVR率 作为 ,我们刚刚计算了 — 位置伽玛的大小。替换:
这就是 Delta 对冲锁定的每单位时间的美元流失——与 (集中度是出血量和费用的乘数)以及确定范围大小的交易量预测的平方。它还直接为您提供盈亏平衡测试:只有在费用收入率清除的情况下,该头寸在资金和天然气之前才是+EV,
在哪里 是费用等级, 是每单位时间流经您的范围的掉期交易量。双方规模与 ,因此集中度在比率中被抵消——这是单凭范围宽度永远无法使亏损池盈利的深层原因。清除 LVR 的是相对于波动性的费用产生量,即交易者流失速度快于套利者挑选你的速度的池。完美的 Delta 对冲 LP 并非没有风险——它用价格风险换取了支付的确定性 - 其损益表简化为干净的分类账:
该融资期限是您为持有对冲而支付的租金,它值得尊重。永续期货的价格通过定期资金支付与现货挂钩;当利率为负时,空头头寸支付资金;当利率为正时,空头头寸接收资金。正如资金费率如何杀死你的杠杆中所述,加密货币永续资金平均而言是积极的——在典型的期货溢价制度中,多头支付空头——这意味着Delta对冲空头有限合伙人通常会“获得报酬”来进行对冲,这是一个真正的顺风车,可以使整个交易转为积极。但它依赖于政权并且会回归均值。在持续的抛售中,资金会变成负值,你的对冲开始让你付出最重要的代价。根据已实现的增量调整对冲规模,将资金标记为实际项目,并且永远不要假设历史上的正资金顺风是恒定的。
账本,以数字表示
将整本书放在一页上 L = 738.37[2500,3500]P=3000\ell = \sigma^2 L\sqrt{P}/4\sigma$,LVR 流失为
这是单周头寸的 1.74% — 相对于全范围 v2 头寸,相同的资本只会流失 , 一个 比率恰好是该范围的浓度倍数。集中度是两个刀片上的杠杆:在范围内时费率的 12.4 倍,LVR 的 12.4 倍。要清除 \char36 113/周,该头寸需要大约 90% 年利率 的费用收益率——发人深省,而诚实的原因是高波动率的窄幅波动经常会造成损失。与此同时,资金在这里是一个舍入误差:以典型的 +0.01%/8h 利率对冲大约 1 ETH 的名义收益,一周内收益约为 \char36 6(空头在正资金制度下收集),这是一种温和的顺风,既不会促成交易,也不会破坏交易。每次重新平衡都会在顶部添加 ~\char36 25 的gas。账本的教训一目了然:费用是唯一可以拯救你的项目,LVR 是会让你陷入困境的项目,资金和天然气是细节 - 调整范围,使第一个击败第二个,或者不要进行交易。

两个实用笔记。首先,对冲粒度是其自身的成本权衡:对每个价格变动进行重新对冲可以最大限度地减少跟踪误差,但最大限度地提高永续交易费用和资金流失,因此大多数交易台在 Delta 波段上重新对冲,这与 LP 重新平衡相同的无交易区域逻辑。其次,对冲仅在范围内*时抵消 Delta;一旦价格退出,头寸就变成 100% 具有平坦或完全线性 Delta 的资产,并且针对范围内制度确定的对冲规模现在是错误的 - 范围宽度和再平衡政策不能独立于对冲而设计的另一个原因。
在哪里放置树篱
对冲工具是一个实时决策,而不是一个细节。中心化交易所(Binance、Bybit)提供最深的流动性和最窄的利差,但会重新引入托管和桥接风险——你的有限合伙人在链上,你的对冲不在链上,两条腿可能会在快速市场或提款冻结中不同步。链上 Perp(Hyperliquid、GMX、dYdX)将所有内容保留在一个结算域中,并且可以与 LP 位置组合,但代价是账本更薄以及其自己的预言机和融资怪癖。无论哪种方式,你都会承担基差风险:perp跟踪的指数与你的资金池价格不同,所以一本完全Delta中性的账簿仍然有一个小的残差,当你最无力承担时,它会扩大。做空伽玛是一种清算风险——必须在下跌过程中“增长”的对冲与追加保证金的方向相同,因此根据第一部分的压力波动范围调整永续抵押品的抵押品规模,而不是平静的波动范围,否则缺口变动会清算对冲,并在最糟糕的时刻让有限合伙人赤身裸体。
JIT 流动性:单一区块做市商
将主动 LPing 推向其逻辑极限——重新平衡每个区块,在单次互换期间持有头寸——您将获得及时的流动性,这是 LP 设计领域最敏锐的策略。 JIT 提供者监视内存池中是否有大量传入掉期,并在同一个区块中:铸造一个极其紧张、极其深度的流动性头寸,将当前价格紧接在受害者掉期之前,让掉期针对流动性墙执行(捕获其费用的最大份额,因为 JIT 使被动相形见绌 已经在刻度中),然后燃烧之后的位置 - 全部在一个区块内。
经济效益是惊人的。由于铸币和销毁跨越单一掉期,它们之间基本上没有价格演变,因此该头寸赚取了巨额名义费用的全部费用,同时几乎零无常损失 - 没有时间出现价格分歧。集中流动性的费率乘数达到极限:在其赚取的确切瞬间提供数千倍的被动深度,并在任何逆向选择产生影响之前消失。它是链上最接近无风险做市的东西,这就是 JIT 存在的原因。
费用分成只是流动性份额。通过 0.05% 池进行的 10M 互换将支付 5,000 美元的费用,按比例除以范围内 。如果被动 LP 持有 在交叉的蜱虫和 JIT 机器人薄荷糖中 对于块,JIT 位置捕获
让整周都在那里的被动 LP 留下 \char36 50。机器人对区块的 99.99% 没有采取任何行动,并在一次重要的掉期中收取了 99% 的费用——这正是为什么诚实地衡量的被动费用收入低于矿池总体收入的原因。
就像每一个清晰的链上优势一样,JIT 已经被竞争压垮了。一旦几个机器人观察到相同的大型待处理交换并模拟相同的费用捕获,它们就会在构建者拍卖中相互竞价,以获得坐在流程前面的权利,并且支付给构建者的小费会趋向于捕获的费用 - 与链上清算和原子套利发生的情况相同。剩下的就是剩余的:交换其他错过的机器人、与不成熟的建筑商市场的池,以及保持大量闲置库存并且永不错过燃烧的运营质量。这是真正的战略,也是真正的生意;它不是零售的。
问题在于,JIT 是专家游戏而不是免费资金的原因有三个。 它需要真实的库存。 与在一笔交易中自行融资和偿还的利用闪电贷进行原子套利不同,JIT铸币-掉期-销毁跨越区块中的三个独立交易(铸币、受害者的掉期、销毁),因此必须在单笔交易内偿还的闪电贷无法为有限合伙人提供资金。 JIT 机器人必须持有闲置且准备就绪的基础资本(通常为数百万美元的代币)。 它是 MEV 供应链中的一个捆绑包。 赢得订单(在交换之前铸造,在交换后立即销毁)需要通过 MEV 和 mempool 文章 中剖析的提议者-构建者-分离管道向区块构建器提交捆绑包; JIT 会像其他搜索者一样争夺区块空间并向构建者付款,而出价后的利润微薄。 对于被动的有限合伙人来说,这是逆向选择。* JIT 机器人会撇去最大、最良性的流量——费用高、毒性低的无信息掉期交易——并留下被动头寸,持有较小的交易和产生 LVR 的有毒、知情流量。被动 LP 的已实现费用收入“低于”池的总体费用收入,这正是因为 JIT 占据了最佳份额。最后一点不仅仅是一个经济脚注,也是一个经济脚注。这是下一节中的一个地雷。

诚实地从链上数据回测 LP
上述每一个主张——波动范围优于静态范围、波段再平衡优于周期性、对冲 LPing 在 X 体系中是 +EV——都是在投入资本之前必须根据链上历史进行测试的假设。数据就在那里:池合约日志中的交换事件和流动性事件,或在 Uniswap 子图https://docs.uniswap.org/api/subgraph/overview)。陷阱在于,朴素的 LP 回测是“系统性乐观的”,并且所有偏见都朝着同一个方向发展。你必须处理三个,否则你的夏普就是虚构的。
费用归属。 诱人的捷径是将费用收入估算为(资金池数量)×(费用等级)×(您在资金池 TVL 中所占的份额)。这在两个方面是错误的。费用仅根据每次互换时在范围内的流动性产生,因此正确的分母是您在范围内*的份额 ,而不是您的 TVL 份额——只要价格远离您的中心,这些份额就会有所不同。费用增长是路径相关的:它取决于掉期的确切顺序以及每个掉期相对于您的界限的价格。唯一诚实的方法是重放交换并区别 feeGrowthInside 累加器跨越你的范围边界,就像合约一样——集中流动性部分的簿记为 O(1)。通过 TVL 按比例分配交易量在任一方向上都可能会偏离很大的倍数,并且当价格在您的边缘附近徘徊时,它会“最”偏离,这是您最需要正确建模的状态。
价格与池报价对齐。 每个时刻都存在两个价格,并且它们不相等:池自己的报价(最后一次掉期后 AMM 的边际价格所在的位置)和外部/CEX 中间价格(资产实际交易的位置)。在池报价上标记您的头寸,然后将套利者的利润计入您自己的回报中,因为池报价在套利交易之间是陈旧的;在 CEX mid 进行标记,您必须将不同地点的时间戳与不同的时钟和区块时间对齐。快照节奏使这一点变得更加复杂:每小时的子图快照默默地错过了小时内的范围交叉——在一小时内退出并重新进入您的范围的头寸看起来就像一直处于范围内,夸大了费用并低估了 LVR。您声称的有关时间范围或 LVR 的任何内容都必须来自交换级别、块时间戳重播,而不是每小时标记。
池内 MEV 和 JIT 影响了费用估算。 这是最微妙和最危险的,这就是为什么 JIT 部分位于此部分之前。如果您从资金池的“历史已实现费用收入”中估计被动策略的费用收入,那么您就将 JIT 机器人实际捕获的费用记入了您的被动头寸——这是真正的被动 LP 永远不会看到的收入,因为 JIT 流动性是在这些确切的掉期之前铸造的。您的回测会继承虚拟费用。同样的掉期带来了另一半的扭曲:资金池交易量的很大一部分是套利——有毒的、知情的流量是你的LVR——因此将所有这些交易量都算作产生费用的“好”交易量,同时忽略它所带来的逆向选择,使结果双倍奉承。诚实的 LP 回测必须 (a) 重建范围内的流动性包括临时 JIT 头寸以正确归因费用,(b) 将 LVR 与已实现的价格路径分开计算,而不是假设费用是免费资金,以及 (c) 按原样对待套利和 JIT 撇掉的掉期 — 账本的成本方,而不是收入方。跳过这一点,你的漂亮的成交量大小、波段再平衡、德尔塔对冲策略在纸面上看起来是有利可图的,但在生产中却会出现亏损,原因是本文从未向你展示过。
这些偏差中的每一个都会将估计回报推高*,这是最糟糕的可能失败模式 - 一种令人欣喜的回测:
| 偏差来源 | 天真的捷径 | 诚实的方法 | 对预计损益的影响 |
|---|---|---|---|
| 费用归属 | 成交量 × TVL 份额 | 不同之处 feeGrowthInside 交换重播 |
夸大或低估,边缘附近最差 |
| 价格标记 | 泳池蜱 | CEX mid,区块时间戳对齐 | 夸大(套利利润) |
| 快照节奏 | 每小时快照 | 交换级、块时间戳 | 夸大时间范围 |
| JIT 略读 | 信用幻象费用 | 重建瞬态 JIT | 夸大费用收入 |
| 套利流程 | 算作“好”音量 | 单独记账为LVR | 夸大(忽略逆向选择) |
这一规则与将真实交易策略回测与幻想区分开来的规则相同:以与收入相同的严格程度对成本进行建模,并在看起来最好的数字时对其保持高度怀疑。
带走什么
像办公桌管理一本书一样管理 v3 位置,五个决策依次排列:
- 宽度是一个投注量。 将范围大小设置为 -来自远期方差预测的西格玛带(GARCH,而不是跟踪已实现的),因此集中度会随着制度的变化而变化,而不是处于静态默认状态。刻度线的映射是一行,因为刻度线是对数价格。
- 再平衡是重新报价成本,而不是反射。 仅当预期费用上涨清除 Gas + 掉期 + 结晶 LVR 时才采取行动;正确的形状是无再平衡带,并且正确的频率远低于本能建议的频率。过度再平衡是 LVR 加上自己征收的税,对于许多小头寸来说,最佳再平衡计数为零。
- 增量是库存。 对于范围内的头寸 ,您当前持有的 ETH;短期来说,一个罪犯经营一本做市书籍,而不是一本偶然的定向书籍。负伽玛意味着持续的重新对冲,其成本为 LVR,而资金则是依赖于制度的租金——通常是顺风,而不是保证。
- JIT 是主动 LPing 的单一区块限制:单次掉期的深度流动性、接近于零的 IL、所需的实际资本(无闪电贷款)以及 MEV 供应链中的捆绑,从被动 LP 中获取最佳流量。
- 回测是乐观的除非你有不同意见
feeGrowthInside对于归因,使用交换级块时间戳标记,并将 JIT 略读和套利流视为成本方。虚假费用加上被忽略的 LVR 是失败策略通过审查的方式。
本系列的主旨是,LP 头寸具有精确的分析结构——价值、Delta、Gamma、LVR——一旦你写下这些,LPing 就不再是“存款和祈祷”,而是成为一种可对冲、可规模、可测试的交易。数学在集中流动性;盈利能力计算在无常损失和LVR中;这一部分是你如何实际操作这两者之间的位置的。这些都不能消除风险。它只是告诉你,在基点上,你需要承担什么样的风险。
参考文献
- Adams, H.、Zinsmeister, N.、Salem, M.、Keefer, R.、Robinson, D. (2021)。 Uniswap v3 核心(白皮书)。
- Milionis, J.、Moallemi, C.、Roughgarden, T.、Zhang, A. L. (2022)。 自动做市和损失与再平衡。 arXiv:2208.06046。
- Milionis, J.、Moallemi, C.、Roughgarden, T. (2023)。 交换机制中的复杂性-近似权衡:AMM 与 LOB,以及相关的 LVR 和费用工作。 arXiv:2302.11737。 -Cartea, Á.、Drissi, F.、Monga, M. (2023)。 恒定功能市场和集中流动性市场中流动性供应的可预测损失。 arXiv:2309.08431。
- Fritsch, R. 等人(2023)。 对 Uniswap v3 上的即时 (JIT) 流动性进行分析和基准测试。
- Uniswap 子图和核心库:
Position.sol,Tick.sol,SqrtPriceMath.sol(诚实重播的费用增长和金额数学)。 - Bollerslev, T. (1986)。 广义自回归条件异方差 - 范围大小背后的 GARCH(1,1) 预测。
Authors
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.