En bref : KreamEdge a construit un filtre de régime de marché selon l’approche classique par rang centile (rang du SPX sur 252 jours, trois terciles T / R / B avec hystérésis). Sur 14 stratégies backtestées (6 issues de notre banc de référence, 8 du corpus JSON), le filtre n’a amélioré le score ajusté du risque d’aucune stratégie au-delà d’un seuil de bruit réaliste. Réoptimiser les poids pour le marché non haussier (R+B) n’y a rien changé non plus : le filtrage et la réoptimisation spécialisée échouent tous deux à battre la référence tous régimes sur notre univers. L’explication la plus probable est double : (a) sur la fenêtre de 2016 à 2026, le label de rang centile du SPX classe environ 78 % des barres en T, si bien que les poids tous régimes sont déjà, de fait, des poids spécialisés T, et les quelque 22 % de barres restantes portent trop peu de signal pour soutenir un spécialiste utile ; (b) les stratégies qui tournent déjà sur un univers diversifié à l’échelle mondiale absorbent implicitement les régimes régionaux et de tendance, si bien qu’un label fondé sur le seul SPX apporte peu. Les stratégies ne se conditionnent pas non plus sur le VIX, ce qui concorde avec la même observation. L’expérience suivante naturelle consiste à enrichir le label avec le contexte de la courbe des taux ; un nouveau label fondé sur la pente ou sur les taux, qui découpe le régime dominant T en sous-catégories, a plus de chances de faire apparaître de l’hétérogénéité qu’un filtre plus fin sur le même centile du SPX.

Cet article présente une recherche par backtest. Il est informatif et pédagogique. Nous ne le traderions pas tel quel : c’est de la recherche uniquement. Les performances passées ne préjugent pas des résultats futurs. Rien ici ne constitue un conseil financier. Consultez notre page communauté pour l’avertissement complet.

1. Ce que nous avons construit

Un «régime de marché», au sens des praticiens, est un label grossier attaché à chaque barre qui dit, en gros, «à quel type de marché avons-nous affaire ?». Les deux références classiques pour le travail systématique à l’échelle d’un particulier sont l’épisode live de Better System Trader avec Cesar Alvarez et l’épisode BST 063, plus ancien, avec Alan Clement. Tous deux convergent vers la même recette : une mesure lente et lissée du marché au sens large, répartie en un petit nombre d’états, et non optimisée contre vos résultats de backtest.

Nous avons implémenté la variante par rang centile qu’Alvarez décrit dans l’émission.

ComposantImplémentation
Sous-jacentClôture quotidienne brute de SPX:USD (sans normalisation de change ; nous interdisons explicitement de normaliser le contexte de régime par le change, pour éviter de contaminer le signal de tendance avec les mouvements EUR/USD ou CHF/USD).
IndicateurRang centile de la clôture sur 252 jours.
RépartitionTercile supérieur = T (haussier), tercile inférieur = B (baissier), bande médiane = R (range / transition).
HystérésisÀ deux niveaux : entrée en T à un rang ≥ 0,67, sortie vers R à ≤ 0,55. Entrée en B à ≤ 0,33, sortie vers R à ≥ 0,45. Persistance dans la zone morte.
Axe de diagnosticvix_ratio = VIX / VIX3M, rang centile sur 252 jours, réparti en Q / N / V (calme / normal / volatil). Suivi mais non utilisé comme filtre en production.
ApplicationMasque appliqué aux entrées uniquement. Une position ouverte en T n’est pas clôturée de force quand le régime bascule en R ; les stops suiveurs et les règles de sortie continuent de s’appliquer.
DécalageUne barre. Tous les calculs de régime sont retardés d’une barre avant d’être utilisés par la génération de signaux.

Les quatre seuils centiles (0,67 / 0,55 / 0,33 / 0,45) sont volontairement fixes, et non balayés sur une grille contre les résultats de backtest. C’est un choix méthodologique délibéré : Alvarez dit explicitement dans l’émission qu’optimiser le filtre de régime contre les résultats de backtest est l’un des moyens les plus faciles de surajuster une stratégie. Le filtre est un interrupteur contextuel grossier, pas un paramètre à régler.

Le champ regime_label propre à chaque stratégie est intégré au hachage de l’UID de la stratégie, si bien que deux stratégies identiques par ailleurs mais dotées de filtres différents sont suivies comme des runs distincts.

2. Comment nous avons testé l’utilité du filtre

Pour chacune des 14 stratégies candidates, nous avons exécuté quatre variantes :

  • baseline : aucun filtre de régime (comportement historique).
  • mode T : entrées acceptées uniquement quand le label = T.
  • mode R : entrées acceptées uniquement quand le label = R.
  • mode B : entrées acceptées uniquement quand le label = B.

Les poids de chaque stratégie sont les poids de production : ceux réglés sur des moyennes calculées sur toutes les barres, sans aucun conditionnement par régime. La question est exclusivement : masquer les entrées selon le régime améliore-t-il une stratégie déjà optimisée ? C’est volontairement une question plus faible que «pourrions-nous réoptimiser la stratégie à l’intérieur de chaque régime et battre la référence ?». Celle-là est traitée à part, dans la section 4.

La mesure d’efficacité du capital sur laquelle nous notons est composite / exposure. Le score composite intègre déjà le Sharpe et une pénalité de drawdown ; le diviser par l’exposition récompense les stratégies qui délivrent un rendement ajusté du risque sans rester sur le marché en permanence. Un filtre de régime qui se contenterait d’éteindre la stratégie la plupart du temps devrait quand même délivrer une meilleure qualité par barre pour battre la référence.

Une stratégie est signalée comme candidate spécialiste d’un régime si le composite / exposure d’un mode filtré dépasse la référence d’au moins 0,10, tout en franchissant deux seuils de bruit : une exposition ≥ 20 % de la fenêtre de backtest et un Sharpe ≥ 0,5 dans le mode filtré. Les seuils ne sont pas l’essentiel. Ce qui importe, c’est qu’ils soient fixés avant de regarder les résultats.

3. Le résultat

Sur l’ensemble du corpus de stratégies testées (lignes du banc de référence tirées de notre ensemble filtré par qualité, plus des JSON de production couvrant la crypto, les ETF/PEA, l’euro, l’Europe hors EUR, les actions US en USD et les grands indices mondiaux) :

  • Aucune stratégie n’a franchi le seuil de +0,10 sur le score d’ajustement au plancher réaliste.
  • Aucune stratégie n’a montré un Sharpe filtré nettement supérieur à sa référence.
  • La plupart des stratégies ont été classées all-regime (la référence domine déjà).
  • Une minorité a été classée gated-invalid (les modes filtrés tombent sous le seuil de bruit d’exposition ou de nombre de trades) ou baseline-invalid (la référence elle-même se trouve en zone de bruit avant tout test de régime).

Assouplir les seuils (exposition ≥ 5 %, Sharpe ≥ 0) fait passer 2 stratégies sur 14 en «favorables au régime B», mais le Sharpe sous-jacent du mode B est à peine significatif et nous n’agirions pas en conséquence.

Chiffres représentatifs tirés du banc de référence sur les indices mondiaux :

StratégieModeCAGR %SharpeExposition %Composite / exposition
rbench:265baseline32,21,7352,90,058
rbench:265T seul20,81,1739,00,064
rbench:265B seul7,90,3813,20,163
rbench:288baseline36,11,1981,50,018
rbench:288T seul21,30,6966,1-0,001
rbench:288B seul7,50,2413,80,142
Le score composite intègre déjà une pénalité de drawdown. Les CAGR ci-dessus sont des valeurs dans l’échantillon, sur la fenêtre du banc ; ne les transposez pas en attentes pour l’avenir.

Les chiffres racontent une histoire cohérente. Filtrer sur T réduit à la fois le rendement et le Sharpe : la stratégie se comportait déjà bien en marché de tendance, et le label de régime supprime une partie des entrées qui contribuaient. Filtrer sur B paraît séduisant du point de vue de l’efficacité du capital (composite/exposition passe de 0,018 à 0,142 sur rbench:288), mais le nombre de trades et l’exposition résiduels sont si faibles que la mesure est tirée par une poignée de trades, et non par un avantage robuste propre au régime. Aucun des modes filtrés n’a produit un Sharpe suffisamment supérieur à sa référence pour justifier un spécialiste de régime ; les petites hausses du ratio composite/exposition viennent d’une exposition fortement réduite, pas d’une meilleure qualité par barre.

4. Pourquoi rien ne s’est amélioré : l’hypothèse structurelle

Le résultat nul n’est pas un bug. C’est une contrainte du système que nous avons testé. Avant d’en venir à l’argument structurel, une observation sur les fréquences de base fait l’essentiel du travail.

Les fréquences de base sont extrêmement déséquilibrées

La stratégie phare en production a été backtestée sur la période 2016-01-01 → 2026-04-30, soit environ dix ans et 2 592 barres de séance. Sur cette fenêtre, le label de rang centile du SPX a réparti les barres entre les trois régimes comme suit :

RégimeBarresPart de la fenêtre
T (haussier, tercile supérieur)2 01377,7 %
R (range, bande médiane)1967,6 %
B (baissier, tercile inférieur)38314,8 %

Ce ne sont pas des fréquences de «terciles» au sens des manuels. Par construction, chaque catégorie devrait contenir un tiers des barres sur une fenêtre stationnaire ; sur une période de l’histoire des marchés dominée par la reprise d’après 2020 et le rallye de 2023 à 2025, le SPX a passé la plupart de ses journées dans le haut de sa plage sur un an glissant. Le label fait exactement ce qu’il doit faire. C’est la distribution qui constitue le message.

La conséquence pour toute expérience de filtrage est lourde. Une stratégie dont les poids ont été optimisés sur la fenêtre complète est, mécaniquement, déjà un spécialiste T : 78 % des données vues par l’optimiseur étaient en marché T, si bien que le vecteur de poids minimise les pénalités de l’objectif dans les conditions T et traite les barres R + B comme une petite perturbation. Restreindre le filtre à T ne débloque rien de nouveau ; le restreindre à R + B réduit d’environ 4× à la fois les données d’entraînement et le nombre de trades, et expose la stratégie à des barres qui ont toujours été minoritaires dans le signal de l’optimiseur.

Nous avons aussi testé la version plus exigeante de la question : prendre la stratégie et réoptimiser les poids avec le filtre restreint à R + B, c’est-à-dire ajuster de zéro des poids spécialisés pour le marché non haussier. Ce run n’a pas non plus amélioré la référence tous régimes. Les deux raisons plausibles ne s’excluent pas :

  • La marge statistique. Un spécialiste entraîné sur environ 580 barres et sur les trades qui subsistent dans une fenêtre d’exposition de 22 % dispose de très peu de degrés de liberté face à un modèle à 11 poids. Le risque d’ajuster du bruit l’emporte sur l’éventuel avantage réel en R + B.
  • La rotation de l’univers sort déjà du mauvais marché. Même sans filtre de régime, l’étape de classement de la stratégie désalloue les titres dont la tendance individuelle s’est retournée. Au moment où le label global du SPX bascule en B, la stratégie est déjà en grande partie sortie de l’exposition aux grandes capitalisations américaines et penche vers ce qui se classe encore bien : ETF mondiaux, valeurs défensives, titres liés aux matières premières. La rotation transversale fait le travail de régime que le filtre par centile du SPX cherche à ajouter.

L’argument structurel

Les stratégies de production de KreamEdge partagent deux propriétés structurelles qui rendent redondant un filtre de régime fondé sur le SPX :

a) L’univers encode déjà les régimes régionaux. La stratégie phare en production opère sur zone=major_indices, un panier de grandes capitalisations américaines, européennes, britanniques, suisses et japonaises, plus des ETF couvrant l’Asie-Pacifique. L’étape de classement à l’intérieur de la stratégie («quels 5 à 10 titres paraissent les plus forts en ce moment ?») est déjà un filtre de régime : elle s’exprime simplement à travers la coupe transversale des tickers qui se classent, et non à travers un interrupteur global marche/arrêt. Quand les grandes capitalisations américaines sont en drawdown et que les marchés émergents ou les titres liés aux matières premières mènent, la stratégie tourne déjà vers ces derniers. Ajouter par-dessus une surcouche «le SPX est dans son tercile inférieur, arrêtez de trader» jette la rotation qu’elle est justement payée pour faire.

b) La logique de signal ne se conditionne pas sur le VIX. Aucune des expressions strategy_buy ou strategy_sell de production ne contient les atomes vix0a à vix1b que le parseur prend en charge. Les stratégies n’utilisent pas non plus l’état de volatilité comme entrée au niveau du signal. C’est une propriété voulue : elles ont été réglées sur des règles d’entrée et de sortie purement fondées sur le prix, la tendance et le momentum, mais c’est instructif. Une stratégie qui ne s’appuie pas sur le VIX au niveau des entrées a peu de chances d’apprendre quoi que ce soit d’un état de centile du SPX plus grossier au niveau du filtre ; le centile est monotone par rapport au rendement glissant du SPX, que les règles d’entrée voient déjà directement.

Autrement dit, le filtre de régime tente de résoudre un problème que la stratégie résout déjà implicitement. Cela ne revient pas à dire que le régime de marché est sans importance. Cela revient à dire que la variante de filtre précise que nous avons testée n’apporte pas d’information que la stratégie n’extrayait pas déjà.

5. Ce que cela ne prouve pas

Quelques réserves importantes, dans le souci d’être précis sur ce que disent réellement les données :

  • Le filtrage et une première passe de réoptimisation spécialisée ont tous deux échoué. L’expérience principale portait sur le filtre seul. Nous avons aussi exécuté la version plus exigeante (réoptimisation des poids à l’intérieur du masque R + B, à partir de zéro) sur la stratégie phare sur les indices mondiaux. Ce run n’a pas non plus battu la référence tous régimes. C’est un point de données, sur une stratégie, sur un univers ; ce n’est pas la preuve qu’aucun spécialiste par régime n’existe, mais cela écarte l’objection évidente «vous n’avez simplement pas ajusté les bons poids». Une étude de spécialiste plus agressive (B seul avec un espace de poids beaucoup plus large, ou un autre univers comptant davantage de trades en B) pourrait encore produire un résultat positif.
  • Une seule taxonomie de régimes, une seule fenêtre. Les seuils de rang centile, la fenêtre de 252 jours, la répartition en terciles : ce sont tous des valeurs par défaut de praticien, non optimisées. Une grille croisée avec la volatilité (T×V, B×Q, etc.) est l’axe suivant évident. L’état de volatilité de diagnostic Q/N/V est déjà calculé ; il n’est simplement pas promu au rang de filtre.
  • Un filtre ancré sur le SPX n’est qu’une des définitions de régime possibles. Le label actuel ignore l’état des taux d’intérêt, les spreads de crédit, la structure par terme, la largeur de marché et les corrélations entre actifs. Le code embarque désormais des courbes de taux d’intérêt de référence par devise. Intégrer l’état des taux (par exemple «taux mondiaux en hausse ou en baisse», ou «taux réels positifs ou négatifs») au label de régime est l’enrichissement le plus évident à essayer ensuite.
  • Aucune stratégie n’a non plus été pénalisée par le filtrage. À une exception près (rbench:288 en T seul, dont le composite/exposition devient négatif), le filtre est une surcouche neutre. Les stratégies qui ne veulent déjà pas de filtre l’ignorent sans bruit ; celles qui pourraient en vouloir un en principe n’ont pas encore les poids pour exprimer cette préférence.

6. Ce que nous allons essayer ensuite

Par ordre approximatif de rendement informationnel attendu par unité de calcul :

  1. Un label de régime sensible aux taux. Promouvoir au rang d’entrée de régime l’infrastructure de taux d’intérêt de référence par devise déjà présente dans le code. Un label qui découpe la catégorie dominante T en sous-états (par exemple «marché haussier avec taux réels en hausse» contre «marché haussier en cycle de baisse des taux») s’attaque directement au problème de fréquences de base identifié plus haut. Le label fondé sur le seul SPX ne peut pas découper T ; un label conditionné par les taux le peut. Cette piste passe désormais devant la réoptimisation spécialisée sur le label existant, parce que la première série de réoptimisation spécialisée sur R + B n’a rien donné.
  2. Une grille croisée avec la volatilité. Le centile de diagnostic VIX/VIX3M (Q / N / V) existe déjà ; le promouvoir au rang d’axe de filtrage ne demande qu’un changement de configuration. Diagnostic utile et complément probable du label sensible aux taux.
  3. Une réoptimisation spécialisée sur B seul, avec un autre univers. La réoptimisation R + B sur la stratégie des indices mondiaux n’a rien amélioré, mais le nombre de trades était juste. Relancer sur une stratégie dont la référence compte beaucoup plus de trades, ou sur un univers où les barres B sont plus fréquentes (la fenêtre de banc utilisée est anormalement chargée en marché haussier), constitue une version plus tranchante du même test.
  4. L’astuce de diversification de Cesar Alvarez. Faire tourner deux copies de la même stratégie avec des filtres de régime différents et combiner les courbes de capital. Même si aucun filtre isolé n’est clairement gagnant, la combinaison réduit le risque de mauvaise classification du régime, car deux filtres ne datent jamais la même transition de la même manière.

Ce que nous ne ferons délibérément pas : optimiser les seuils de régime (0,67 / 0,55 / 0,33 / 0,45) contre les résultats de backtest. Les fixer dès le départ vise justement à garder un filtre généralisable. Si un filtre à seuils fixes n’aide pas, la réponse est un autre type de filtre, pas une version réajustée du même.

7. Ce que les concepteurs de stratégies peuvent en retenir

Si vous construisez votre propre stratégie systématique et envisagez d’y ajouter un filtre de régime, les conclusions pratiques de cette expérience valent au-delà de notre outillage particulier :

  • Testez le filtre comme simple masque avant de vous lancer dans une réoptimisation complète. C’est peu coûteux, et si le filtrage n’aide pas, cela vous apprend déjà quelque chose sur la stratégie : ses règles d’entrée absorbent probablement l’information que le filtre exprimerait.
  • Les univers diversifiés exigent des preuves de régime plus solides pour justifier un filtre. Les stratégies sur un seul actif ou une seule région ont le plus à gagner d’une surcouche de régime ; les stratégies de rotation mondiale en ont le moins, parce que la rotation est une réponse au régime.
  • Un filtre de régime est une hypothèse sur les conditions dans lesquelles vous voulez être actif, pas un moyen de gonfler les chiffres dans l’échantillon. Si vous vous surprenez à régler les seuils centiles pour trouver la configuration qui relève votre CAGR, vous ne faites plus d’analyse de régime. Vous faites de l’ajustement dans l’échantillon par l’intermédiaire d’un autre paramètre.
  • Les résultats négatifs font partie du travail. Un filtre de régime qui n’améliore pas une stratégie n’est pas une recherche perdue. Il vous indique que la stratégie extrait déjà le contexte pertinent, et il concentre l’itération suivante là où l’information manque réellement. Pour nous, cela oriente vers l’état des taux d’intérêt, pas vers l’état des centiles actions.

Le code de KreamEdge conservera le filtre de régime : le laisser en place ne coûte rien, il nous donne l’appareil empirique pour tester la prochaine définition de label, et il garantit entre-temps une propriété importante : le regime_label fait désormais partie de l’UID de la stratégie, si bien que toute future stratégie sensible au régime se distingue sans ambiguïté de son ancêtre tous régimes dans l’historique des runs. L’architecture est en place ; la question de savoir quel label de régime compte reste ouverte.


Cet article décrit une recherche et une méthodologie de backtest. Tous les chiffres proviennent de backtests tenant compte du hors échantillon, avec modélisation des frais de transaction et du slippage, mais ils restent des simulations historiques. Les résultats de backtest ne représentent pas du trading réel, ne garantissent pas les résultats futurs et ne doivent pas être interprétés comme des recommandations d’achat, de vente ou de conservation d’un quelconque instrument. KreamEdge est uniquement informatif et pédagogique : ce n’est ni un conseil financier, ni un service de conseil réglementé, ni un produit de diffusion de signaux. Nous ne le traderions pas tel quel : c’est de la recherche uniquement. La discussion sur la méthodologie se poursuit sur nos canaux communautaires.

Questions fréquentes (FAQ)

Que testait l’expérience du filtre de régime de marché ?

Un filtre de régime par rang centile sur le SPX, construit de façon classique : un rang centile de la clôture sur 252 jours, réparti en trois terciles pour la tendance, le range et le marché baissier, avec une hystérésis à deux niveaux et un décalage d’une barre. Il a été appliqué comme masque sur les seules entrées de 14 stratégies backtestées.

Quel a été le résultat ?

Sur les 14 stratégies, le filtre n’a relevé le score ajusté du risque d’aucune stratégie au-delà d’un seuil de bruit réaliste. Réoptimiser les poids pour le marché non haussier n’y a rien changé non plus. Le filtrage comme la réoptimisation spécialisée ont échoué à battre la référence tous régimes.

Pourquoi le filtre n’a-t-il rien apporté ?

Pour deux raisons. Sur la fenêtre de 2016 à 2026, le rang centile du SPX classe environ 78 % des barres en tendance, si bien que les poids tous régimes sont en pratique déjà des poids spécialisés tendance, et les 22 % de barres restantes portent trop peu de signal pour ajuster un spécialiste utile. Les stratégies qui tournent déjà sur un univers diversifié à l’échelle mondiale absorbent aussi implicitement les régimes régionaux et de tendance, si bien qu’un label fondé sur le seul SPX apporte peu.

Pourquoi publier un résultat négatif ?

Parce que l’alternative est un corpus ne contenant que les expériences qui se trouvent avoir fonctionné, et c’est ainsi que le surapprentissage se propage. Un filtre qui n’aide pas est un vrai résultat sur l’univers et sur les stratégies.

Quelle est la prochaine expérience ?

Enrichir le label avec le contexte de la courbe des taux. Un label fondé sur la pente ou sur les taux, qui découpe le régime de tendance dominant en sous-catégories, a plus de chances de faire apparaître de l’hétérogénéité qu’un filtre plus fin sur le même centile du SPX.

Autres recherches KreamEdge


0 commentaire

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *