// api
API publique
Les indices de risque consolidés sur l0g sont exposés en JSON, et leurs changements de niveau en flux Atom. De quoi les intégrer dans vos propres dashboards de veille, vos bots d'alerte (Matrix, Signal, Telegram) ou un SIEM. CORS ouvert, aucune clé, aucune authentification, aucun pistage.
// endpoints
Cinq points d'accès, versionnés sous /v1/, sans clé ni authentification :
/api/v1/risk.json JSON État courant des quatre indices et synthèse confluence. GET /api/v1/risk.xml Atom Flux des changements de niveau, pour bots d'alerte et SIEM. GET /api/v1/history.csv CSV Historique complet à plat, prêt pour pandas / R / Excel. GET /api/v1/history.ndjson NDJSON Historique, une ligne JSON par snapshot. GET /api/v1/history/index.json JSON Manifest : couverture, colonnes, nombre de lignes. // exemple
curl -s https://l0g.fr/api/v1/risk.json {
"version": "1",
"generated": "2026-06-18T08:00:00Z",
"snapshot": "2026-06-16T08:16:13Z",
"indices": {
"us": { "value": 58, "scale": 100, "level": "Élevé", "tone": "elevated", "label": "US Macro Dashboard", "source": "https://us.l0g.fr" },
"eu": { "value": 47, "scale": 100, "level": "Modéré", "tone": "moderate", "label": "EU Macro Dashboard", "source": "https://euro.l0g.fr" },
"yen": { "value": 41, "scale": 100, "level": "Modéré", "tone": "moderate", "label": "Yen Carry Monitor", "source": "https://yct.l0g.fr" },
"energie": { "value": 58, "scale": 100, "level": "Tendu", "tone": "elevated", "label": "Energie Monitor", "source": "https://energie.l0g.fr" }
},
"confluence": { "updated": "...", "count": 15, "conviction": 1, "top": { "ticker": "TSM", "score": 90, "quadrant": "divergent" } },
"license": "CC BY 4.0", "attribution": "l0g.fr"
} // historique & backtest
L'historique est point-in-time : chaque snapshot publié est figé, jamais révisé a posteriori. Vous backtestez sur ce qui était réellement affiché à l'instant T, sans look-ahead bias.
import pandas as pd
df = pd.read_csv("https://l0g.fr/api/v1/history.csv", parse_dates=["snapshot"])
df = df.set_index("snapshot").sort_index()
Les colonnes conf_* (synthèse 13FLOW) sont vides sur les premiers
points, antérieurs à l'intégration de la confluence dans l'agrégat. Les quatre sous-indices,
eux, couvrent toute la période.
// champs
indices.<clé>.value— valeur de l'indice (0 àscale, généralement 100).level— libellé lisible (Détendu, Modéré, Élevé/Tendu, Crise).tone— code machine :calm,moderate,elevated,crisis.snapshot— horodatage (ISO 8601 UTC) des données ;generated— date de génération du fichier.confluence— synthèse 13FLOW : nombre de titres, quadrant conviction, meilleur score.
Pas d'« indice global » : on n'expose que les sous-indices réellement mesurés par chaque outil. Agréger les quatre en un seul chiffre serait un nombre dérivé non mesuré — on ne le fait pas.
// notes
- CORS :
Access-Control-Allow-Origin: *— consommable depuis n'importe quel domaine. - Cadence : régénéré à chaque snapshot des outils. Ce n'est pas du temps réel strict ; fiez-vous au champ
snapshot. - Versionnement : la forme de
/v1/reste stable ; toute rupture passera par/v2/. - Licence : CC BY 4.0. Réutilisation libre avec attribution à l0g.fr.
Best-effort. Ceci n'est pas un conseil en investissement.