English version · FAQ · Avertissement
Licence MIT — outil d'analyse uniquement : pas de trading, pas d'exécution, pas de conseil en investissement. Chaque instance tire ses propres données depuis l'endpoint delayed public de CBOE ; ce projet ne rediffuse aucune donnée de marché.
⚠️ Le trading d'options et de dérivés comporte un risque élevé de perte. Cet outil est fourni à titre éducatif, sans garantie, et ne constitue pas un conseil en investissement. Lisez l'avertissement complet avant toute utilisation.
| Vue principale | Gamma Profile |
|---|---|
![]() |
![]() |
| GEX/DEX par strike, niveaux 0DTE, flux delta, historique | Profil de GEX net selon le spot, décomposé par échéance |
| Vanna & Charm | Positionnement |
|---|---|
![]() |
![]() |
| Grecques de second ordre par strike | Variation d'open interest entre séances |
Dashboard d'analyse uniquement (pas de trading) qui reconstruit les métriques de structure de marché façon SpotGamma à partir des chaînes d'options CBOE : Gamma Exposure par strike, Delta Exposure, GEX net, niveau Zero Gamma, put/call ratios, skew IV, et proxy de flux delta intraday.
Envie de comprendre ce que chaque onglet et chaque chiffre affichent ? → Guide illustré, un fichier par onglet plus un fichier qui explique chaque nombre, pensé pour quelqu'un qui découvre le dashboard sans rien connaître aux options.
Le dashboard applique une règle unique, partout : la source temps réel si elle est disponible, la source gratuite sinon.
| CBOE (public) | dxFeed (compte courtier) | |
|---|---|---|
| Compte requis | non | oui (gratuit avec le compte) |
| Fraîcheur | ~15 min de retard | temps réel |
| Sens acheteur/vendeur | non observable | fourni par la source |
| Redistribuable | oui | non — usage strictement personnel |
Sans compte courtier, rien d'essentiel ne manque : tous les niveaux, tous les régimes et tous les graphiques fonctionnent sur la source publique. Seuls l'order flow signé et les bougies minute sur futures nécessitent un compte.
Endpoint delayed public (non documenté officiellement) :
https://cdn.cboe.com/api/global/delayed_quotes/options/_SPX.json (indices
préfixés _). Un GET ramène la chaîne complète — bid/ask, IV, open interest,
volume, Greeks — plus le spot. Délai ~15 min à la source, régénéré ~toutes
les 60 s (timestamp du feed en UTC). Sous-jacents suivis : SPX, NDX, SPY et
QQQ (gex/config.py).
Ce que le temps réel change, mesuré plutôt que supposé : sur les mêmes strikes 0DTE, dxFeed voyait 3 à 6 fois plus de volume que CBOE au même instant, pour un open interest identique au contrat près. Ce n'est pas une source plus approximative, c'est la même sans le retard.
- Chaînes natives SPX / NDX / SPY / QQQ (
gex/idxopt.py) et NQ / ES (gex/futopt.py) — les options sur future ont leur propre structure de gamma, distincte de l'indice transposé. - Order flow signé (
gex/flowtape.py) : chaque transaction porte son côté agresseur, donné par la source. Aucune heuristique de classification. - Spot temps réel et bougies 1 min pour la Heatmap.
gex/export.py n'autorise à
l'export que les lignes source == "cboe".
Débutant, jamais installé ce genre d'outil ? → suis le guide pas à pas illustré (15 min, aucune connaissance requise, sans ligne de commande à comprendre).
Sinon, l'installation assistée par Claude Code ou le démarrage manuel ci-dessous.
Si tu utilises Claude Code, ouvre-le dans un dossier vide et colle ce prompt — il fait tout, y compris l'enregistrement du serveur MCP :
Installe le dashboard GEX (analyse d'options SPX/NDX) sur ma machine.
Dépôt : https://github.com/Darthreign/gex-dashboard
Étapes :
1. Vérifie que Python 3.11+ et git sont disponibles. S'il en manque un,
explique-moi comment l'installer et arrête-toi là.
2. Clone le dépôt dans le dossier courant et places-toi dedans.
3. Crée un environnement virtuel .venv et installe requirements.txt.
4. Lance la suite de tests (pytest tests/ -q) pour valider l'installation :
tous les tests doivent passer.
5. Adapte .mcp.json à mon système : remplace la valeur de "command" par le
chemin ABSOLU vers le python du venv (Windows : .venv\Scripts\python.exe,
macOS/Linux : .venv/bin/python). Le fichier livré contient un chemin
Windows relatif qui ne fonctionne pas ailleurs.
6. Démarre le dashboard (python run.py) et donne-moi l'URL à ouvrir.
7. Explique-moi que je dois redémarrer Claude Code depuis ce dossier pour
activer le serveur MCP "gex-data", et liste les outils qu'il expose.
Important : aucun compte, aucune clé API ni abonnement n'est nécessaire — les
données proviennent de l'endpoint public gratuit de CBOE. Ne me demande aucun
identifiant. Les modules backfill.py (Databento) et tt_auth.py (tastytrade)
sont optionnels et payants : ignore-les complètement.
Le serveur MCP permet ensuite d'interroger tes données en langage naturel (« analyse la structure gamma actuelle », « où sont les murs sur NDX ? »).
python -m venv .venv
.venv\Scripts\pip install -r requirements.txt
.venv\Scripts\python run.py # dashboard sur http://127.0.0.1:8050
Tests : .venv\Scripts\python -m pytest tests/
Le projet est un package Python standard. Installé, il expose deux commandes, sans avoir à se placer dans le dossier des sources :
pip install . # ou : pip install -e . (mode développement)
gex-dashboard # démarre le dashboard
gex-mcp # démarre le serveur MCP
Une fois installé ainsi, data/ et logs/ sont créés dans le dossier
courant (et non dans les sources) : lance la commande depuis le dossier où
tu veux conserver ton historique.
C'est ce qui distingue vraiment cet outil d'un dashboard classique : une fois le serveur MCP actif, tu peux poser tes questions directement à Claude, qui lit tes fichiers Parquet et te répond sur tes données.
« Où sont les murs de gamma sur NDX ? »
« Analyse le régime gamma actuel sur SPX »
« Comment le GEX net a-t-il évolué cette semaine ? »
« Montre-moi le flux delta de la dernière séance »
Le fichier .mcp.json enregistre le serveur automatiquement.
Il contient un chemin Windows relatif : sous macOS ou Linux, remplace la
valeur de command par le chemin absolu vers .venv/bin/python, faute de
quoi le serveur échoue sans message explicite.
Outils exposés : get_market_context (synthèse : régime, murs les plus
proches du spot, VIX), get_gex_summary, get_gex_by_strike (murs de gamma),
get_flow_delta, get_history, get_reports, get_log_tail.
Ces outils suivent la même règle de source que l'interface : ils répondent sur la chaîne native quand elle existe, sur CBOE sinon — pour éviter deux vérités différentes selon qu'on regarde l'écran ou qu'on interroge Claude.
Un composant séparé et léger (discord_bot/) relaie
dans un salon Discord le verdict d'état du gamma. Des amis voient ta
conclusion (« Gamma négatif sur le Nasdaq, contrarien risqué ») sans compte
courtier ni accès aux données brutes : le bot n'interroge que l'API locale du
dashboard (/api/v1/digest), qui ne renvoie que des analyses dérivées — jamais
les chaînes d'options.
- Posts automatiques à heures fixes (8h30 / 15h25 / 15h35 / 17h30 Paris) et à chaque changement de régime en séance US. Silencieux le week-end.
- Verdict par famille : le régime est jugé par classe d'actifs indépendante — S&P (SPX/SPY/ES) et Nasdaq (NDX/QQQ/NQ) — et non symbole par symbole, avec un poids plus fort à l'indice cash qu'à l'ETF puis au future. Couleur : 🔴 2 familles négatives ou une en fort négatif · 🟠 1 famille négative ou VIX élevé · 🟢 sinon. Une ligne de confiance reflète la couverture des données.
- Commandes à la demande :
!etat/!gamma(digest),!gamma NQ(valeurs calculées),!niveaux NQ(niveaux GEX, transposables :!niveaux NDX NQ), n'importe quel graphique en image (!heatmap NQ,!delta SPX…) et!help.
Le bot n'expose que des conclusions calculées : c'est ce qui permet de les partager sans rediffuser un flux sous licence personnelle. Mise en place dans le README du bot.
- GEX / DEX par strike (fenêtre réglable ±2/4/10 %), calls/puts au survol
- Niveaux 0DTE tracés : GEX1-5 (murs de gamma), Flip (zero gamma, pondéré open interest), HVL (bascule pondérée par le volume du jour)
- GEX net, P/C ratios, skew IV par expiration, vue par échéance (0DTE/semaine/mois)
- Flux delta 1 min (proxy Δvolume×δ) avec sélecteur de journée
- Historique GEX net & spot vs zero gamma (s'accumule automatiquement)
- Backfill historique optionnel via Databento (
gex/backfill.py, payant, devis affiché avant tout téléchargement) - Order flow signé sur options (compte courtier) : côté agresseur fourni par la source, pondéré par le delta — une mesure d'impact de couverture, pas un décompte de contrats. Jambes de combos isolées du flux net.
- VIX en confluence, en direct si l'abonnement le permet, délayé sinon
- Serveur MCP (
gex/mcp_server.py) pour interroger les données depuis Claude - Bot Discord optionnel (
discord_bot/) qui diffuse le verdict d'état du gamma (analyses dérivées seulement) — voir plus haut - Titres de graphiques cliquables : chaque titre renvoie à la section du guide illustré qui l'explique
Copier .env.example, renseigner DATABENTO_API_KEY, puis par ex. :
python -m gex.backfill --daily-days 31 --intraday-days 7 --max-cost 40.
Les fichiers bruts sont conservés dans data/databento/ : relancer ne
refacture jamais ce qui est déjà téléchargé. La passerelle Databento peut
renvoyer des 504 sur les grosses requêtes : préférer des tranches d'une
semaine (--end + --daily-days 7).
gex/ingest.py— fetch + parsing des chaînes CBOE (retry/backoff)gex/idxopt.py— chaînes d'indice natives via dxFeed (temps réel)gex/futopt.py— chaînes d'options sur future NQ/ES via dxFeedgex/flowtape.py— order flow signé (TimeAndSale + Greeks)gex/rtquote.py— spot temps réel et bougies 1 mingex/greeks.py— Black-Scholes vectorisé (testé sur valeurs Hull)gex/metrics.py— GEX/DEX par strike, zero gamma, P/C, flux deltagex/store.py— Parquet : snapshots complets (10 min), flux (1 min), historiquegex/scheduler.py— boucle APScheduler, heures de marché ET (9:30–16:15)gex/app.py— dashboard Dash (refresh auto 60 s)
- GEX ($ par 1 % de move) = γ × OI × 100 × spot² × 0,01 — calls positifs, puts négatifs (convention « naive » SpotGamma : dealers longs calls, courts puts).
- Zero Gamma : recalcul du profil de GEX net sur une grille de spots ±8 % (IV et maturités figées), interpolation du passage par zéro le plus proche du spot.
- Flux delta (proxy) = Δvolume entre deux pulls × δ × 100 × spot. Le sens taker n'est pas observable dans ce feed : pression delta-pondérée, pas un vrai order-flow signé.
- Échéances posées à 16:00 ET ; contrats expirés exclus ; 0DTE gardé en séance avec plancher de 5 min sur t.
Le dashboard est gratuit, sans publicité et sans collecte de données — et il le restera. Si tu l'utilises et qu'il te fait gagner du temps, tu peux offrir un café au développement :
C'est entièrement facultatif. Un don n'ouvre droit à aucun support, aucune priorité sur les fonctionnalités et aucune garantie — les termes de la licence MIT et de l'avertissement restent inchangés. Signaler un bug ou proposer une amélioration aide tout autant.
- Sans compte courtier : données délayées 15 min — outil de lecture de structure, pas d'exécution. Avec un compte, le retard disparaît mais l'outil reste un outil d'analyse : ni ordre, ni exécution, ni conseil.
- L'order flow signé ne couvre que les strikes à ±1,5 % du spot sur les 2 échéances les plus proches (là où se traite l'essentiel). Ses amplitudes ne sont donc pas comparables à celles du proxy CBOE, qui porte sur toute la chaîne.
- Endpoint CBOE non contractuel : le format peut changer (l'ingestion est isolée pour pouvoir brancher une autre source, ex. Tradier).
- SPY et QQQ : ces ETF versent un dividende, or le calcul suppose un rendement nul (q = 0). L'approximation reste faible sur les échéances courtes mais n'est pas nulle — les indices SPX et NDX, eux, n'ont pas ce biais. Ils n'ont par ailleurs pas de future associé, donc le sélecteur Indice/Futures y est inactif.



