Démarrage rapide

Tracer un intervalle de prévision

Demandez la distribution complète des prévisions, puis tracez la médiane avec l’intervalle de 10 % à 90 % des clôtures prévues.

Environ 10 minutes

Prérequis

Étape 1 : Installer les dépendances

pip install requests pandas matplotlib

Étape 2 : Demander la distribution

Avec "output": "distribution", l’API renvoie, pour chaque barre prévue, la moyenne et les quantiles demandés au lieu d’une seule série. Les quantiles sont calculés sur les trajectoires tirées : en demander 64, le maximum du plan Développeur, les rend plus stables qu’avec les 16 trajectoires par défaut.

Étape 3 : Créer votre code

Créez un fichier nommé plot_forecast.py :

import os

import matplotlib.pyplot as plt
import pandas as pd
import requests

API_URL = "https://api.stochio.fr"
API_KEY = os.environ["STOCHIO_API_KEY"]

bars = pd.read_csv("candles.csv", index_col="date", parse_dates=True)

response = requests.post(
    f"{API_URL}/v1/forecast",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={
        "model": "stochio-small-1",
        "timestamps": [t.isoformat() for t in bars.index],
        **{c: bars[c].tolist() for c in ["open", "high", "low", "close", "volume"]},
        "horizon": 24,
        "output": "distribution",
        "quantiles": [0.1, 0.5, 0.9],
        "sample_count": 64,
    },
    timeout=60,
)
if not response.ok:
    raise SystemExit(f"{response.status_code}: {response.json()['message']}")

forecast = response.json()
dates = pd.to_datetime(forecast["timestamps"])
q = forecast["quantiles"]

plt.figure(figsize=(10, 4))
plt.plot(bars.index[-120:], bars["close"][-120:], color="black", label="History")
plt.fill_between(dates, q["0.1"]["close"], q["0.9"]["close"], alpha=0.25, label="10-90% interval")
plt.plot(dates, q["0.5"]["close"], label="Median")
plt.legend()
plt.tight_layout()
plt.savefig("forecast.png")
print("Saved forecast.png")

Étape 4 : Exécuter votre code

python plot_forecast.py

Output

Saved forecast.png

Le graphique forecast.png montre l’historique en noir, la médiane des clôtures prévues et la zone dans laquelle se trouvent 80 % des trajectoires. Plus l’intervalle est large, plus l’incertitude du modèle est grande.

Étapes suivantes