PFE 9 — Polarized Fractal Efficiency
Mesure de l'efficacité directionnelle d'un mouvement. Borné [-100, +100]. Créé par Hans Hannula (1994).
Définition
PFE répond à : « Sur les N dernières barres, quelle proportion du chemin parcouru va dans la même direction (efficient) versus en zigzag (inefficient) ? » Une valeur proche de ±100 = mouvement "droit" et fort. Proche de 0 = marché choppy, sans direction nette.
Formule (version Hannula complète)
Pour chaque barre t ≥ N :
straight[t] = √(N² + (close[t] − close[t-N])²)
path[t] = Σ √(1 + (close[i] − close[i-1])²) pour i de t-N+1 à t
efficiency[t] = (straight[t] / path[t]) × 100
pfeSer[t] = signe(close[t] − close[t-N]) × efficiency[t]
PFE = EMA(pfeSer, 5)
L'EMA(5) finale est essentielle : sans lissage, PFE oscille violemment d'une barre à l'autre. C'est ce qui distingue la version "instantanée" (cosmétique) de la version Hannula publiée.
Paramètres dans le code
- Période N : 9
- Lissage final EMA : 5 (Hannula)
- Implémentation :
forex-assistant.tsx:1133— fonctionpfe(prices, period = 9) - Cas dégénéré : retourne 0 si
prices.length < period + 5 = 14.
Interprétation
| Zone | Lecture |
|---|---|
| > +50 | Tendance haussière efficiente |
| +20 à +50 | Mouvement haussier modérément directionnel |
| −20 à +20 | Marché choppy — éviter les stratégies trend-following |
| −50 à −20 | Mouvement baissier modérément directionnel |
| < −50 | Tendance baissière efficiente |
PFE est souvent utilisé comme filtre : ne prendre des positions trend que quand |PFE| > 50.
Logique de score (forex-assistant.tsx:1511)
|PFE| > 50 → score = sign(PFE) × 0.9 (max 0.9)
sinon → score = 0 (avec mention "marché choppy")
Pondération assez élevée (0.9) uniquement si PFE est extrême — sinon zéro. Approche tout-ou-rien : soit on est dans une vraie tendance, soit on s'abstient.
Pièges
- Ne distingue pas la direction de la magnitude : un PFE = +60 sur EUR/USD M5 et un PFE = +60 sur USD/JPY D1 ne représentent pas le même mouvement. PFE mesure la "qualité" du mouvement, pas son ampleur — toujours combiner avec ATR.
- N = 9 = court : la version Hannula travaillait souvent avec 14 ou 20. Sur N=9 on a beaucoup de bruit.
- Calcul de la diagonale : la formule
√(N² + ΔP²)mélange unités de barres (N) et unités de prix (ΔP) — choix conventionnel mais discutable. Le résultat dépend implicitement de la volatilité.
Indicateurs liés
- Hurst Exponent — autre mesure de l'efficacité fractale d'un marché
- Fractal Dimension — mesure complémentaire de "fractalité"
- ADX — alternative pour mesurer la force d'une tendance
- Choppiness — autre détecteur de range vs trend