Filtrez le Bruit du Marché : Maîtriser le Filtre de Kalman pour Trader les Cryptos
Découvrez le filtre de Kalman pour le trading crypto : code PineScript, stratégies Bitcoin, gestion de la volatilité. Guide complet 2025
Imaginez juillet 1969. Neil Armstrong et Buzz Aldrin filent vers la Lune à bord d’Apollo 11. Pas de GPS, des capteurs imparfaits… Pourtant, la trajectoire reste millimétrée. Le secret ? Un outil mathématique né en 1960 et devenu indispensable à l’astronautique : le filtre de Kalman.
Ce même principe peut transformer notre approche du trading crypto en séparant le signal du bruit, comme un GPS ultra‑malin dans la volatilité du Bitcoin et de l’Ethereum. Contrairement à une EMA qui suit le prix avec retard, Kalman prédit, mesure, puis corrige à chaque bougie. Résultat : une adaptation dynamique au marché.
On passe au concret.
Filtre de Kalman : Votre GPS dans la Volatilité des Marchés Crypto
Imaginez une route de montagne dans le brouillard. Le GPS dit « virage dans 100 m », votre compteur indique 95 m. Qui croire ?
Le filtre de Kalman fait comme un bon conducteur : il combine les deux infos selon leur fiabilité. Si le compteur est précis à 2 m et le GPS à 5 m, il pèse davantage le compteur, sans ignorer le GPS. Résultat : une meilleure estimation de la position réelle.
En trading crypto, remplacez le GPS par le prix (bruité par la volatilité) et le compteur par la tendance. Le Bitcoin peut bondir de 1 000 $ sur une rumeur — c’est le bruit. La tendance sous‑jacente, c’est le signal. Kalman extrait ce signal du bruit, ce qui en fait un indicateur technique puissant pour le trading algorithmique.
La formule du filtre de Kalman
Après l’analogie, passons au fonctionnement concret. L’algorithme suit trois temps et les enchaîne à chaque bougie.
- PrédireLe filtre extrapole l’état attendu (tendance) pour la prochaine bougie.
- ComparerIl mesure l’écart entre la prédiction et le prix observé (innovation).
- CorrigerIl ajuste l’estimation en fonction de la confiance accordée à la mesure au regard de la prédiction.
Cette mécanique se résume dans une équation :
Nouvelle estimation = Ancienne estimation + (Gain) × (Réalité − Prédiction)
- Exemple BTC : prédiction 65 200 $, prix 65 500 $ → écart 300 $.
- Si Gain = 0,2 → nouvelle estimation = 65 200 + 0,2 × 300 = 65 260.
- Si Gain = 0,8 → nouvelle estimation = 65 200 + 0,8 × 300 = 65 440.
Le « gain de Kalman » dans cette formule est le coefficient de confiance de l’étape 3. Il décide combien de l’écart (Réalité − Prédiction) on injecte dans la correction. Gain élevé → suivi du prix. Gain faible → lissage.
D’où vient ce gain ? Il est recalculé à chaque bougie à partir des incertitudes estimées sur la prédiction et sur la mesure :
Gain = Incertitude_prédiction ÷ (Incertitude_prédiction + Incertitude_mesure)
En pratique, c’est le gain qui règle la force de la correction.
Code PineScript : Implémentez le Filtre de Kalman sur TradingView
Pour mettre tout cela en pratique, voici un code PineScript complet pour utiliser le filtre de Kalman sur vos charts crypto.
//@version=6
indicator("Filtre de Kalman", overlay=true)
// === PARAMÈTRES AJUSTABLES ===
processNoise = input.float(0.01, "Bruit de Process", minval=0.001, maxval=1, step=0.001, tooltip="Plus c'est élevé, plus le filtre suit rapidement les changements")
measurementNoise = input.float(0.5, "Bruit de Mesure", minval=0.001, maxval=10, step=0.01, tooltip="Estimation du bruit. Plus c'est élevé, plus le filtre est lisse")
// === INITIALISATION DES VARIABLES ===
var float state = na
var float covariance = 1.0
if na(state)
state := close
// === LE CŒUR DU FILTRE DE KALMAN ===
// ÉTAPE 1 : PRÉDICTION
float predictedState = state
float predictedCovariance = covariance + processNoise
// ÉTAPE 2 : CALCUL DU GAIN DE KALMAN
float kalmanGain = predictedCovariance / (predictedCovariance + measurementNoise)
// ÉTAPE 3 : CORRECTION
float innovation = close - predictedState
state := predictedState + kalmanGain * innovation
// Mise à jour de l'incertitude
covariance := (1 - kalmanGain) * predictedCovariance
// === AFFICHAGE ===
trendColor = state > nz(state[1], state) ? color.lime : color.red
plot(state, color=trendColor, linewidth=2, title="Kalman")
Deux paramètres pilotent la force de la correction :
- Process Noise (Bruit de Process)
- Ce que c’est : incertitude sur la prédiction. Plus c’est élevé, plus on suppose que la tendance peut changer vite.
- Effet sur le gain (formule) : incertitude_prédiction ↑ ⇒ Gain ↑
- Effet pratique : filtre plus réactif, suit davantage le prix.
- Measurement Noise (Bruit de Mesure)
- Ce que c’est : incertitude sur la mesure (prix observé bruité).
- Effet sur le gain (formule) : incertitude_mesure ↑ ⇒ Gain ↓
- Effet pratique : filtre plus lisse, corrige moins agressivement.
Lecture du Filtre Kalman sur le Graphique TradingView

L’indicateur trace une ligne qui change de couleur selon la tendance:
- Vert : tendance haussière (la ligne monte)
- Rouge : tendance baissière (la ligne descend)
- Distance ligne‑prix : proche = marché calme, éloignée = marché volatil
La ligne lisse représente le « vrai » mouvement du marché une fois le bruit filtré. Observez ci-dessus (BTC, daily) comment elle reste stable pendant les micro‑fluctuations, mais réagit rapidement aux vrais changements de tendance.
Les pièges à éviter : le réglage des paramètres du filtre de Kalman
Deux réglages à éviter :
- Piège n°1 : Process Noise trop faible (< 0.01). Le filtre devient « têtu » et refuse de croire que le marché a changé de direction. Sur un marché crypto volatil, les retournements importants seront manqués.
- Piège n°2 : Process Noise trop élevé (> 0.5). Le filtre devient nerveux et sur‑réagit à chaque petite fluctuation, générant des dizaines de faux signaux.
La solution : commencer avec les valeurs par défaut (0.05 pour Process Noise, 0.5 pour Measurement Noise) puis ajuster selon le timeframe. Plus le timeframe est court et volatil, plus le Measurement Noise doit être élevé pour filtrer davantage le bruit. Plus le timeframe est long et directionnel, plus le Process Noise peut être diminué pour privilégier la stabilité.
Stratégies de Trading avec le Filtre de Kalman et Limitations
Le filtre de Kalman est particulièrement efficace sur les marchés crypto en timeframes 1h‑4h grâce à son adaptation automatique à la volatilité. Contrairement aux moyennes mobiles classiques qui réagissent toujours avec le même retard, le Kalman ajuste sa réactivité selon les conditions du marché : il filtre agressivement quand le bruit domine, puis réagit rapidement quand une vraie tendance émerge. Cette intelligence dynamique réduit considérablement les faux signaux tout en maintenant une réactivité acceptable.
Cependant, cet avantage devient un inconvénient sur les marchés très calmes et directionnels. Quand le Bitcoin évolue tranquillement sur plusieurs jours, une simple EMA 20 donnera souvent de meilleurs résultats car elle suit naturellement la tendance sans complexité supplémentaire. Le Kalman brille dans le chaos, pas dans la stabilité.
Pour maximiser l’utilité du filtre de Kalman, il peut être combiné avec d’autres outils. Par exemple, il peut servir de filtre de confirmation : si le RSI indique survente à 30 mais que le Kalman reste rouge (tendance baissière), il pourrait être préférable d’attendre que la ligne passe au vert avant d’entrer en position. Cette simple règle élimine énormément de trades perdants.
Une autre intégration du Kalman filtrer pour la route : un stop‑loss dynamique. Au lieu d’un stop fixe à −5 %, le placer juste sous la ligne Kalman. Comme celle‑ci s’adapte à la volatilité actuelle, le stop sera naturellement plus large pendant les phases agitées et plus serrées quand le marché se calme, ce qui protège mieux le capital sans éjection prématurée.
Commentaires ()