> For the complete documentation index, see [llms.txt](https://definomicslabs.gitbook.io/papers/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://definomicslabs.gitbook.io/papers/defi/impermanent-loss-paso-a-paso-math.md).

# Impermanent Loss - Paso a paso (Math)

La pérdida impermanente es un concepto popular cuando se trata de creadores de mercado automatizados (AMM) como Uniswap. Un proveedor de liquidez coloca una cantidad inicial en dos tokens y los pone a disposición para que traders puedan intercambiar entre sí. La pérdida impermanente es la pérdida incurrida cuando los precios de mercado cambian, aumentando la cantidad de tokens de menor valor relativo. Se define como la diferencia porcentual entre el valor de la nueva composición de tokens versus el valor si se mantuviese la composición inicial (hold). Hay excelentes artículos que explican bien el concepto y brindan ejemplos, pero todos citan una fórmula para la pérdida impermanente (IL) sin ofrecer una derivación:

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2FHHp1kRgzYyfjMHpZqxyY%2Fimage.png?alt=media&amp;token=51338876-ae63-4b37-abaf-41f8172918ea" alt=""><figcaption></figcaption></figure>

Veamos cómo obtenerla paso a paso:

#### Consideraciones

Los protocolos creadores de mercado automatizados como Uniswap y SushiSwap se basan en una ecuación muy simple:

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2FkyL0SJntBq0SUkXWd2Ur%2Fimage.png?alt=media&amp;token=2c34aa36-d48e-4f68-bb94-2e3ef8804973" alt=""><figcaption></figcaption></figure>

Donde, 𝑥 es el número de tokens para el activo 𝑋, 𝑦 ies el número de tokens para el activo 𝑌 y 𝐾 es el producto constante del grupo.&#x20;

El valor de la posición inicial es:

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2FNDkKrCUPBf2Hlo2Yk15M%2Fimage.png?alt=media&amp;token=f34ad2aa-a7f2-460c-98c8-053511bf3fc1" alt=""><figcaption></figcaption></figure>

Se suministra un valor igual de ambos tokens al grupo, por lo tanto:

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2FJ4sxUZ54kVl0W2pYWQlp%2Fimage.png?alt=media&amp;token=acf49ee0-2211-4b02-a5f0-58fa0e0c6885" alt=""><figcaption></figcaption></figure>

De (1) sabemos que 𝑥 = 𝐾/𝑦 , así mismo 𝑦 = 𝐾/𝑥 ,

&#x20;Reemplazamos en (3):

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2F4qKnDHzWE7X1tj2H0GyC%2Fimage.png?alt=media&amp;token=d0b10068-c06c-4839-b54f-aa6d98b86b53" alt=""><figcaption></figcaption></figure>

Despejamos 𝑥 y 𝑦 en términos de 𝐾, 𝑝𝑥 , 𝑝𝑦.

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2FrWkAGMySJxFtVy78aA44%2Fimage.png?alt=media&amp;token=3f12fed2-6931-43f1-a831-3d28fce244d2" alt=""><figcaption></figcaption></figure>

Entonces, reescribimos 𝑉0 según (4):

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2FV0LYSjRonOht1uGoF7Cs%2Fimage.png?alt=media&amp;token=66633598-2b62-46c3-bb9d-0f3d7e125579" alt=""><figcaption></figcaption></figure>

¿Qué pasa si los precios varían pasando de 𝑝𝑥 a 𝑝𝑥1 y de 𝑝𝑦 a 𝑝𝑦1?&#x20;

Las nuevas cantidades serían:

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2FMmN69jZs5d78UJRNIZsb%2Fimage.png?alt=media&amp;token=00578017-63dc-4722-a21a-506fb2ad3f1d" alt=""><figcaption></figcaption></figure>

Entonces, calculamos el valor con la nueva composición 𝑥1 y 𝑦1.

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2FJRSZjKYERyWnXVKJ4A8E%2Fimage.png?alt=media&amp;token=9c182805-4e7e-4a05-9ae1-0822a1b4c8f7" alt=""><figcaption></figcaption></figure>

Mientras que al holdear, las cantidades no cambian, se mantiene 𝑥 y 𝑦.&#x20;

Por lo tanto, el valor sería:

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2F4GdG40OooSzcLhNAIEjx%2Fimage.png?alt=media&amp;token=eafb9f1d-e3e0-441b-9aad-4d2f0e287cf3" alt=""><figcaption></figcaption></figure>

Para obtener la pérdida impermanente, calculamos la diferencia entre 𝑉1 y 𝐻𝑜𝑙𝑑.

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2FUqvRuH4TVddbW83JMUUx%2Fimage.png?alt=media&amp;token=a5441b71-6c01-45ec-ab09-3096f0a8e451" alt=""><figcaption></figcaption></figure>

Asumimos que ∆𝑥= 𝑝𝑥1/𝑝𝑥 y ∆𝑦= 𝑝𝑦1/𝑝𝑦 .&#x20;

Entonces, 𝑝𝑥1 = 𝑝𝑥 ∗ ∆𝑥 y 𝑝𝑦1 = 𝑝𝑦∗∆𝑦

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2FpBU6yX0vW2o0q16OSPsa%2Fimage.png?alt=media&amp;token=f47d4390-66d9-4791-81a3-09bc3e3dbfc7" alt=""><figcaption></figcaption></figure>

Lo calculamos como porcentaje:

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2F93gaOFevGQLHqQAVvHw0%2Fimage.png?alt=media&amp;token=7171255a-c985-4dd7-b880-361cd9ce3213" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2Fnpz2VhnGNtAv3WTV32yp%2Fimage.png?alt=media&amp;token=0930aa3d-ea2f-488c-beac-3c9040a154c9" alt=""><figcaption></figcaption></figure>

Consideramos que 𝑑 = ∆𝑥/∆𝑦, entonces ∆𝑥 = 𝑑 ∗ ∆𝑦 :&#x20;

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2F9ir583eDkMoTdLLEBgwE%2Fimage.png?alt=media&amp;token=461be8ba-53b1-44b5-b330-8cafbdcc48e9" alt=""><figcaption></figcaption></figure>

Factorizamos ∆𝑦:

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2FcrwwlS9TU5PepYC7MavJ%2Fimage.png?alt=media&amp;token=2bb089d8-d1ea-4466-93d8-b4f02acf7d76" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2FTvqcJQNSBFthWVJvxyZY%2Fimage.png?alt=media&amp;token=320953c2-227a-40d8-b4b5-36fca867f81e" alt=""><figcaption></figcaption></figure>

#### Nota 01

En caso la distribución de tokens no sea 50/50, llamaremos 𝑤𝑥 al peso del token 𝑋 and 𝑤𝑦 al peso del token 𝑌. Reescribimos la ecuación 8:

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2F8IEliKf6GeTUJTWBmGLV%2Fimage.png?alt=media&amp;token=dc79c952-775c-4205-a65c-4eac761e62e7" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2F9GnJDPEWz1akPo1SUQRU%2Fimage.png?alt=media&amp;token=b38a2612-465b-487e-842b-1d43b10c5405" alt=""><figcaption></figcaption></figure>

#### Nota 02

Generalizando para más de dos tokens:

<figure><img src="https://3475658396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKgqW3bJ4VPgLJqRfjj6f%2Fuploads%2FT06ljBwWNn9vycGZjTkt%2Fimage.png?alt=media&amp;token=681ed49c-43da-4725-a34e-66798327e753" alt=""><figcaption></figcaption></figure>
