> ## Documentation Index
> Fetch the complete documentation index at: https://docs.intention.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# TWAP

> Reparte una orden grande en el tiempo para que tome liquidez a medida que el libro se repone, con recuperación cuando una porción se queda corta y aleatorización para no ser predecible.

Una orden grande tomada de golpe paga su propio impacto: recorre el libro, y cada nivel que consume es peor que el anterior. Una orden TWAP reparte el mismo tamaño en el tiempo, tomando una porción a intervalos fijos para que el libro tenga tiempo de reponerse entre ellas.

La contrapartida es explícita. Aceptas **riesgo de precio durante la ventana de ejecución** (el mercado puede moverse en tu contra mientras trabajas la orden) a cambio de evitar el impacto de hacerlo todo de una vez.

<h2 id="parameters">
  Parámetros
</h2>

| Parámetro          | Significado                                                                              |
| ------------------ | ---------------------------------------------------------------------------------------- |
| **Tamaño total**   | La cantidad completa a ejecutar, introducida en el activo o en la moneda de compensación |
| **Duración**       | Durante cuánto tiempo repartirla: de 5 minutos a 24 horas                                |
| **Intervalo**      | Tiempo entre porciones                                                                   |
| **Aleatorizar**    | Varía el tamaño de las porciones en vez de enviarlas idénticas                           |
| **Solo reducción** | Restringe la orden a cerrar una posición existente                                       |

A partir de la duración y el intervalo:

$$
N = \frac{\text{duración}}{\text{intervalo}} + 1 \qquad
\text{porción base} = \frac{Q}{N}
$$

Una porción se lanza inmediatamente al empezar, después en cada intervalo, y una vez más al final de la ventana.

<h2 id="validation-before-it-starts">
  Validación antes de empezar
</h2>

Un TWAP se rechaza de entrada si no puede completarse tal como se especificó:

* Las porciones deben ser lo bastante grandes para ser órdenes válidas: el total dividido a lo largo del calendario no puede quedar por debajo del mínimo del mercado
* Las porciones no deben superar el tamaño máximo de orden del mercado
* El tamaño completo debe cumplir el margen inicial
* Si es de solo reducción, el total no debe superar tu posición actual

Fallar pronto importa aquí. Un TWAP que descubre a mitad de camino que sus porciones están por debajo del mínimo te deja ejecutado a medias y sin una forma limpia de terminar.

<h2 id="execution-and-catch-up">
  Ejecución y recuperación
</h2>

Cada porción se envía como una orden de mercado con un **tope de deslizamiento del 3%**. Las porciones caen en el primer bloque después de que transcurra cada intervalo, porque la ejecución la impulsa la cadena y no un reloj de pared.

Si una porción se ejecuta menos de lo previsto (libro poco profundo, tope de deslizamiento alcanzado), el déficit no se pierde. El calendario se compara con donde debería estar:

$$
\text{objetivo} = \frac{t_{\text{transcurrido}}}{t_{\text{duración}}} \times Q
$$

Cuando las ejecuciones reales se quedan por detrás de ese objetivo, las porciones siguientes se agrandan para recuperar:

<div className="dg" data-dg="twap-catchup">
  <div className="dg-c" style={{aspectRatio:"720 / 286"}}>
    <svg className="dg-w" viewBox="0 0 720 286" aria-hidden="true">
      <path className="dg-rule dg-dash" d="M 400 24 L 400 250" />
    </svg>

    <div className="dg-b dg-plain dg-left" style={{left:"57.2222%",top:"35.6643%",width:"18.8889%",height:"9.7902%"}}><span className="dg-s dg-ink--orange">se queda corta</span></div>
    <div className="dg-b dg-plain dg-left" style={{left:"57.2222%",top:"48.2517%",width:"18.8889%",height:"9.7902%"}}><span className="dg-s dg-ink--sky">recuperando</span></div>
    <div className="dg-b dg--sky dg-left" style={{left:"77.7778%",top:"16.0839%",width:"22.2222%",height:"61.5385%"}}><span className="dg-t">Por qué hay tope</span><span className="dg-s">Una estrategia que responde a la iliquidez con órdenes cada vez mayores se convierte en el impacto que debía evitar.</span><span className="dg-n">objetivo = transcurrido ÷ duración × total</span></div>
    <div className="dg-free" style={{left:"0.0000%",top:"0.0000%",width:"61.1111%"}}><div className="dg-n">Seis porciones, 6.0 total — la 3 se queda corta con libro fino</div></div>
    <div className="dg-bar" style={{left:"0.0000%",top:"10.4895%",width:"55.5556%",height:"9.7902%"}}><span className="dg-bar-lead" style={{width:"15.5000%"}}>Porción 1</span><span className="dg-bar-track"><span className="dg-bar-fill dg--blue" style={{left:"0%",width:"33.333%"}} /><span className="dg-bar-val" style={{left:"33.333%"}}>1.00</span></span></div>
    <div className="dg-bar" style={{left:"0.0000%",top:"23.0769%",width:"55.5556%",height:"9.7902%"}}><span className="dg-bar-lead" style={{width:"15.5000%"}}>Porción 2</span><span className="dg-bar-track"><span className="dg-bar-fill dg--blue" style={{left:"0%",width:"33.333%"}} /><span className="dg-bar-val" style={{left:"33.333%"}}>1.00</span></span></div>
    <div className="dg-bar" style={{left:"0.0000%",top:"35.6643%",width:"55.5556%",height:"9.7902%"}}><span className="dg-bar-lead" style={{width:"15.5000%"}}>Porción 3</span><span className="dg-bar-track"><span className="dg-bar-fill dg--orange" style={{left:"0%",width:"13.333%"}} /><span className="dg-bar-val" style={{left:"13.333%"}}>0.40</span></span></div>
    <div className="dg-bar" style={{left:"0.0000%",top:"48.2517%",width:"55.5556%",height:"9.7902%"}}><span className="dg-bar-lead" style={{width:"15.5000%"}}>Porción 4</span><span className="dg-bar-track"><span className="dg-bar-fill dg--sky" style={{left:"0%",width:"40.000%"}} /><span className="dg-bar-val" style={{left:"40.000%"}}>1.20</span></span></div>
    <div className="dg-bar" style={{left:"0.0000%",top:"60.8392%",width:"55.5556%",height:"9.7902%"}}><span className="dg-bar-lead" style={{width:"15.5000%"}}>Porción 5</span><span className="dg-bar-track"><span className="dg-bar-fill dg--sky" style={{left:"0%",width:"40.000%"}} /><span className="dg-bar-val" style={{left:"40.000%"}}>1.20</span></span></div>
    <div className="dg-bar" style={{left:"0.0000%",top:"73.4266%",width:"55.5556%",height:"9.7902%"}}><span className="dg-bar-lead" style={{width:"15.5000%"}}>Porción 6</span><span className="dg-bar-track"><span className="dg-bar-fill dg--sky" style={{left:"0%",width:"40.000%"}} /><span className="dg-bar-val" style={{left:"40.000%"}}>1.20</span></span></div>
    <div className="dg-lbl" style={{left:"55.5556%",top:"90.2098%"}}>3× el tamaño base — el tope</div>
  </div>
</div>

El tope es la parte importante. Recuperar es deseable; recuperar sin límite no lo es: una estrategia que responde a la iliquidez enviando órdenes cada vez mayores se convierte en el impacto que fue diseñada para evitar. **Ninguna porción supera el triple del tamaño base**, de modo que la recuperación es gradual.

Una porción que falla por completo se omite y se registra. La estrategia no se detiene: una mala porción en un momento fino no debería dejar varado el resto de la orden.

<h2 id="randomization">
  Aleatorización
</h2>

Con la aleatorización activada, las porciones no son idénticas. Antes de cada una, la estrategia calcula la media de lo que queda y elige un tamaño dentro de una banda segura alrededor de esa media.

Porciones de tamaño fijo a intervalos fijos son un patrón, y un patrón en el flujo de órdenes es información para cualquiera que esté mirando. Aleatorizar elimina la regularidad sin cambiar el total del calendario.

La aritmética de la cantidad restante sigue siendo vinculante. La aleatorización varía los tamaños; no permite que la estrategia se pase ni que deje un residuo al final.

<h2 id="when-twap-is-the-right-tool">
  Cuándo TWAP es la herramienta adecuada
</h2>

**Úsalo** cuando tu orden sea grande respecto a la profundidad visible, cuando tengas tiempo, y cuando el precio medio a lo largo de una ventana sea un objetivo aceptable.

**No lo uses** cuando necesites la posición ya: un TWAP es lo contrario de la urgencia. Y no lo uses cuando tengas un precio concreto en mente: TWAP no tiene objetivo de precio, solo un calendario temporal. Si el precio importa más que la inmediatez, las [órdenes escalonadas](/es/trading/scale-orders) colocan en su lugar órdenes límite en el libro repartidas por un rango de precios.

<Warning>
  Un TWAP no garantiza la ejecución completa. Las porciones son órdenes de mercado acotadas por el deslizamiento, y en un movimiento unidireccional sostenido pueden quedarse cortas una y otra vez. La recuperación tiene tope, así que una ventana que termina con el mercado en tu contra puede dejar la orden sustancialmente incompleta.
</Warning>

<h2 id="where-to-go-next">
  Qué leer a continuación
</h2>

<CardGroup cols={2}>
  <Card title="Órdenes escalonadas" href="/es/trading/scale-orders">
    Repartir en el precio en vez de en el tiempo.
  </Card>

  <Card title="Órdenes de mercado" href="/es/trading/market-to-limit">
    El tope de deslizamiento al que está sujeta cada porción.
  </Card>

  <Card title="Libro de órdenes" href="/es/trading/order-book">
    Juzgar si tu orden es grande respecto a la profundidad.
  </Card>

  <Card title="Comisiones" href="/es/programs/fees">
    Cada porción es una orden taker y paga la comisión taker.
  </Card>
</CardGroup>
