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

# Cuotas a la baja (dropping odds)

> Detectar las cuotas que se acortan — la señal del dinero sharp — con el histórico completo de cuotas de Pinnacle.

Una **dropping odd** es un resultado cuya cuota decimal **baja** (se acorta) de forma notable con el tiempo — p. ej. una victoria local que pasa de **2,50 a 2,10**. Una cuota más corta significa una **probabilidad implícita al alza**: entra dinero en ese lado. Como Pinnacle es el book más *sharp*, estos movimientos suelen indicar **información de mercado** (lesión, alineación, un *steam move*).

## Por qué es una señal

* **Dinero informado**: en Pinnacle una caída marcada refleja apuestas grandes/informadas, no ruido.
* **CLV positivo**: apostar *antes* de que la cuota se acorte más bate el cierre (ver [true odds](/es/concepts/true-odds)).
* **Timing en vivo**: en directo, las dropping odds reaccionan a los eventos del partido en segundos.

## Detectarlas con apinn

Cada llamada a [`/api/odds?full_history=1`](/es/api-reference/introduction) devuelve **todos los snapshots** de un evento (cada uno con marca de tiempo), con las cuotas brutas `odds1/odds0/odds2` **y** las devig `todds1/0/2`. Compara la **apertura** (primer snapshot) con el valor **actual**:

<Steps>
  <Step title="Listar los partidos en vivo">
    ```bash theme={null}
    curl "https://api.apinn.io/api/fixtures?sport_id=29&live=1" -H "X-API-Key: TU_CLAVE"
    ```
  </Step>

  <Step title="Obtener el histórico de cuotas">
    ```bash theme={null}
    curl "https://api.apinn.io/api/odds?event_id=1632003656&full_history=1&main_lines_only=1&market=moneyline" \
      -H "X-API-Key: TU_CLAVE"
    ```
  </Step>

  <Step title="Calcular la caída por resultado">
    `caída% = (apertura − actual) / apertura × 100` — conserva las caídas ≥ tu umbral.
  </Step>
</Steps>

```python Python theme={null}
import requests

BASE, H = "https://api.apinn.io", {"X-API-Key": "TU_CLAVE"}
UMBRAL = 8         # % de caída mínimo
event_id = 1632003656

hist = requests.get(f"{BASE}/api/odds",
    params={"event_id": event_id, "full_history": 1,
            "main_lines_only": 1, "market": "moneyline"}, headers=H).json()

# snapshots ordenados por timestamp ; apertura = primero, actual = último
snaps = sorted(hist, key=lambda r: r["timestamp"])
if snaps:
    open_, now = snaps[0], snaps[-1]
    for k, label in [("odds1", "local"), ("odds0", "empate"), ("odds2", "visitante")]:
        o, n = open_.get(k), now.get(k)
        if o and n:
            drop = (o - n) / o * 100
            if drop >= UMBRAL:
                print(f"⬇ {label}: {o:.2f} → {n:.2f}  (−{drop:.1f}%)")
```

<Info>
  Usa mejor los campos **`todds`** (sin el margen) para una señal más limpia: la caída refleja entonces el movimiento de **probabilidad justa**, no el margen.
</Info>

## Buenas prácticas

* **Acota las cuotas** (p. ej. 1,30–6,00): ignora los extremos ruidosos.
* **Ventana**: desde la apertura (movimiento de fondo) o en los **últimos N minutos** (reacción en vivo).
* **Tiempo real**: para menos de un segundo, escucha el flujo [SSE](/es/concepts/streaming) en vez de sondear.
* **Inverso**: las *rising odds* (cuotas que suben) señalan dinero que **sale** de un lado.

## Constrúyelo en un prompt

¿No quieres programar? Pega nuestro prompt listo para usar en Claude y te construye el monitor de dropping odds — ver **[Construir con Claude](/es/build-with-claude)**.
