Z-score 20
Mesure l'écart entre le prix actuel et la moyenne en unités d'écart-type. Outil statistique standard, pendant "pur" du %B Bollinger.
Définition
Z-score répond à : « De combien d'écarts-types le prix actuel s'écarte-t-il de sa moyenne récente ? » 0 = sur la moyenne, ±1 = à un sigma, ±2 = à deux sigmas (~95ᵉ percentile).
Formule
mean = SMA(closes, 20)
std = stdDev(closes, 20)
Z = (close − mean) / std
Paramètres dans le code
- Période : 20
- Implémentation :
forex-assistant.tsx:604— fonctionzScore(prices, period = 20) - Cas dégénéré : retourne 0 si
std === 0.
Interprétation
| Z | Signification statistique |
|---|---|
| > +2 | ~98ᵉ percentile — surachat extrême |
| +1 à +2 | ~84ᵉ – 98ᵉ percentile — surachat modéré |
| −1 à +1 | Zone normale (~68% du temps) |
| −2 à −1 | Survente modérée |
| < −2 | Survente extrême |
Logique de score (forex-assistant.tsx:1675)
|Z| > 2 → score = -sign(Z) × 0.7 (max 0.7) // mean-reverting strict
sinon → score = -Z × 0.3 (max 0.7) // proportionnel doux
Particularité : pondération continue dans la zone normale (Z = 1 contribue ±0.3), avec amplification au-delà de ±2σ. Mean-reverting.
Pièges
- Doublon avec Bollinger %B : Z et %B sont équivalents au facteur près. Les deux scorent dans le même sens — sur-pondération.
- Distribution gaussienne supposée : le Z-score n'est statistiquement valide que si les returns sont gaussiens. En réalité, queues épaisses → les Z extrêmes (|Z| > 3) arrivent ~3-5× plus souvent que prédit.
- Fenêtre courte = sensible : 20 barres = ~10 minutes sur M5. Un seul mouvement marqué change radicalement le Z.
- Ne dit pas pourquoi le prix s'écarte : un Z = +3 peut être un breakout légitime ou un spike absurde. Toujours combiner avec contexte.
Indicateurs liés
- Bollinger %B — équivalent normalisé sur [0, 1]
- Bollinger 20 — la couche de base
- CCI 20 — version "Z-score sur typical price avec constante 0.015"
- Vol hist. ann. — l'écart-type lui-même, annualisé