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
- Python 3.9 ou version ultérieure.
- Une clé API définie dans
STOCHIO_API_KEYet un fichiercandles.csv: consultez Effectuer votre premier appel API.
É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.pyOutput
Saved forecast.pngLe 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.