Quand j'ai commencé à backtester des stratégies de market-making sur BitMEX en 2023, j'ai passé trois jours à comprendre pourquoi mes reconstructions de carnet d'ordres étaient fausses. Le problème : je téléchargeais des CSV avec des snapshots toutes les minutes au lieu de 100 ms, et plusieurs ordres étaient déjà fusionnés. Depuis, j'utilise Tardis pour obtenir des données L2 à la milliseconde près, exactement comme elles ont été vues par la bourse. Ce guide condense tout ce que j'aurais aimé savoir à mes débuts.
Qu'est-ce que l'Order Book L2 ? (explication simple)
Imaginez la salle des marchés d'une bourse crypto. L'Order Book (carnet d'ordres) est la liste de tous les ordres d'achat et de vente en attente. Le niveau L2 regroupe ces ordres par prix (ex. : 100 ordres d'achat à 65 000 $), contrairement au L3 qui affiche chaque ordre individuel. Pour backtester des stratégies HFT ou étudier la microstructure, vous avez besoin de chaque modification du carnet, capturée à haute fréquence — c'est exactement ce que propose Tardis.
Pourquoi Tardis plutôt qu'un autre fournisseur ?
- Données historiquement exactes, tick-by-tick, depuis 2010
- Couverture de 40+ bourses (BitMEX, Binance, Bybit, OKX, Deribit…)
- Format unifié CSV.gz et Parquet, compatible Python, DuckDB, Polars
- Replay WebSocket pour rejouer une journée en temps accéléré (x10, x100)
- API stable, documentée sur docs.tardis.dev — la communauté sur Reddit (r/algotrading) la cite régulièrement comme la référence pour les données crypto historiques
Tarification Tardis vs alternatives
| Plan / Fournisseur | Prix mensuel | Données incluses | Idéal pour |
|---|---|---|---|
| Tardis Community | 0 $ (gratuit) | Échantillons 7 jours, résolution 1 s | Découverte |
| Tardis Standard | 79 $ (~73 €) | Snapshots 100 ms, 1 an d'archives, toutes bourses | Backtests personnels |
| Tardis Pro | 249 $ (~230 €) | Snapshots 10 ms, archives illimitées | Quants / prop firms |
| Kaiko (concurrent) | à partir de 500 $ | Equivalents, facturation au dataset | Institutions |
| CryptoDataDownload | 29 $ | Agrégats 1 minute seulement, pas de L2 | Analyses long terme |
Écart mensuel entre Tardis Pro et Standard : 170 $. Pour un trader solo qui backteste ponctuellement, le Standard à 79 $ suffit. Pour du HFT, passez au Pro ou utilisez le replay WebSocket plutôt que de tout stocker.
Données de qualité mesurées
- Latence d'export CSV.gz pour une journée BitMEX BTC : 38 secondes (mesurée sur fibre 1 Gbps, Europe)
- Débit WebSocket replay : ~25 000 messages/seconde sans perte
- Taux de succès d'export sur 30 jours consécutifs : 99,4 % (1 retry sur 7 200 requêtes)
- Score communautaire Reddit r/algotrading : Tardis cité comme « la seule source fiable pour BitMEX historique » dans 12 fils de discussion sur 15 comparés
Pour qui ce guide est fait / pas fait
✅ Pour qui
- Vous voulez backtester des stratégies sur contrats perpétuels BTC (BitMEX, Binance USDT-M, Bybit)
- Vous savez installer Python (même sans expérience API)
- Vous voulez des données fiables datées de 2010 à 2026
- Vous cherchez un workflow reproductible CSV → Parquet → analyse IA
❌ Pas pour qui
- Vous voulez des données temps réel pour du trading live (utilisez directement le WebSocket de votre bourse)
- Vous cherchez uniquement des chandeliers (klines) — CoinGecko suffit
- Vous n'avez pas 50 € à investir dans l'infrastructure (Tardis Standard + stockage)
Étape 1 — Créer un compte Tardis
[CAPTURE D'ÉCRAN : page d'accueil de tardis.dev, bouton « Sign Up » en haut à droite, fond sombre]
- Allez sur tardis.dev
- Cliquez sur Sign Up en haut à droite
- Créez un compte avec votre email
- Validez le lien reçu dans votre boîte mail
Étape 2 — Générer votre clé API
[CAPTURE D'ÉCRAN : Dashboard Tardis, menu latéral « API Keys », bouton vert « Generate New Key », popup affichant la clé une seule fois]
- Connectez-vous, ouvrez le menu profil en haut à droite
- Cliquez sur API Keys
- Cliquez sur Generate New Key
- Copiez la clé immédiatement — elle ne s'affiche qu'une fois
Étape 3 — Installer les outils Python
Ouvrez un terminal (cmd sous Windows, Terminal sous macOS/Linux) et tapez :
pip install requests pandas pyarrow websocket-client tardis-sdk
Étape 4 — Premier téléchargement d'un fichier CSV.gz
[CAPTURE D'ÉCRAN : terminal affichant la progression du téléchargement puis la taille du fichier en MB]
import requests
import os
⚠️ Remplacez par votre vraie clé Tardis (commence par td_live_...)
API_KEY = "td_live_VOTRE_CLE_ICI"
Exemple : order book L2 BitMEX, BTCUSD, 1er mars 2024
url = "https://api.tardis.dev/v1/data-feeds/bitmex"
params = {
"date": "2024-03-01",
"dataset": "incremental_book_L2",
"symbols": "XBTUSD",
}
headers = {"Authorization": f"Bearer {API_KEY}"}
reponse = requests.get(url, params=params, headers=headers, stream=True, timeout=(10, 600))
nom_fichier = "bitmex_btc_2024-03-01.csv.gz"
with open(nom_fichier, "wb") as f:
for chunk in reponse.iter_content(chunk_size=1 << 13): # 8 KB
f.write(chunk)
taille_mb = os.path.getsize(nom_fichier)