Le contexte du scan
Le scan du lundi 20 juillet a été publié en régime NEUTRAL à 0,61, avec un VIX à 18,76, en hausse de deux points sur cinq séances. Le texte du jour décrivait une troisième séance de purge des semi-conducteurs et une escalade iranienne. Le moteur de règles avait déjà durci la configuration : seuil de rapport gain/risque relevé à 1,7 au passage en NEUTRAL, stops recalés dans une bande de 3 à 8% avec un plancher annoncé de 1,5 fois l’amplitude quotidienne moyenne Scan du 20/07régimeYahoo Finance — VIX
Le scan n’a donc pas été imprudent. Il a appliqué les règles en vigueur, et il a quand même perdu 5,68 unités de risque. La suite regarde les règles elles-mêmes.
Les dix lignes, notation sur barres réelles
| Titre | Stratégie | Entrée | Stop | Issue | Sortie | R | P&L | Séance |
|---|---|---|---|---|---|---|---|---|
| XLE Energy Select Sector SPDR | Momentum | 57,56 | 55,95 | ÉCHÉANCE | 59,55 | +1,24 | +3,46% | 31/07 |
| EDU New Oriental Education | Momentum | 49,15 | 47,15 | ÉCHÉANCE | 49,91 | +0,38 | +1,55% | 27/07 |
| EWC iShares MSCI Canada | Breakout | 59,36 | 57,65 | ÉCHÉANCE | 59,39 | +0,02 | +0,05% | 31/07 |
| HLN Haleon | Momentum | 10,05 | 9,77 | STOP | 9,68 | −1,32 | −3,68% | 23/07 |
| VRSK Verisk Analytics | Breakout | 200,00 | 193,50 | STOP | 193,50 | −1,00 | −3,25% | 22/07 |
| NVO Novo Nordisk | Momentum | 50,25 | 48,20 | STOP | 48,20 | −1,00 | −4,08% | 22/07 |
| HRB H&R Block | Pre-Squeeze | 41,85 | 40,00 | STOP | 40,00 | −1,00 | −4,42% | 22/07 |
| GXO GXO Logistics | Momentum | 54,05 | 51,20 | STOP | 51,20 | −1,00 | −5,27% | 29/07 |
| CVI CVR Energy | Momentum | 34,85 | 32,70 | STOP | 32,70 | −1,00 | −6,17% | 24/07 |
| S SentinelOne | Momentum | 19,36 | 18,05 | STOP | 18,05 | −1,00 | −6,77% | 23/07 |
Notation calculée sur les barres quotidiennes réelles du 20 au 31 juillet, séances complètes. Les remplissages ont été décidés par le module de politique de remplissage du projet, pas à la main : les dix entrées ressortent au statut « rempli », aucune n’a nécessité de chasse au-dessus de la zone publiée. Convention conservatrice : lorsqu’une barre touche le stop et l’objectif, le stop est retenu ; et lorsqu’un titre ouvre sous son stop, la sortie est comptée à l’ouverture, pas au niveau du stop. Un seul cas ici, HLN : ouverture à 9,68 $ le 23/07 contre un stop à 9,77 $, soit −1,32 R au lieu de −1,00. Un stop n’est pas un prix garanti. La colonne « Entrée » affiche le prix de remplissage retenu par ce module — toujours à l’intérieur de la zone publiée, donc parfois différent du niveau de référence du fichier de signaux. Niveaux publiés le 20/07Yahoo Finance — barres quotidiennes
Ce qui a fonctionné : la règle des résultats, sans une seule faute
Cinq des dix lignes portaient une publication de résultats dans ou juste après leur fenêtre de portage. Sur les cinq, l’horizon avait été tronqué délibérément pour sortir avant l’événement, et la fiche du scan le disait explicitement.
| Titre | Résultats | Horizon fixé | Fin d’horizon prévue | Marge |
|---|---|---|---|---|
| EDU | 29/07 | 6 séances | 27/07 | 2 séances |
| VRSK | 29/07 | 7 séances | 28/07 | 1 séance |
| CVI | 29/07 | 7 séances | 28/07 | 1 séance |
| HLN | 30/07 | 8 séances | 29/07 | 1 séance |
| NVO | 05/08 | 10 séances | 31/07 | 3 séances |
La colonne donne la fin d’horizon programmée, pas la date de sortie réelle : VRSK, CVI, HLN et NVO sont sorties plus tôt sur leur stop (voir le tableau précédent). Seule EDU est allée au bout de son horizon tronqué. La marge mesure l’écart, en séances, entre cette fin d’horizon et la publication.
Il serait facile d’en tirer « il fallait garder ». C’est faux, et le dire serait de la reconstruction après coup. La règle ne dit pas « évite les mauvaises publications », elle dit « ne prends pas de pari binaire non mesurable ». Elle a coûté ce gain-là comme elle évitera la prochaine chute de 15% sur un raté. Ce que cette rétrospective retient, c’est que la règle a été appliquée cinq fois sur cinq sans exception : sur ce point, le process est propre.
Ce qui a cassé : le coussin s’est resserré pendant le portage
Commençons par ce que la direction ne peut pas expliquer. L’excursion favorable moyenne du panier ressort à +0,48 R, et trois lignes sur dix seulement — XLE (+1,80 R), EDU (+0,60 R), CVI (+0,56 R) — ont dégagé au moins une demi-unité de risque avant de sortir. Les sept autres n’ont jamais vraiment décollé de leur entrée. La sélection n’était donc pas bonne : elle était médiocre, et le calibrage a transformé cette médiocrité en pertes pleines.
Le scan annonçait des stops à 1,5 ou 1,6 fois l’amplitude quotidienne moyenne du titre, mesurée au moment du scan. Sur la fenêtre de portage, l’amplitude réellement réalisée a été supérieure de 28% en médiane à celle qui avait servi au dimensionnement.
| Titre | Multiple annoncé | Amplitude au scan | Amplitude réalisée | Expansion | Multiple effectif |
|---|---|---|---|---|---|
| VRSK | 1,5× | 4,33 | 7,77 | ×1,79 | 0,84× |
| HRB | 1,5× | 1,23 | 2,08 | ×1,69 | 0,89× |
| HLN | 1,6× | 0,18 | 0,23 | ×1,28 | 1,21× |
| NVO | 1,6× | 1,28 | 1,65 | ×1,29 | 1,24× |
| CVI | 1,5× | 1,43 | 1,77 | ×1,23 | 1,22× |
| GXO | 1,5× | 1,90 | 1,79 | ×0,94 | 1,59× |
| EDU | 1,5× | 1,33 | 0,97 | ×0,73 | 2,06× |
La seule ligne dont l’amplitude s’est contractée (EDU, ×0,73) est celle qui a fini avec le coussin le plus large et qui n’a jamais été inquiétée. Les deux plus grosses expansions, VRSK (×1,79) et HRB (×1,69), sont aussi les deux seules lignes sorties avec moins d’une amplitude quotidienne de coussin — et toutes deux sont ensuite reparties 13% au-dessus de l’entrée Yahoo Finance — VRSK. CVI, avec une expansion plus modérée, est allée plus haut encore (+14,5%) : l’expansion classée ne prédit pas le rebond, elle explique la sortie.
Il faut décompter honnêtement ce que cette table explique. Deux lignes seulement, VRSK et HRB, finissent avec un coussin inférieur à une amplitude quotidienne : celles-là ont été sorties par le bruit, sans discussion. Les quatre autres stops mesurés tiennent entre 1,21 et 1,59 fois l’amplitude réalisée — un coussin normal, pas un stop étranglé. Et la septième ligne stoppée, S, n’est pas dans cette table faute d’amplitude au scan exploitable ; son plus haut est resté à 0,46 R de l’entrée, comme celui de GXO (0,18 R) et de NVO (0,12 R). L’expansion de volatilité explique donc franchement deux stops sur sept ; les cinq autres ont été sortis par la direction, pas par le calibrage.
Une précaution qui compte : l’amplitude réalisée n’est pas connaissable au moment du scan. Ce contrefactuel ne dit donc pas « il fallait mettre le stop là ». Il chiffre une chose et une seule : ce que coûte un plancher de volatilité calibré sur une mesure qui se périme. Il ne dit pas que la sélection était bonne — GXO a continué de baisser jusqu’au 31 juillet, S n’a jamais décollé de son entrée, et aucun stop plus large ne les aurait sauvés. Ces deux-là sont des erreurs de sélection ordinaires ; ce que le calibrage ajoute par-dessus, c’est d’avoir transformé des lignes correctes en pertes pleines.
Ligne par ligne
- XLE — Meilleure ligne. Plus haut à 60,45 le 24/07, soit 25 cents sous l'objectif de 60,70 — objectif manqué de 0,4%.
- EDU — Sortie programmée avant les résultats du 29/07. Le titre a pris 15,3% ce jour-là. Sortie 2 séances avant l'événement, par construction.
- EWC — Dix séances pour ne rien faire. Amplitude quotidienne de 1,07% : la ligne n'avait pas le carburant pour aller à l'objectif.
- HLN — Stop à 1,21 fois l'amplitude réalisée, mais franchi par un gap : ouverture à 9,68 le 23/07 sous un stop à 9,77, sortie −1,32 R. Plus haut ultérieur 10,31 le 28/07, soit 2,6% au-dessus de l'entrée — hors horizon de portage.
- VRSK — Le cas le plus coûteux. Stop à 0,84 fois l'amplitude réalisée, puis plus haut à 226,08 le 29/07 — 13,0% au-dessus de l'entrée.
- NVO — Stop touché le 22/07, remontée à 52,12 le 29/07, puis chute à 47,08 le 31/07. Le stop avait raison au terme de l'horizon.
- HRB — Stop à 0,89 fois l'amplitude réalisée. Plus haut ultérieur 47,33 le 29/07, soit 13,1% au-dessus de l'entrée.
- GXO — Le seul stop pleinement validé : le titre a continué de baisser jusqu'à 49,83 le 31/07. Ici la protection a fonctionné.
- CVI — Stop à 1,22 fois l'amplitude réalisée. Plus haut ultérieur 39,91 le 30/07, soit 14,5% au-dessus de l'entrée.
- S — Pire perte en pourcentage. Plus haut à 19,96 le 20/07, la séance d'entrée elle-même, soit +3,1% et 0,46 R ; après quoi le titre n'est jamais remonté au-dessus de 19,43 (21/07) avant le stop du 23/07. Direction douteuse dès le départ.
Plus hauts et plus bas ultérieurs relevés sur les barres quotidiennes du 21 au 31 juillet. Yahoo Finance — CVIYahoo Finance — HRB
Le vrai défaut de process : c’est la deuxième fois
La rétrospective du scan du 17 juillet, publiée la semaine dernière, avait mesuré exactement le même mécanisme dans d’autres termes : « les lignes stoppées disposaient de 1,64 fois leur volatilité quotidienne de coussin depuis leur prix d’entrée réel ; les deux survivantes, 2,24 fois ». Elle notait aussi que deux lignes étaient parties sous le plancher de 1,5 fixé par la configuration. Elle attribuait 14% de la perte au trou sur les résultats en cours de portage — et laissait 86% inexpliqués Rétro du 17/07note F.
Le défaut ne porte pas sur les dix lignes mais sur la boucle d’apprentissage : une leçon écrite dans une rétrospective ne change rien tant qu’elle n’est pas câblée dans la configuration du scanner. C’est le seul livrable qui manque ici.
Ce que le prochain scan fait différemment
L’amplitude future est inconnue au moment du scan ; la tendance de la volatilité d’indice, elle, est connue. Le 20 juillet, le VIX était à 18,76, en hausse de deux points sur cinq séances. C’est ce signal-là qui était disponible et qui n’a pas été utilisé pour ajuster le plancher Yahoo Finance — VIX20/07.
Quand le VIX progresse d’au moins 1,5 point sur les cinq séances précédant le scan, le plancher de stop passe de 1,5 à 2,0 fois l’amplitude quotidienne moyenne, et la taille de position est réduite d’un tiers pour conserver le même risque en euros. Les deux volets vont ensemble : élargir seul augmente la perte par ligne, réduire seul ne change rien au taux de stop — le résultat en R serait identique à celui de ce scan. Second garde-fou : la bande 3-8% ne doit plus passer sous le plancher en amplitude sur une action individuelle, c’est ce qui a produit le stop à 2,79% de HLN. Portée : régimes NEUTRAL et EARLY RISK-OFF, stratégies momentum, breakout et pre-squeeze. Confiance initiale 0,25 : deux observations ne font pas une statistique — et l’une des deux, le scan du 17 juillet, portait l’étiquette RISK-ON. La portée retenue est donc plus étroite que la base d’observation : c’est un choix de prudence, pas une frontière démontrée Rétro du 17/07.
Falsification : si les deux prochaines rétrospectives en régime NEUTRAL montrent un multiple effectif médian supérieur à 1,3 sans élargissement du plancher, l’expansion de volatilité n’est pas systématique et la leçon doit être abandonnée.
Cette leçon est advisory : elle ajuste un paramètre de dimensionnement, elle n’inverse aucun signal quantitatif et ne retire aucun candidat de la sélection.
Un second point mérite d’être posé, même sans le résoudre ici. L’excursion favorable moyenne du panier ressort à 0,48 R, alors que le passage en NEUTRAL a remonté le seuil de rapport gain/risque à 1,7 — l’objectif se situait donc trois fois plus loin que ce que ces lignes ont parcouru en 6 à 10 séances. Une seule ligne, XLE, s’en est approchée, à 25 cents. Durcir le rapport gain/risque sans allonger l’horizon déplace l’objectif hors de portée au lieu de rendre le panier plus sélectif. À vérifier sur les prochaines séries NEUTRAL avant d’en faire une règle.
Deux défauts d’outillage constatés en produisant cette rétrospective
1. Le contrôle automatique des remplissages ne s’exécute sur aucune rétrospective publiée. Le garde-fou du projet valide le format de dossier YYYYMMDD, alors que les rétrospectives de scan vivent dans un sous-dossier nommé retro. Lancé sur la rétrospective du 17 juillet, il s’arrête immédiatement sur une erreur de nommage. Le contrôle est correct, mais il n’a jamais tourné sur une seule rétrospective publiée. Nous avons donc appliqué la politique de remplissage en appelant directement le module partagé.
2. Une divergence entre le code et sa documentation sur le niveau d’entrée de référence. Le commentaire du garde-fou décrit le champ entry du fichier de signaux comme la borne haute de la zone publiée. Sur ce scan, c’est le milieu de zone : XLE affiche une zone de 57,10 à 58,30 et un champ à 57,70 Zones publiées le 20/07. Il faut le dire dans le bon sens : noter contre le milieu de zone plutôt que contre la borne haute est plus indulgent, pas plus sévère — une entrée plus basse améliore mécaniquement le P&L et réduit l’unité de risque. Et ce n’est même pas le milieu qui a servi : la colonne « Entrée » retient le minimum entre l’ouverture de la séance et ce champ, soit 57,56 pour XLE. Sur VRSK, cela donne 200,00 — l’ouverture du 20/07, sous la borne basse de la zone publiée à 201,70. C’est conforme à la politique de remplissage, mais l’écart entre le code et sa description doit être tranché avant qu’il ne produise une notation franchement trop indulgente.
Note du scan : F
Sept stops sur dix, un facteur de profit de 0,22 et une espérance négative de 0,57 unité de risque par ligne : le résultat ne se discute pas. La rétrospective précédente, avec huit stops sur dix et −0,73 de R moyen, avait reçu la même note Rétro du 17/07. Celle-ci fait marginalement mieux et reste un échec.
Le détail derrière la note : la règle des résultats a été respectée cinq fois sur cinq, et le même panier tenu jusqu’à l’échéance sans stop aurait rendu +1,87 R. Mais l’excursion favorable moyenne de 0,48 R interdit de mettre toute la perte sur le calibrage : sept lignes sur dix n’ont jamais dégagé une demi-unité de risque, et là c’est la sélection qui est en cause. Le +1,87 R ne plaide pas pour retirer les stops : il chiffre le coût du calibrage actuel sur un panier déjà médiocre. C’est ce coût que la leçon VIX doit faire baisser, et la prochaine rétrospective en régime NEUTRAL le dira.
Toutes les notations de cette page sont calculées sur les barres quotidiennes réelles du 20 au 31 juillet 2026, séances complètes, et les remplissages sont décidés par le module de politique de remplissage du projet. Les niveaux publiés proviennent du fichier de signaux du scan, non de la page. Aucun chiffre n’a été estimé de mémoire.