# Instrucciones para el agente: Kronos: experimenta con modelos para series de mercado

Pega este texto a tu agente (Claude Code, Codex, OpenCode, Hermes o el que uses) y dile «ayúdame a montarlo». Son los pasos para ponerlo en marcha; el porqué de cada pieza está en la guía completa.

- Dificultad: avanzado
- Proyecto: https://github.com/shiyu-coder/Kronos (licencia MIT)
- Guía completa: https://lab.wisd.ai/hub/kronos-market-model

---

## Para el agente: cómo acompañar al usuario

1. Pregunta primero para qué lo quiere. Si su objetivo no necesita algún paso, sáltalo.
2. Antes de instalar, comprueba lo que ya tiene (versiones, claves, sistema operativo).
3. Avanza un paso cada vez: explica en una frase qué vas a hacer y deja que el usuario lo ejecute o lo apruebe.
4. Tras cada paso, comprueba que funcionó antes de seguir. Si falla, para y explica el error.
5. No inventes comandos ni opciones: si la documentación del proyecto contradice estos pasos, manda la documentación.
6. Al terminar, haz una prueba real con el objetivo del usuario y dile dónde profundizar.

---

## Pasos de configuración

Comprueba que tu entorno tiene Python ≥3.10 y pip. Con Git disponible ejecuta `git clone https://github.com/shiyu-coder/Kronos.git` y `cd Kronos`. Permanece en esa raíz para los siguientes comandos. Instala sus dependencias con el comando documentado:

```sh
pip install -r requirements.txt
```

El README carga los componentes así:

```python
from model import Kronos, KronosTokenizer, KronosPredictor

tokenizer = KronosTokenizer.from_pretrained("NeoQuasar/Kronos-Tokenizer-base")
model = Kronos.from_pretrained("NeoQuasar/Kronos-small")
```

Guarda ese bloque como `prueba_kronos.py` en la raíz y añade lo siguiente, adaptado de [Making Forecasts](https://github.com/shiyu-coder/Kronos#-making-forecasts):

```python
import pandas as pd

predictor = KronosPredictor(model, tokenizer, max_context=512)
df = pd.read_csv("finetune_csv/data/HK_ali_09988_kline_5min_all.csv")
df["timestamps"] = pd.to_datetime(df["timestamps"])
lookback = 400
pred_len = 120
x_df = df.loc[:lookback-1, ["open", "high", "low", "close", "volume", "amount"]]
x_timestamp = df.loc[:lookback-1, "timestamps"]
y_timestamp = df.loc[lookback:lookback+pred_len-1, "timestamps"]
pred_df = predictor.predict(
    df=x_df, x_timestamp=x_timestamp, y_timestamp=y_timestamp,
    pred_len=pred_len, T=1.0, top_p=0.9, sample_count=1,
)
print(pred_df.head())
print(len(pred_df))
```

Ejecuta `python prueba_kronos.py` desde la raíz. Se adapta el archivo de entrada porque el CSV `data/XSHG_5min_600977.csv` del README no viene en la copia consultada; se usa [el CSV incluido](https://github.com/shiyu-coder/Kronos/blob/master/finetune_csv/data/HK_ali_09988_kline_5min_all.csv), con las mismas columnas. El predictor detecta CUDA, MPS o CPU según [su código](https://github.com/shiyu-coder/Kronos/blob/master/model/kronos.py). La primera carga descarga los pesos de Hugging Face. Debe devolver 120 filas; sus valores son probabilísticos, no cifras conocidas de antemano.

## Comprobación

Comprueba orden temporal, columnas y horizonte. Evalúa el resultado en datos posteriores al historial de entrada antes de interpretar su utilidad.

## Si algo falla

Si no carga el modelo, revisa el acceso y los recursos necesarios para los pesos. Si falla la predicción, contrasta el formato de entrada con el ejemplo.

Consulta [el README oficial](https://github.com/shiyu-coder/Kronos#readme) para requisitos y variantes de instalación.
