Fisher Transform
Transformation mathématique qui rend la distribution des prix gaussienne (cloche symétrique), facilitant la détection des extrêmes statistiques. Inventée par John Ehlers.
Définition
Les prix de marché ne suivent pas une loi normale — ils ont des queues épaisses (gros sauts plus fréquents que prédits). La transformation de Fisher applique une fonction qui "écarte" les valeurs extrêmes, transformant une distribution borneé [-1, +1] en une distribution proche d'une gaussienne.
Formule
mid = (high_now + low_now) / 2
high_N = max(highs[-N:])
low_N = min(lows[-N:])
x = 2 × (mid − low_N) / (high_N − low_N) − 1 // ramené dans [-1, +1]
x = clamp(x, -0.999, 0.999) // évite log(0)
Fisher = 0.5 × ln((1 + x) / (1 − x))
Paramètres dans le code
- Période N : 10
- Implémentation :
forex-assistant.tsx:392— fonctionfisherTransform(highs, lows, period = 10) - Source : midpoint (high+low)/2 du dernier bar comparé au range des 10 derniers
- Clamp :
[-0.999, +0.999]pour éviter une division par zéro dans leln.
Interprétation
| Valeur | Lecture |
|---|---|
| > +1.5 | Surachat statistique fort — extrême rare |
| −1.5 à +1.5 | Zone normale |
| < −1.5 | Survente statistique forte |
Contrairement au RSI où "70" est arbitraire, "1.5" sur Fisher correspond à un quantile élevé statistiquement (équivalent ~93ᵉ percentile gaussien). Les retournements depuis les extrêmes sont historiquement plus nets que sur RSI.
Logique de score (forex-assistant.tsx:1446)
> 1.5 → score = -0.8 (max 0.8) // fort surachat
< -1.5 → score = +0.8 (max 0.8) // forte survente
sinon → score = 0
Mean-reverting strict, pondération moyenne.
Pièges
- N = 10 = court : sur du forex bruyant, Fisher peut atteindre ±1.5 plusieurs fois par séance sur M5. Augmenter à 20 ou 30 lisse considérablement.
- Discontinuité aux bornes : si le prix touche le high ou low de la fenêtre, le clamp à 0.999 plafonne brutalement Fisher. Un mouvement légèrement plus fort ne se voit plus.
- Pas de signal line : la version Ehlers originale ajoute une signal line décalée d'une barre — non implémentée ici. Les cross Fisher/signal sont les vrais points d'entrée recommandés par Ehlers.
- Insensible aux gaps : Fisher utilise le midpoint, pas le close — un gap de close ne se voit pas directement.
Indicateurs liés
- Hilbert Sine Wave — autre construction d'Ehlers pour cycles
- RSI 14 — autre détecteur de surachat sans gaussianisation
- Z-score 20 — alternative directe (en σ statistiques)
- Fractal Dimension — mesure le caractère fractal/non-fractal du marché