Estrategias de LP en Uniswap v3 y cobertura
Una posición pasiva de Uniswap v3 es un conjunto de órdenes límite en reposo que no puedes cancelar. Uno activo (rango elegido, centrado nuevamente en un cronograma, cubierto contra un delincuente) es un libro de creación de mercado, y debe administrarse como tal. Ese replanteamiento cambia cada decisión. Un creador de mercado calcula las cotizaciones a partir de un pronóstico de volatilidad, no de una intuición. Un creador de mercado trata cada recotización como un costo, no como un reflejo. Un creador de mercado conoce su delta de inventario en todo momento y decide deliberadamente si lo mantiene o lo cubre. Y un creador de mercado sabe que algunas de sus contrapartes son más rápidas y están mejor informadas, y eso lo valora.
El artículo sobre liquidez concentrada construyó las primitivas: ticks, liquidez , las fórmulas de cantidad simbólica, feeGrowthInside, y el hecho de que una posición LP es un pago de volatilidad corta cuyo costo de funcionamiento es pérdida versus reequilibrio (LVR). Esta pieza es el manual del operador sobre esa base. Dimensionamos el rango a partir de un pronóstico de varianza, enmarcamos la decisión de reequilibrio como una operación explícita de ganancia de tarifa esperada versus costo realizado, derivamos el delta de posición directamente de la función de valor y lo neutralizamos con futuros perpetuos, analizamos la liquidez justo a tiempo (JIT) como el caso extremo de LPing activo y cerramos con las formas en que una prueba retrospectiva honesta en cadena de todo esto puede mentirle. En todo momento, el modelo mental es Avellaneda–Stoikov con dos modificaciones brutales: sus cotizaciones están en un libro de contabilidad público antes de que se llenen, y cada recotización cuesta gasolina.
Ancho de rango de un pronóstico de volatilidad
El parámetro más importante de un LP activo es el ancho del rango, y es una apuesta de volatilidad pura. Demasiado amplio y diluirá su liquidez en ticks que rara vez se negocian, ganando tarifas a la tasa anémica de un grupo v2. Demasiado estrecho y concentrarás la profundidad maravillosamente: justo hasta que el precio salga de tu rango, ingresas al 100% en el activo perdedor y no ganas nada hasta que reequilibres (cristalizando la pérdida por divergencia en el camino). El ancho óptimo es aquel que mantiene el precio dentro del rango con suficiente frecuencia como para que la tasa de tarifa concentrada pague con creces el LVR que la concentración amplifica. Se trata de una afirmación sobre la distribución de los rendimientos futuros, por lo que se dimensiona a partir de una previsión de esa distribución.
Modelo de precio logarítmico durante un horizonte de tenencia como aproximadamente , con la volatilidad por período. Un simétrico -rango sigma en precio logarítmico es
entonces y . Eligiendo es elegir la probabilidad de permanecer dentro del rango: mantiene el precio dentro de aproximadamente el 68% de los horizontes, para ~95%. más ancho negocia la tasa de tarifa por tiempo dentro del rango, y el punto óptimo depende del nivel de tarifa y el régimen de vol, que es exactamente la cantidad que un creador de mercado pronostica en lugar de adivinar.
La traducción a los parámetros en cadena es de una línea, porque los ticks son log-precio. Desde , el índice de tick es , y , por lo que la mitad del ancho en garrapatas es aproximadamente . Ajuste el espacio entre ticks del grupo y tendrá sus límites:
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)
Un número trabajado arregla la intuición. Tomemos como ejemplo ETH con un volumen diario previsto del 4%, un horizonte de recentramiento de una semana ( días), y . Entonces , por lo que el rango abarca , es decir, aproximadamente - sobre un banda, o Las garrapatas se espaciaron. El ancho es lineal en el pronóstico de volumen (de primer orden en el espacio logarítmico), que es el punto: su concentración de liquidez debe respirar con la del mercado, no permanecer en un estático "±10% porque eso se sintió bien el mes pasado". Varíe los dos mandos: el régimen y la confianza. – y la banda se mueve de la misma manera que se mueve el diferencial cotizado de un creador de mercado:
| Pronóstico diario | Régimen | medio ancho | medio ancho | Aprox. garrapatas () |
|---|---|---|---|---|
| 2% | calma | ±5,3% | ±10,6% | ±529 |
| 4% | normales | ±10,6% | ±21,2% | ±1058 |
| 6% | elevado | ±15,9% | ±31,8% | ±1587 |
| 8% | estresado | ±21,2% | ±42,3% | ±2116 |
Lea la tabla como una política de cotización, no como una búsqueda. Una banda más estrecha gana una tarifa más alta por dólar mientras está en el rango (más profundidad por tick), pero sale del rango antes y se vuelve a centrar con más frecuencia; una banda más amplia es lo contrario. El multiplicador de liquidez concentrada es la palanca: una La banda cotiza aproximadamente un orden de magnitud más de profundidad por tick que una posición v2 de rango completo, y gana tarifas en ese múltiplo mientras está en el rango, pero también es ese mismo múltiplo más expuesto a LVR. El ancho del rango es donde usted elige su punto en la frontera de tarifa versus tiempo dentro del rango, y el pronóstico de vol es lo que le indica dónde se encuentra esa frontera hoy.
Una restricción limita al ala cerrada: el espacio entre los ticks. Sus límites deben ajustarse al espaciado del nivel de tarifas, por lo que el rango mínimo que puede expresar lo establece el grupo que eligió: aproximadamente ±10 pb en el nivel de 0,05 % (espaciado 10), ±60 pb en el nivel de 0,30 % (espaciado 60), ±2 % en el nivel de 1 % (espaciado 200). Esto combina dos decisiones que parecen independientes: la selección del nivel de tarifa es la selección del rango de resolución. Un par estable cuyo pronóstico de volumen quiere una banda de ±0,3% solo puede lograrlo en el nivel de 0,05%; Pruébelo en el nivel del 1% y la cuadrícula de ticks lo obligará a ser al menos ocho veces más amplia, diluyendo la concentración por la que estaba pagando la tarifa más alta. Haga coincidir la granularidad del nivel con el ancho que solicita su pronóstico, y no al revés.

donde esta ¿venir de? La volatilidad observada en una ventana final es la respuesta cruda y es muy retrospectiva: le indica el rango que debería haber establecido la semana pasada. La herramienta adecuada es un modelo de varianza condicional que reacciona al régimen actual: un pronóstico GARCH(1,1) agregado al horizonte, como se desarrolla en Pronóstico de volatilidad GARCH para criptomonedas. GARCH te da y, al iterar la recursividad, se obtiene un -varianza del paso adelante cuya raíz cuadrada es la quieres. El efecto de apalancamiento de las criptomonedas (el vol aumenta más en los movimientos bajistas) aboga por una variante asimétrica, y la misma maquinaria de focalización de vol que cambia el tamaño de una posición direccional cambia el tamaño de un rango LP : dirección opuesta, pronóstico idéntico. Introduce esa serie en range_from_vol en cada re-centrado y la concentración de la posición sigue el pronóstico automáticamente. Lo que plantea la pregunta que abordará este artículo a continuación: ¿con qué frecuencia debe volver a centrarse?
Reequilibrio: el comercio de ganancia de tarifa versus costo realizado
El exceso de reequilibrio es el principal destructor de los retornos de los LP al por menor, y es un asesino sutil porque cada individuo que se vuelve a centrar se siente responsable. El precio se acercó al límite de su rango, por lo que se volvió a concentrar para "mantenerse activo". Pero un recentramiento v3 no es una recotización gratuita en un CEX. Son tres costos acumulados:
- Gas: queme la posición anterior, acuñe la nueva y (generalmente) un intercambio para reequilibrar el inventario. En mainnet, ese es un costo fijo por ciclo no trivial, brutal para posiciones pequeñas.
- Costo de intercambio: para volver a centrar, debe intercambiar su inventario desequilibrado hacia la proporción del nuevo rango, pagando la tarifa de intercambio y el impacto en el precio de esa operación.
- LVR cristalizado: este es el invisible. Mientras el precio oscilaba, la posición acumuló pérdidas por divergencia en el papel. Mantener el precio de ida y vuelta recuperaría gran parte del mismo (se mantienen las tarifas, se devuelve la oscilación del inventario). Volver a centrarse se da cuenta de esa pérdida: vende el activo en el que ahora tiene mucho valor, al precio deprimido, y lo reinicia. Cada centro reciente convierte el LVR en papel en LVR reservado.
Entonces, la decisión de reequilibrio no es "¿estoy cerca del límite?" pero el cálculo de recotización de un creador de mercado: ¿el aumento futuro esperado de las tarifas desde una posición mejor centrada excede el costo realizado de llegar allí? Este es estructuralmente el problema de control de costos de transacción: la política óptima es una banda sin reequilibrio alrededor del centro, no un cable trampa. Dentro de la banda dejas que el inventario fluya y sigues cobrando tarifas; sólo actúa cuando el beneficio esperado compensa el costo.
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
Una decisión de reequilibrio con números
Hazlo concreto. Supongamos que tiene una posición de $50 000 en un pool ETH/USDC de 0,05%, el precio se ha desplazado hasta el borde de su rango y volver a centrarlo elevaría su captura efectiva de tarifas desde un nivel anémico. APR (apenas estás dentro del rango) volver a ABR. Su pronóstico GARCH dice que un rango recién centrado de este ancho se mantiene durante aproximadamente días años antes de que usted se centrara nuevamente. El aumento bruto es
En contra de eso, el costo de la reorientación: $25 de gas (acuñación + quema + intercambio), un intercambio del inventario desequilibrado (digamos $20.000 se cruza con 5 pb de tarifa más impacto por $10) y el LVR cristalizado de la venta en el movimiento, otros $60. Costo total realizado . Desde , te vuelves a centrar, pero observa lo cerca que está y cómo un pico de gasolina de $5 o una espera más corta invierte el letrero. Ahora reduzca la posición a $5,000 con los mismos porcentajes: el aumento cae a $15 mientras que el gas se mantiene a $25, y nunca vale la pena realizar la operación. El plazo de aumento de tarifas escala con el nocional; el término del gas no. Esa única asimetría es la razón por la que los pequeños LP de la red principal deberían ejecutar un rango amplio y rara vez tocado o permanecer fuera.
Umbral versus periódico
De esta desigualdad se desprenden dos regímenes, y son la respuesta honesta a "basado en umbrales versus periódico". El reequilibrio de umbral (banda) (que actúa cuando el precio sale de una banda de tolerancia) es la forma teóricamente correcta, porque condiciona el estado que realmente importa. Reequilibrio periódico: volver a centrar cada bloques u horas independientemente: es una aproximación burda que es defendible sólo porque es más simple de ejecutar y más fácil de razonar; su patología se está volviendo a centrar durante el corte que se habría revertido de forma gratuita, pagando gasolina y cristalizando LVR para un viaje de ida y vuelta que habría ganado sin hacer nada. Empíricamente, cuanto más amplio sea su nivel de tarifas y mayor sea el gas, más amplia debería ser su banda y más raros serán sus reequilibrios: un fondo común del 1% centrado diariamente casi siempre está prendiendo fuego al dinero. El corolario incómodo: para muchas posiciones pequeñas en la red principal, el término de aumento de la tarifa nunca borra el término del gas, y el número correcto de reequilibrios es cero: establezca un rango amplio una vez y déjelo, o no haga LP en absoluto.
Ésta es también la razón por la que el lugar es tan importante como la estrategia. Toda la desigualdad está dominada por el término del gas en la red principal de Ethereum, donde un ciclo de reequilibrio cuesta dinero real; en un L2 (Arbitrum, Base, Optimism) el mismo ciclo cuesta centavos, por lo que colapsa, la banda que la despeja se estrecha y el LPing activo de rango estrecho con recentrado frecuente se vuelve viable exactamente para las posiciones pequeñas que nunca podrían permitírselo en L1. Esto no es una nota a pie de página: es la razón por la que las estrategias LP activas y serias han migrado en gran medida a las L2, y por qué "con qué frecuencia reequilibrar" tiene una respuesta diferente en cada cadena. Sin embargo, los términos LVR y de costo de swap no se reducen con el gas, por lo que el gas barato reduce la barrera al sobreequilibrio tanto como al reequilibrio sensato; la disciplina de la desigualdad importa más donde el gas deja de imponerla.
Existe una tercera opción que evita volver a centrar por completo: el rango unilateral. En lugar de una banda simétrica que se desliza para seguir el precio, coloque un rango asimétrico que exprese una visión: liquidez sólo por debajo del precio al contado si está dispuesto a acumular el activo en el camino hacia abajo, sólo por encima si desea distribuirlo en el camino hacia arriba. Este es el caso de uso de orden límite en cadena, y convierte un "reequilibrio" en una "recarga": cuando un rango unilateral se llena por completo (el precio lo cruza), usted ha ejecutado su compra o venta prevista a un precio promedio mejorado con tarifas, y la decisión es si rearmarse, no si perseguir. Para los mandatos de acumulación y distribución, domina el recentramiento simétrico, porque la oscilación de inventario que combatiría con una cobertura es la posición que realmente desea.

Vale la pena señalar claramente la conexión con el LVR, porque vincula toda esta serie: la suma de sus pérdidas de re-centro realizadas durante la vida de una posición, comparada correctamente, converge con el LVR que el análisis IL/LVR predice a partir de la variación realizada de la trayectoria del precio. El reequilibrio no evita el LVR; elige cuándo pagarlo y en qué moneda. Si reequilibra con demasiada frecuencia, también pagará tarifas de gasolina y swap además del LVR que iba a pagar de todos modos. Es por eso que el exceso de reequilibrio domina los modos de fracaso: es LVR más un impuesto autoinfligido.
Cobertura delta del LP con futuros perpetuos
Si el ancho del rango es su apuesta de vol y la banda de reequilibrio es su política de inventario, la cobertura delta es la forma en que separa los dos para que esté ejecutando un libro de creación de mercado (volumen corto, recopile el diferencial) y no un libro direccional (ETH largo o corto por accidente). Para cubrirse necesita el delta de la posición, y la belleza de v3 es que sale directamente de la función de valor sin números.
El valor de una posición dentro del rango, en unidades de token1 (el numerario, por ejemplo, USDC), es la expresión derivada de la pieza de liquidez concentrada:
Diferenciarse respecto al precio del activo de riesgo (token0, por ejemplo ETH):
La posición delta es igual a la cantidad de token0 que la posición tiene actualmente. Esto no es una coincidencia y vale la pena detenerse en: , entonces , y el invariante AMM hace que el valor comercial marginal en la curva sea neutral al precio actual, es decir . Los dos términos finales se cancelan y el delta es solo el inventario de ETH. Un LP es largo activo de riesgo por exactamente la cantidad que hay actualmente en la posición: un número que se reduce a medida que aumenta el precio (la posición vende ETH para fortalecerlo) y crece a medida que el precio cae (compra en la caída). Para neutralizar, sostenga a un delincuente bajo de tamaño. en términos de 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
El delta en toda la cordillera, en números
Reutilice la posición exacta del ejemplo resuelto de liquidez concentrada: en el rango , acuñado en . el delta es el short que debes llevar, y camina monótonamente desde una bolsa ETH llena en la parte inferior hasta una plana en la parte superior:
| (USDC/ETH) | Posición ETH | Cobertura del delincuente |
|---|---|---|
| 2500 (límite inferior) | 2.287 | corto 2.287 ETH |
| 2750 | 1.599 | corto 1.599 ETH |
| 3000 (acuñado aquí) | 1.000 | corto 1.000 ETH |
| 3250 | 0,471 | corto 0,471 ETH |
| 3500 (límite superior) | 0.000 | sin cobertura |
La cobertura no es "corto 1 ETH y olvídalo". A medida que el precio sube de 3000 a 3250, la posición vende la mitad de su ETH para fortalecerla y su corto requerido cae de 1,0 a 0,47, por lo que debe recomprar 0,53 ETH de cobertura, al precio más alto. En una venta masiva a 2750, la posición compra ETH y su corto debe crecer hasta 1,60, vendido al precio más bajo. Comprar alto, vender bajo en la cobertura, siempre: eso es gamma negativo hecho que el flujo de efectivo sea real, y su costo de funcionamiento es la línea LVR en el libro mayor a continuación.
La gamma es negativa. – que es el beneficio a corto plazo visto desde el lado del riesgo. Una gamma negativa significa que la cobertura nunca es estática: a medida que el precio aumenta, el delta de la posición cae (tiene menos ETH), por lo que una posición corta que usted dimensionó al precio de ayer ahora es demasiado grande y debe volver a comprar algo; a medida que el precio cae, la delta aumenta y usted debe vender más. Siempre estás operando en la dirección perdedora para mantenerte neutral, y el costo acumulado de esa re-cobertura continua es precisamente LVR. Ese costo tiene una forma cerrada para una posición v3, que vale la pena derivar porque convierte la cobertura en un número que puedes pronosticar. El análisis IL/LVR proporciona la tasa LVR instantánea bajo un precio de volatilidad GBM como , y acabamos de calcular — la magnitud de la gamma de la posición. Sustituyendo:
Ése es el sangrado de dólares por unidad de tiempo que bloquea la cobertura delta, proporcional a (la concentración es un multiplicador tanto del sangrado como de las tarifas) y al cuadrado del pronóstico de volumen que dimensionó su rango. También le entrega directamente la prueba del punto de equilibrio: la posición es +EV antes de la financiación y gas sólo si la tasa de ingresos por comisiones la supera.
dónde es el nivel de tarifa y es el volumen de intercambio que fluye a través de su rango por unidad de tiempo. Ambos lados escalan con , por lo que la concentración se cancela en la proporción, que es la razón profunda por la que el ancho del rango por sí solo nunca hace que un grupo perdedor sea rentable. Lo que aclara a LVR es el volumen que genera tarifas en relación con la volatilidad, es decir, un grupo donde los operadores se mueven más rápido de lo que los arbitrajistas lo eliminan. Un LP perfectamente cubierto delta no está libre de riesgos: ha intercambiado el riesgo de precio por la certeza de pagar – y sus pérdidas y ganancias se reducen a un libro de contabilidad limpio:
Ese plazo de financiación es el alquiler que se paga para mantener la cobertura y merece respeto. El precio de un futuro perpetuo está sujeto al contado mediante pagos de financiación periódicos; una posición corta paga financiación cuando la tasa es negativa y la recibe cuando es positiva. Como se explica en [cómo las tasas de financiación matan su apalancamiento] (/blog/funding-rates-kill-leverage), la financiación de los criptodelincuentes es positiva en promedio (los largos pagan los cortos en el típico régimen de contango), lo que significa que el LP corto con cobertura delta a menudo se paga para llevar la cobertura, un verdadero viento de cola que puede hacer que toda la operación sea positiva. Pero depende del régimen y tiene reversión de la media; En una liquidación sostenida, la financiación se vuelve negativa y su cobertura comienza a costarle además de todo lo demás. Dimensione la cobertura según su delta realizado, marque el financiamiento como una partida real y nunca asuma que el viento de cola histórico de financiamiento positivo es una constante.
El libro mayor, en números
Coloque todo el libro en una sola página para L = 738,37[2500,3500]p=3000\ell = \sigma^2 L\sqrt{P}/4\sigma$, el sangrado LVR es
Esto es 1,74% de la posición en una sola semana, y frente a una posición v2 de rango completo el mismo capital solo sangraría , a relación que es exactamente el multiplicador de concentración de este rango. La concentración es una palanca en ambas palas: 12,4 veces la tarifa mientras está dentro del alcance, 12,4 veces el LVR. Para liquidar \char36 113/semana, la posición necesita un rendimiento de tarifa del orden de 90% APR: algo aleccionador, y la honesta razón por la que los rangos estrechos en alto volumen a menudo pierden. Mientras tanto, la financiación es un error de redondeo: cubrir aproximadamente 1 ETH de valor nocional a una tasa típica de +0,01%/8h gana alrededor de \char36 6 durante la semana (el corto se acumula en regímenes de financiación positiva), un leve viento de cola que ni hace ni deshace la operación. Y cada reequilibrio agregaría ~\char36 25 de gas encima. La lección que el libro mayor enseña de un vistazo: las tarifas son la única partida que puede salvarlo, el LVR es el que lo hundirá y la financiación y el combustible son los detalles: dimensione el rango para que el primero supere al segundo, o no realice la operación.

Dos notas prácticas. En primer lugar, la granularidad de la cobertura es su propia compensación de costos: volver a cubrir cada tick minimiza el error de seguimiento pero maximiza las tarifas comerciales de los delincuentes y la rotación de financiamiento, por lo que la mayoría de las mesas vuelven a cubrir una banda delta, la misma lógica de región sin comercio que el reequilibrio del LP. En segundo lugar, la cobertura sólo neutraliza delta mientras está en rango; una vez que el precio sale, la posición se convierte 100% en un activo con un delta plano o totalmente lineal, y una cobertura del tamaño del régimen dentro del rango ahora es incorrecta: otra razón por la que el ancho del rango y la política de reequilibrio no pueden diseñarse independientemente de la cobertura.
Dónde poner el seto
El instrumento de cobertura es una decisión viva, no un detalle. Un delincuente de intercambio centralizado (Binance, Bybit) brinda la liquidez más profunda y los diferenciales más ajustados, pero reintroduce el riesgo de custodia y puente: su LP está en cadena, su cobertura no, y las dos patas pueden desincronizarse en un mercado rápido o una congelación de retiros. Un delincuente en cadena (Hyperliquid, GMX, dYdX) mantiene todo en un dominio de liquidación y es componible con la posición LP, a costa de libros más delgados y su propio oráculo y peculiaridades de financiación. De cualquier manera, conlleva un riesgo de base: el delincuente rastrea un índice que no es idéntico al precio de su grupo, por lo que un libro perfectamente neutral delta todavía tiene un pequeño residual que se amplía exactamente cuando menos puede permitírselo. Y la gamma corta es un riesgo de liquidación: una cobertura que debe crecer en el camino hacia abajo es la misma dirección que una llamada de margen, por lo que el tamaño de la garantía del delincuente para el rango de vol estresado de la primera sección, no el de calma, o un movimiento de brecha liquida la cobertura y deja al LP desnudo en el peor momento.
Liquidez JIT: el creador de mercado de un solo bloque
Lleve el LPing activo a su extremo lógico (reequilibre cada bloque, mantenga la posición durante un solo swap) y obtendrá liquidez justo a tiempo, la estrategia más inteligente en el espacio de diseño de LP. Un proveedor JIT vigila el mempool en busca de un gran swap entrante, y en el mismo bloque: genera una posición de liquidez extremadamente ajustada y extremadamente profunda que abarca el precio actual inmediatamente antes del swap víctima, permite que el swap se ejecute contra ese muro de liquidez (capturando la mayor parte de su tarifa, ya que el JIT eclipsa lo pasivo ya en la marca), luego graba la posición inmediatamente después, todo dentro de un bloque.
La economía es sorprendente. Debido a que mint y burn se extienden a caballo entre un solo swap y prácticamente no hay evolución de precios entre ellos, la posición gana la tarifa completa sobre un valor teórico enorme y conlleva casi pérdida impermanente cero: no hubo tiempo para que el precio divergiese. El multiplicador de tasas de liquidez concentrada, llevado al límite: proporciona, digamos, miles de veces la profundidad pasiva durante el instante exacto en que gana, y desaparece antes de que cualquier selección adversa pueda afectar. Es lo más parecido en cadena a la creación de mercado sin riesgos, y es por eso que existe JIT.
La división de tarifas es solo una parte de liquidez. Un swap de \char36 10 millones a través de un fondo común del 0,05 % paga \char36 5.000 en comisiones, divididos prorrateadamente entre los que están dentro del rango. . Si los LP pasivos se mantienen en las garrapatas cruzadas y las mentas del bot JIT para el bloque, la posición JIT captura
dejando a los LP pasivos que estuvieron allí toda la semana con \char36 50. El robot no hizo nada por el 99,99% del bloque y tomó el 99% de la tarifa en el único intercambio que importaba, que es exactamente la razón por la cual los ingresos por tarifas pasivas, medidos honestamente, no alcanzan los ingresos principales del grupo.
Y como cualquier ventaja legible en la cadena, JIT ha sido reducido. Una vez que varios bots observan los mismos grandes intercambios pendientes y simulan la misma captura de tarifas, se ofertan entre sí en la subasta de constructores por el derecho a sentarse frente al flujo, y la propina pagada al constructor converge hacia la tarifa capturada: el mismo recinto que sucedió con liquidaciones en cadena y atomic arb. Lo que queda es lo residual: intercambios que otros bots perdieron, grupos con mercados de constructores inmaduros y la calidad operativa para mantener un gran inventario inactivo y nunca perderse una quema. Es una estrategia genuina y un negocio real; no es minorista.
El problema, y la razón por la que JIT es un juego de especialistas y no dinero gratis, es triple. Necesita un inventario real. A diferencia del arbitraje atómico con préstamos flash que se financia a sí mismo y se reembolsa en una sola transacción, un JIT mint-swap-burn abarca tres transacciones separadas en el bloque (el mint, el swap de la víctima, el burn), por lo que un préstamo flash, que debe reembolsarse dentro de una sola transacción, no puede financiar la rama LP. El robot JIT debe mantener el capital subyacente, a menudo millones en ambos tokens, inactivo y listo. Es un paquete en la cadena de suministro de MEV. Para obtener el pedido (perfecto justo antes del intercambio, quemado inmediatamente después) es necesario enviar un paquete a un constructor de bloques exactamente a través de la tubería de separación proponente-constructor analizada en el artículo MEV y mempool; JIT compite por el espacio del bloque y paga al constructor como cualquier otro buscador, y las ganancias después de esa oferta son escasas. Es una selección adversa para los LP pasivos. Los robots JIT desvían el flujo más grande y benigno (los swaps gruesos y desinformados donde las tarifas son jugosas y la toxicidad es baja) y dejan posiciones pasivas que mantienen las operaciones más pequeñas y el flujo tóxico e informado que genera LVR. Los ingresos por comisiones realizadas de un LP pasivo son inferiores que los ingresos por comisiones principales del pool precisamente porque JIT capturó las mejores porciones. Este último punto no es sólo una nota económica a pie de página; es una mina terrestre en la siguiente sección.

Realizar pruebas retrospectivas de LP a partir de datos en cadena, honestamente
Cada afirmación anterior (los rangos de tamaño de volumen superan a los estáticos, el reequilibrio de bandas supera a los periódicos, el LPing cubierto es +EV en el régimen X) es una hipótesis que debe probarse con el historial en cadena antes de comprometer capital. Los datos están ahí: eventos de swap y eventos de liquidez en los registros del contrato del pool, o preagregados en el subgráfico de Uniswap. La trampa es que un backtest ingenuo de LP es sistemáticamente optimista, y todos los sesgos empujan en la misma dirección. Debes manejar tres o tu Sharpe es ficción.
Atribución de tarifas. El atajo seductor es estimar los ingresos por tarifas como (volumen del fondo común) × (nivel de tarifas) × (su parte del TVL del fondo común). Esto está mal por dos razones. Las tarifas se acumulan únicamente para la liquidez que está dentro del rango en el momento de cada swap, por lo que el denominador correcto es su parte de dentro del rango , no su parte de TVL, y estos difieren cuando el precio se encuentra lejos de su centro. Y el crecimiento de las tarifas depende de la trayectoria: depende de la secuencia exacta de los swaps y de dónde dejó cada uno el precio en relación con sus límites. El único método honesto es repetir los intercambios y diferenciar los feeGrowthInside acumuladores a través de los límites de su rango, exactamente como lo hace el contrato: la contabilidad O (1) de la parte de liquidez concentrada. El volumen prorrateado por TVL puede estar desviado en un gran múltiplo en cualquier dirección, y está "muy" equivocado cuando el precio se mueve cerca de sus límites, que es el régimen que más necesita modelar correctamente.
Alineación de precio versus tick del pool. Existen dos precios en cada instante y no son iguales: el tick del pool (donde se ubica el precio marginal del AMM después del último swap) y el mid externo/CEX (donde el activo realmente se negocia). Marque su posición en el tick del pool e incorporará las ganancias del arbitrajista a sus propios rendimientos, porque el tick del pool está obsoleto entre las operaciones de arbitraje; marque en el centro de CEX y debe alinear las marcas de tiempo en todos los lugares con diferentes relojes y tiempos de bloqueo. La cadencia de las instantáneas agrava esto: las instantáneas de subgrafos por hora omiten silenciosamente los cruces de rango dentro de la hora: una posición que salió y volvió a ingresar a su rango dentro de una hora parece haber estado dentro del rango todo el tiempo, exagerando las tarifas y subestimando el LVR. Todo lo que afirmes sobre el tiempo dentro del rango o LVR debe provenir de nivel de intercambio, repetición con marca de tiempo en bloque, no marcas horarias.
MEV y JIT internos contaminan la estimación de tarifas. Este es el más sutil y el más peligroso, y es por eso que la sección JIT se encuentra justo antes de esta. Si estima los ingresos por comisiones de una estrategia pasiva a partir de los ingresos históricos por comisiones realizadas del pool, está acreditando a su posición pasiva las comisiones que los robots JIT realmente capturaron: ingresos que un LP pasivo real nunca habría visto, porque la liquidez JIT se acuñó antes que él para esos swaps exactos. Su backtest hereda tarifas fantasma. Los mismos swaps conllevan la otra mitad de la distorsión: una gran fracción del volumen del pool es arbitraje (el flujo tóxico e informado que es su LVR), por lo que contarlo todo como volumen "bueno" generador de tarifas e ignorar la selección adversa que impone favorece doblemente el resultado. Un backtest de LP honesto debe (a) reconstruir la liquidez dentro del rango incluidas posiciones JIT transitorias para atribuir las tarifas correctamente, (b) contabilizar por separado el LVR de la trayectoria de precios realizada en lugar de asumir que las tarifas son dinero gratis, y (c) tratar el arbitraje y los swaps desnatados por JIT como lo que son: el lado de los costos del libro mayor, no el lado de los ingresos. Omita esto y su hermosa estrategia de tamaño de volumen, reequilibrio de banda y cobertura delta parecerá rentable en el papel y sangrará en la producción, por razones que el documento nunca le mostró.
Cada uno de estos sesgos eleva el rendimiento estimado hacia arriba, que es el peor modo de fallo posible: una prueba retrospectiva que halaga:
| Fuente de sesgo | Atajo ingenuo | Método honesto | Efecto sobre las pérdidas y ganancias estimadas |
|---|---|---|---|
| Atribución de tarifas | volumen × participación de TVL | diferencia feeGrowthInside en repetición de intercambio |
exagera o subestima, lo peor cerca de los bordes |
| Marca de precio | garrapata de piscina | CEX medio, marca de tiempo de bloque alineada | exagera (obtiene ganancias arb) |
| Cadencia de instantáneas | instantáneas por hora | nivel de intercambio, marca de tiempo de bloque | exagera el tiempo dentro del rango |
| Desnatado JIT | créditos honorarios fantasma | reconstruir JIT transitorio | exagera los ingresos por comisiones |
| Flujo de arbitraje | cuenta como volumen "bueno" | cuenta por separado como LVR | exagera (ignora la selección adversa) |
La disciplina es la misma que separa una prueba retrospectiva de una estrategia comercial real de una fantasía: modelar los costos con el mismo rigor que los ingresos y sospechar más de la cifra cuando se ve mejor.
Qué llevar
Ejecute una posición v3 de la misma manera que un escritorio ejecuta un libro y las cinco decisiones se alinearán:
- El ancho es una apuesta de volumen. Dimensione el rango como un -banda sigma de un pronóstico de varianza anticipada (GARCH, sin seguimiento realizado), de modo que la concentración respira con el régimen en lugar de permanecer en un incumplimiento estático. El mapa de ticks es una línea, porque los ticks son precios logarítmicos.
- El reequilibrio es un costo de recotización, no un reflejo. Actuar solo cuando el aumento esperado de la tarifa liquide el gas + swap + LVR cristalizado; la forma correcta es una banda sin reequilibrio y la frecuencia correcta es mucho más baja de lo que sugiere el instinto. El sobrereequilibrio es LVR más un impuesto autoinfligido, y para muchas posiciones pequeñas el recuento óptimo de reequilibrio es cero.
- El delta es el inventario. Para una posición dentro del rango , el ETH que posee actualmente; En pocas palabras, que un delincuente ejecute un libro de creación de mercado en lugar de uno direccional accidental. Una gamma negativa significa una nueva cobertura continua, cuyo costo es LVR, y la financiación es la renta dependiente del régimen: a menudo un viento de cola, nunca una garantía.
- JIT es el límite de un bloque de LPing activo: liquidez profunda en torno a un solo swap, IL casi nulo, capital real requerido (sin préstamo rápido) y un paquete en la cadena de suministro de MEV que obtiene el mejor flujo de los LP pasivos.
- El backtest es optimista a menos que hagas diferencias
feeGrowthInsidepara la atribución, utilice marcas de bloque con marca de tiempo a nivel de intercambio y trate el flujo de arbitraje y desnatado JIT como el lado del costo. Las tarifas fantasma más el LVR ignorado es la forma en que una estrategia perdedora pasa la revisión.
El hilo conductor de esta serie es que una posición LP tiene una estructura analítica exacta (valor, delta, gamma, LVR) y en el momento en que las escribes, LPing deja de ser "depositar y rezar" y se convierte en una operación comprobable, considerable y con cobertura. Los cálculos estaban en liquidez concentrada; el cálculo de rentabilidad está en pérdida impermanente y LVR; esta pieza es cómo realmente operas la posición entre esos dos. Nada de esto elimina el riesgo. Simplemente le indica, hasta el punto básico, qué riesgo le pagan por asumir.
Referencias
- Adams, H., Zinsmeister, N., Salem, M., Keefer, R., Robinson, D. (2021). Uniswap v3 Core (documento técnico).
- Milionis, J., Moallemi, C., Roughgarden, T., Zhang, AL (2022). Creación de mercado automatizada y reequilibrio de pérdidas versus reequilibrio. arXiv:2208.06046.
- Milionis, J., Moallemi, C., Roughgarden, T. (2023). Compensaciones entre complejidad y aproximación en los mecanismos de intercambio: AMM versus LOB, y trabajos relacionados con LVR con tarifas. arXiv:2302.11737.
- Cartea, Á., Drissi, F., Monga, M. (2023). Pérdidas predecibles de provisión de liquidez en mercados de función constante y mercados de liquidez concentrados. arXiv:2309.08431.
- Fritsch, R., et al. (2023). Análisis y evaluación comparativa de la liquidez justo a tiempo (JIT) en Uniswap v3.
- Subgrafo Uniswap y bibliotecas principales:
Position.sol,Tick.sol,SqrtPriceMath.sol(crecimiento de tarifas y cálculos de cantidad para una repetición honesta). - Bollerslev, T. (1986). Heterocedasticidad condicional autorregresiva generalizada: el pronóstico GARCH(1,1) detrás del tamaño del rango.
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.