GaiaEx AcademyGaiaEx Academy
Prévision de séries temporelles pour les traders crypto
DéveloppeurIA & ML12 min read

Prévision de séries temporelles pour les traders crypto

Prédire les mouvements de prix avec des modèles de séquence

Partager les articles

Comprendre les données de série temporelle

Une série temporelle est une séquence de points de données ordonnés dans le temps — le prix d'une action à chaque minute, les clôtures quotidiennes du Bitcoin, des relevés de température horaires. Ce qui distingue une série temporelle des autres types de données, c'est que l'ordre compte. Mélanger les lignes d'un jeu de données de classification est sans conséquence ; mélanger une série temporelle détruit son sens.

Trois propriétés définissent le caractère de toute série temporelle. La tendance est la direction de long terme — le prix du BTC est passé de 3 000 $ début 2019 à 60 000 $ fin 2021, une tendance haussière évidente. La saisonnalité désigne des motifs qui se répètent à intervalles fixes — les marchés crypto voient souvent un volume accru pendant les heures d'ouverture des marchés américains et une activité réduite le week-end. La stationnarité signifie que des propriétés statistiques comme la moyenne et la variance restent constantes au fil du temps. La plupart des séries temporelles financières sont non stationnaires — les prix dérivent vers le haut ou s'effondrent — ce qui pose des difficultés pour les modèles qui supposent des distributions stables.

Avant d'injecter des données financières dans un modèle, il faut les transformer. Calculer les rendements logarithmiques (le logarithme naturel du ratio des prix entre périodes consécutives) transforme des prix non stationnaires en rendements approximativement stationnaires. La différenciation — soustraire la valeur précédente — produit un effet similaire. Ces transformations ne sont pas optionnelles ; ce sont des prérequis pour que la plupart des méthodes de prévision fonctionnent correctement.

Décomposition d'une série temporelle financière (schéma conceptuel) Tendance Ondulation saisonnière temps → Observé = tendance + saisonnalité + bruit (les rendements stabilisent souvent le bruit)
Les prix réels mélangent une dérive lente, des motifs récurrents et de l'aléatoire — les modèles ciblent la partie que vous voulez prédire.

ARIMA : la référence classique

ARIMA (AutoRegressive Integrated Moving Average) est le cheval de bataille de la prévision de série temporelle depuis des décennies. Il combine trois composantes : AR(p) utilise les p valeurs précédentes pour prédire la suivante, I(d) différencie la série d fois pour atteindre la stationnarité, et MA(q) modélise les termes d'erreur des prédictions passées.

Pour les données financières, ARIMA sert de référence essentielle. Tout modèle d'apprentissage automatique qui ne parvient pas à surpasser un ARIMA bien calibré sur votre jeu de données spécifique ajoute de la complexité sans valeur. En pratique, ARIMA fonctionne souvent étonnamment bien pour des prévisions à court horizon sur des données à basse fréquence (bougies quotidiennes ou hebdomadaires), où le ratio signal/bruit reste gérable.

# Référence ARIMA pour les rendements quotidiens du BTC
from statsmodels.tsa.arima.model import ARIMA
import pandas as pd

returns = prices.pct_change().dropna()
model = ARIMA(returns, order=(2, 0, 1))  # AR(2), pas de différenciation (les rendements sont déjà stationnaires), MA(1)
fitted = model.fit()
forecast = fitted.forecast(steps=5)
print(f"AIC: {fitted.aic:.2f}")  # AIC plus bas = meilleur modèle

Les limites d'ARIMA apparaissent clairement face à des motifs non linéaires complexes, des changements de régime et des espaces de caractéristiques de haute dimension. C'est là que l'apprentissage profond entre en jeu.

ARIMA(p,d,q) : comment les valeurs et erreurs passées alimentent la prévision AR(p) y utilise yt-1…t-p I(d) d différenciations MA(q) erreurs εt-1…t-q prévision ŷt+1 Choisissez (p,d,q) via ACF/PACF, AIC, ou validation croisée glissante — puis comparez aux références ML. Les rendements financiers fixent souvent d=0 quand on utilise directement les rendements logarithmiques
Autorégression, intégration (différenciation) et chocs de moyenne mobile se combinent en un moteur de prévision linéaire compact.

Les réseaux LSTM pour la modélisation de séquences

Les réseaux Long Short-Term Memory (LSTM) sont un type de réseau de neurones récurrent conçu pour apprendre des dépendances à longue portée dans des données séquentielles. Contrairement aux RNN classiques, qui souffrent de gradients qui s'évanouissent et oublient l'information après seulement quelques pas de temps, les LSTM utilisent un mécanisme de portes — porte d'oubli, porte d'entrée et porte de sortie — pour retenir ou écarter sélectivement l'information sur des centaines de pas.

Pour les séries temporelles financières, les LSTM offrent deux avantages par rapport à ARIMA : ils peuvent modéliser des relations non linéaires (la dynamique des prix est rarement linéaire), et ils peuvent intégrer plusieurs caractéristiques d'entrée simultanément — pas seulement les prix passés, mais aussi le volume, la volatilité, les taux de financement, le déséquilibre du carnet d'ordres, et tout autre signal dont vous pensez qu'il porte une information prédictive.

Préparer les données pour un LSTM demande un fenêtrage soigné. Vous créez des séquences d'entrée de longueur fixe (par exemple, 60 pas de temps) associées à la valeur cible (le prochain prix ou rendement). La normalisation est essentielle — mettez les caractéristiques à l'échelle [0, 1] ou standardisez-les à moyenne nulle et variance unitaire. Mais voici le piège : vous devez ajuster le scaler uniquement sur les données d'entraînement, puis transformer les données de validation et de test avec les mêmes paramètres. Ajuster le scaler sur le jeu de données complet fait fuiter de l'information future.

Ne normalisez jamais en utilisant des statistiques calculées sur l'ensemble du jeu de données. Ajustez votre scaler uniquement sur l'ensemble d'entraînement, puis appliquez-le aux ensembles de validation et de test. Cette seule erreur cause plus de biais d'anticipation que toute autre erreur de préparation des données.

# Préparation des données LSTM avec normalisation correcte
import numpy as np
from sklearn.preprocessing import MinMaxScaler

def create_sequences(data, window=60):
    X, y = [], []
    for i in range(window, len(data)):
        X.append(data[i - window:i])
        y.append(data[i, 0])  # Prédire la prochaine clôture
    return np.array(X), np.array(y)

# Ajuster le scaler UNIQUEMENT sur les données d'entraînement
scaler = MinMaxScaler()
train_scaled = scaler.fit_transform(train_data)
test_scaled = scaler.transform(test_data)  # Transformer, ne pas ajuster

X_train, y_train = create_sequences(train_scaled)
X_test, y_test = create_sequences(test_scaled)

Mécanismes d'attention et Temporal Fusion Transformers

Le même mécanisme d'auto-attention qui a révolutionné le traitement du langage naturel s'est révélé tout aussi puissant pour les séries temporelles. Au lieu de traiter les séquences pas à pas comme un LSTM, l'attention permet au modèle de regarder tous les pas de temps simultanément, en apprenant quels moments historiques sont les plus pertinents pour prédire l'avenir.

Le Temporal Fusion Transformer (TFT), introduit par Google Research en 2021, est conçu spécifiquement pour la prévision de séries temporelles multi-horizons. Il combine plusieurs innovations :

  • Réseaux de sélection de variables — Apprend automatiquement quelles caractéristiques d'entrée comptent le plus, offrant une interprétabilité intégrée. Vous pouvez voir si le modèle s'appuie davantage sur la dynamique du prix, le volume, ou les taux de financement.
  • Réseaux résiduels contrôlés — Suppriment les entrées non pertinentes et permettent au modèle de gérer des interactions non linéaires complexes entre caractéristiques.
  • Attention multi-têtes sur le temps — Identifie quels pas de temps historiques sont les plus informatifs pour chaque horizon de prédiction.
  • Sorties quantiles — Produit des intervalles de prédiction (10e, 50e, 90e percentiles) plutôt que des estimations ponctuelles, vous donnant une mesure d'incertitude — essentielle pour la gestion du risque en trading.

En pratique, les TFT ont surpassé les LSTM et les modèles traditionnels sur des benchmarks incluant la prévision de la demande électrique, la prédiction des ventes au détail, et la modélisation de la volatilité financière. Pour les marchés crypto accessibles via des plateformes comme GaiaEx, la capacité du TFT à traiter des entrées hétérogènes — métadonnées statiques (type d'actif, date de cotation), valeurs futures connues (jour de la semaine, heure de la journée), et caractéristiques observées variant dans le temps (prix, volume, métriques on-chain) — le rend particulièrement adapté.

Exemple pratique : prédire la direction du prix du BTC

Soyons honnêtes sur ce qui est réalisable. Prédire le prix exact du Bitcoin demain est essentiellement impossible. L'hypothèse d'efficience des marchés (EMH) soutient que les prix reflètent déjà toute l'information disponible, rendant la prédiction cohérente vaine. En crypto, la forme faible de l'EMH est discutable — les marchés sont moins efficients que les actions — mais le ratio bruit/signal reste brutal.

Un objectif plus réaliste est la précision directionnelle : le BTC clôturera-t-il plus haut ou plus bas qu'à l'ouverture ? Ce problème de classification binaire est plus abordable, et même des améliorations modestes par rapport à 50 % de précision (disons 53–55 % de façon constante) peuvent être très profitables avec un dimensionnement de position et une gestion du risque appropriés.

Un pipeline pratique ressemble à ceci :

  • Caractéristiques : rendements sur 60 périodes, RSI, histogramme MACD, largeur des bandes de Bollinger, ratio de volume (actuel vs. moyenne sur 20 périodes), taux de financement des contrats perpétuels, dominance du BTC, et variation de l'open interest.
  • Modèle : LSTM à deux couches avec 128 unités cachées, dropout de 0,3, suivi d'une couche dense avec activation sigmoïde pour la classification binaire.
  • Découpage : entraînement sur 2020–2023, validation sur janvier–juin 2024, test sur juillet–décembre 2024. Ne jamais mélanger — toujours découper de façon chronologique.
  • Évaluation : précision directionnelle, précision/rappel sur les prédictions de hausse vs. baisse, et — surtout — P&L simulé en supposant une taille de position fixe par signal.

Si votre modèle atteint 54 % de précision directionnelle sur l'ensemble de test hors échantillon avec un facteur de profit supérieur à 1,2, vous avez quelque chose qui mérite d'être approfondi. S'il affiche 65 % de précision, vous avez presque certainement surappris. Les véritables avantages sur les marchés financiers sont faibles, et quiconque affirme le contraire vous vend quelque chose.

Métriques d'évaluation et approches d'ensemble

Choisir la bonne métrique déterminera si vous optimisez la bonne chose. Le MAE (Mean Absolute Error) indique la magnitude moyenne de vos erreurs de prédiction dans les mêmes unités que vos données — intuitif mais ne pénalise pas les grandes erreurs de façon disproportionnée. Le RMSE (Root Mean Squared Error) met les erreurs au carré avant de les moyenner, pénalisant lourdement les valeurs aberrantes — approprié quand une seule erreur catastrophique compte plus que de nombreuses petites erreurs. La précision directionnelle mesure le pourcentage de fois où votre modèle prédit correctement si le prix monte ou baisse — souvent la métrique la plus pertinente pour les signaux de trading.

Les méthodes d'ensemble combinent les prédictions de plusieurs modèles pour réduire la variance et améliorer la robustesse. Les approches courantes incluent :

  • Moyennage simple — Faire la moyenne des prédictions d'un LSTM, d'un Transformer et d'un ARIMA. Si chaque modèle capture des aspects différents du signal, l'ensemble surpasse chaque modèle individuel.
  • Empilement (stacking) — Entraîner un méta-modèle (par exemple, un arbre à gradient boosté) pour apprendre la combinaison optimale des prédictions des modèles de base.
  • Commutation sensible au régime — Utiliser un détecteur de régime de volatilité pour choisir quel modèle privilégier. Un LSTM pourrait exceller dans les marchés en tendance tandis qu'un modèle de retour à la moyenne surperforme dans des conditions de range.

Quelle que soit l'approche adoptée, rappelez-vous que l'écart entre recherche et production est immense. Un modèle qui prédit la direction du BTC avec 55 % de précision dans un notebook Jupyter doit survivre à la latence, au glissement de prix et aux coûts de transaction lorsqu'il est exécuté en direct via une plateforme comme GaiaEx. Construisez votre pipeline d'évaluation pour simuler ces réalités dès le premier jour — pas comme une réflexion après coup.