Retour à López de Prado

Revue de recherche · inférence causale · étude 14

Causal Factor Investing

L'association n'est pas la causalité, et la même régression de facteurs qui repère une étoile peut être amenée à en inventer une, à en tuer une vraie ou à imprimer un fantôme, selon le seul graphe causal qui la sous-tend

La littérature du factor investing rapporte des associations, des régressions des rendements sur des « facteurs » candidats, et les lit tacitement comme des causes, sans énoncer le graphe causal qui autoriserait cette lecture. Mais qu'un coefficient associatif identifie ou non un effet causal dépend entièrement de la structure qui le sous-tend, et les trois structures élémentaires tirent une régression naïve dans des directions opposées. Cette étude transforme la critique de López de Prado en une simulation contrôlée assortie d'une démonstration réelle, sans look-ahead, multi-actifs, et le bac à sable ci-dessous vous laisse voir une régression de facteurs être amenée à mentir dans le navigateur.

source

Causal Factor Investing (2023)

López de Prado · Cambridge Elements in Quant. Finance

Code & données

lopez-de-prado-work-review / projects / 14

the claim

Ce que dit López de Prado

  • La littérature du factor investing rapporte des associations, des régressions des rendements sur des facteurs candidats, et les lit tacitement comme des causes, sans jamais énoncer ni défendre le graphe causal qui autoriserait cette lecture.
  • Qu'un coefficient associatif identifie ou non un effet causal dépend entièrement de la structure : un fork (confounder) fabrique un effet fallacieux, conditionner sur un mediator détruit un effet réel, et conditionner sur un collider crée de la significativité à partir de rien. Trompez-vous d'ensemble d'ajustement via la backdoor adjustment et un « facteur » fallacieux paraît significatif.

our result

Ce que nous avons trouvé

  • Un Monte Carlo de 20 000 simulations reproduit le biais exactement : l'erreur de l'estimateur naïf croît de façon monotone avec la force de la structure mal traitée (taux de faux positifs de 96 % dès la force 0,30), tandis que l'estimateur structurellement correct maintient ses 5 % nominaux.
  • Sur un panel réel de 26 instruments, la backdoor adjustment correcte renverse 2 des 9 verdicts de significativité des facteurs et atténue ~⅔ du signal brut ; seul 1 sur 9 survit à un second confounder indépendant.
  • Le verdict honnête : zéro facteur ne survit à la déflation, le meilleur panier associatif affiche un DSR de 0,455, bien en deçà de 0,95. La chaîne de preuves se rompt exactement là où il le dit, mais aucun candidat n'atteint jamais un graphe causal défendu ; c'est une démonstration pédagogique, pas un résultat d'argent.

Le résultat en trois lignes

Monte Carlo · 20 000 sims

Les trois structures reproduisent LdP exactement

Un confounder (fork) fait paraître un facteur nul significatif 100 % du temps sous régression naïve, corrigé aux 5 % nominaux par la backdoor adjustment. Sur-contrôler un mediator (chain) effondre la puissance d'un effet réel à ~5 %. Conditionner sur un collider fabrique un facteur de −0,50 à 100 % de significativité à partir d'un effet réel de zéro. Chaque nombre du Monte Carlo est vérifié bit-à-bit identique (max |Δ| ≈ 1e-13) face à une référence indépendante.

Facteurs réels · 26 instruments · sans look-ahead

La backdoor adjustment renverse les verdicts ; presque rien ne survit

Trois facteurs causaux décalés (momentum, vol réalisée, reversal court) en crypto, actions américaines et forex. La backdoor de la moyenne de marché renverse 2 des 9 verdicts de significativité, tous deux tués comme fallacieux, et environ deux tiers d'un signal de facteur brut typique (atténuation médiane de |t| de 67 %) est du confounder qui fuit. Seule 1 cellule sur 9 survit à un second confounder indépendant.

DSR 0,46 · barre 0,95

Le meilleur panier associatif échoue à la déflation

Le meilleur panier long-short naïf (actions low-vol, SR annualisé ≈ 0,47) se déflate à DSR 0,46 face au benchmark du False-Strategy-Theorem pour 9 essais, bien en deçà de la barre de 0,95. Une grille de falsification fait monter chaque candidat dans la hiérarchie des preuves ; la chaîne de preuves se rompt exactement là où LdP le dit. C'est un résultat méthodologique, pas un résultat d'argent.

Les trois structures, un Monte Carlo contrôlé

La même régression invente un facteur, en tue un vrai ou imprime un fantôme

Fork / confounder

effet réel X→Y = 0

Chain / mediator

effet total réel = (b·d) = s²

Collider

effet réel X→Y = 0

Fig. 1:Monte Carlo (20 000 sims × 2 000 obs). À gauche, fork : la régression naïve Y~X s'amasse à 0,50 (l'effet réel est 0) ; l'estimation par backdoor adjustment se pose sur zéro. Au centre, chain : la régression naïve recouvre correctement l'effet total réel 0,64, mais sur-contrôler pour le mediator M l'écrase à zéro. À droite, collider : la régression naïve est correctement à zéro, mais conditionner sur le collider C fabrique un coefficient de −0,50 à partir de rien.

Pour chacun des 20 000 jeux de données indépendants, nous tirons des données neuves d'un modèle linéaire-gaussien de chaque structure et ajustons deux régressions : la régression simple naïve du rendement sur le facteur, et la régression qu'un analyste prudent lancerait au vu du graphe. Les distributions d'échantillonnage racontent trois histoires différentes à partir de la même arithmétique.

Dans le fork, une cause commune rend un facteur nul significatif 100 % du temps ; la backdoor adjustment restaure les 5 % nominaux. Dans la chain, la régression naïve a raison, et sur-contrôler pour le mediator effondre la puissance d'un effet réel à 5 %. Dans le collider, la régression naïve a raison à zéro, mais conditionner sur le collider fabrique un facteur de −0,50 à 100 % de significativité.

structureeffet réelcoef naïfrejet naïfcoef ajustérejet ajusté
Fork / confounderZ→X, Z→Y0.000.500100%0.0005.0%
Chain / mediatorX→M→Y0.640.640100%−0.0005.1%
ColliderX→C←Y0.00−0.0004.9%−0.500100%

Les coefficients et taux de rejet sont des moyennes MC sur 20 000 sims ; « rejet » est la part avec |t|>1,96. La régression naïve est significative et fausse dans le fork, correcte dans la chain (où le danger est le sur-contrôle) et correcte dans le collider (où le danger est le conditionnement). Chaque chiffre est vérifié bit-à-bit identique face à une référence indépendante (max |Δ| ≈ 1e-13).

Faites mentir une régression de facteurs

Choisissez une structure, puis activez 'conditionner sur Z'. Dans un facteur de confusion, conditionner ferme la porte dérobée fallacieuse et l'association s'effondre vers son vrai zéro ; dans un médiateur, cela bloque un effet réel ; dans un collisionneur, cela ouvre un chemin qui était fermé et en fabrique un. Le nuage de points et les lectures sont calculés à partir d'un échantillon à graine fixe.

L'intérêt du bac à sable, c'est que le biais n'est pas une pathologie sur le fil du rasoir, c'est le comportement générique du mauvais ensemble d'ajustement, et il croît en douceur avec la force de la structure que vous maltraitez. Montez la force du confounder du fork et le coefficient naïf d'un facteur nul grimpe vers 0,50 ; montez la force du chemin de la chain et l'estimation sur-contrôlée reste figée à zéro tandis que l'effet réel croît ; le collider invente un fantôme de plus en plus grand à mesure que ses deux parents le poussent fort.

Démo, bac à sable confounder / mediator / collider

Choisissez une structure causale, puis activez 'conditionner sur Z' et regardez l'association X-Y observée s'ouvrir ou se fermer. Dans un facteur de confusion, conditionner ferme la porte dérobée fallacieuse ; dans un médiateur, cela détruit un effet réel ; dans un collisionneur, cela en fabrique un à partir de rien. Le nuage de points est un tirage à graine fixe de chaque structure et les lectures sont calculées à partir de ces points exacts.

XYZ

chemin X ⇆ Y OUVERT, l'association circule

force du biais s0.90
00.61.2

s = charge du confounder (a = c)

corr(X, Y) observée
vrai effet X→Y
0.000
écart fallacieux |obs − vrai|
(X, Y) ÉCHANTILLONNÉS, Fork / confounder-3-2-10123-3-2-10123X, le facteur candidatY, rendement du lendemainbrut (sans ajustement)

Le facteur de confusion Z est grand ouvert : X et Y bougent ensemble sans aucun lien causal entre eux. La corrélation naïve est un facteur purement fallacieux.

conditionner vous rapproche de la vérité

Le biais croît avec la structure, l'erreur atteint 96 % dès la force 0,30

Balayer la force du biais structurel produit l'unique affirmation quantitative qui résume toute la critique : l'erreur de décision de l'estimateur naïf ou mal conditionné croît de façon monotone avec la force de la structure (mal) traitée, déjà 96 % dès la force 0,30, tandis que l'estimateur structurellement correct maintient son erreur nominale de 5 % (fork, collider) ou recouvre toute sa puissance (chain) à chaque dose.

Fork : taux de faux positifs (vrai X→Y = 0)

Collider : taux de faux positifs (vrai X→Y = 0)

Chain : puissance pour détecter un effet RÉEL (total vrai = (b·d)²)

Fig. 2:Balayage dose-réponse. À gauche, le taux de faux positifs du fork grimpe de 5 % à 100 % à mesure que la force du confounder croît (la backdoor adjustment reste à 5 %). Au centre, conditionner sur un collider porte son taux de faux positifs à 100 % (la régression naïve reste à 5 %). À droite, la régression naïve conserve toute sa puissance pour détecter l'effet réel de la chain, tandis que sur-contrôler pour le mediator maintient la puissance au plancher de 5 % sans puissance.
Fig. 3:Facteurs réels : t naïf (x) vs. t ajusté par la backdoor de la moyenne de marché (y), neuf cellules marché×facteur. Les points hors diagonale ont perdu du signal au profit du confounder ; les points mis en évidence (momentum actions, vol actions) franchissent la ligne |t|=1,96, leur significativité apparente était en grande partie le confounder de marché qui fuyait.

Facteurs réels multi-actifs : la backdoor adjustment renverse les verdicts

La même machine, sur données réelles. Trois facteurs causaux décalés, momentum à 21 jours, vol réalisée à 21 jours (un proxy low-vol), reversal court à 5 jours, passent par une régression de panel groupée intra-marché du rendement du lendemain sur 26 instruments en crypto, actions américaines et forex. Nous ajoutons ensuite la moyenne de marché (le moteur commun évident du facteur et du rendement) comme contrôle de backdoor, puis un second confounder indépendant, la vol réalisée commune décalée. Un facteur n'est candidat survivant que s'il franchit les deux.

Quatre cellules sur neuf sont significatives naïvement. La backdoor de la moyenne de marché renverse 2 verdicts, momentum actions et vol actions, et toutes deux sont spurious_killed : le facteur apparent était en grande partie le confounder de marché. L'atténuation médiane de |t| parmi les cellules naïvement significatives est de 67 % : environ deux tiers du signal de facteur brut est du confounder. Seule 1 cellule sur 9 survit aux deux backdoors (reversal court actions), et même là le t chute de −12,0 à −4,9, et le reversal est un effet de microstructure / rebond bid-ask, pas une prime de risque défendue. La vol crypto change même de signe entre les deux confounders, signe qu'il s'agit d'un artefact de conditionnement, pas d'une structure.

marchéfacteurt naïf+marché t+vol décalée tatténuation |t|inversion
cryptomomentum2.262.111.737%,
cryptovol1.360.36−1.2674%,
cryptoreversal−0.230.66−0.39, ,
actionsmomentum−6.39−1.60−6.2675%spurious_killed
actionsvol2.140.531.6575%spurious_killed
actionsreversal−11.98−4.88−11.9659%,
forexmomentum0.020.500.01, ,
forexvol0.760.180.5176%,
forexreversal−1.84−1.71−1.847%,

Tous les facteurs sont décalés (la valeur au jour t n'utilise que l'information jusqu'à t−1), de sorte que rien ne prédit le rendement t avec des données futures. Les t-stats proviennent de régressions de panel groupées intra-marché sur des rendements quotidiens réels.

Le meilleur panier associatif échoue à la déflation

La métrique phare est le Deflated Sharpe Ratio sur le meilleur panier long-short naïf de facteurs, en traitant les neuf cellules marché×facteur comme le nombre d'essais. Le meilleur panier est actions low-vol, Sharpe annualisé ≈ 0,47. Face au benchmark de Sharpe maximal attendu pour neuf essais :

DSR = 0,46, bien en deçà de la barre de 0,95. Le panier associatif le plus prometteur ne survit pas à la déflation pour tests multiples ; l'« avantage » est compatible avec la chance sur neuf essais.

La chaîne de preuves se rompt là où LdP le dit

Une grille de hiérarchie des preuves fait monter chaque signal candidat dans l'échelle. Le niveau le plus élevé qu'atteint un candidat est 3 : l'unique survivant des tests de conditionnement (reversal actions) est tué au L5 (déflation) et n'atteint jamais un graphe causal défendu ni une preuve interventionnelle. L'association est bon marché, le conditionnement est fragile, et la déflation assortie d'un graphe défendu , que la littérature ne fournit presque jamais, est l'endroit où les « facteurs » disparaissent.

niveauquestionverdict
L1Une association existe-t-elle ? (|t|>1,96 brut)RÉUSSI, 4/9 cellules significatives naïvement
L2Survit à la backdoor de la moyenne de marché ?RÉUSSI, 2/9 ; 2 verdicts s'inversent ; atténuation médiane de |t| de 67 %
L3Survit à un second confounder indépendant (vol commune décalée) ?RÉUSSI, seule 1/9 franchit les deux (reversal actions)
L4Le graphe causal est-il énoncé et défendu ?ÉCHEC, aucun SEM défendu fourni pour aucun survivant
L5Survit à la déflation pour tests multiples (DSR>0,95) ?ÉCHEC, meilleur DSR 0,46
L6Preuve interventionnelle / do-evidence ?ÉCHEC, toute la preuve est observationnelle
L7Réplication réelle OOS / inter-marchés de la revendication causale ?ÉCHEC, aucun survivant ne se réplique sur les trois marchés

Vers le L6

Une expérience naturelle de cotation de perp donne à l'étude sa première preuve non observationnelle

Rendement anormal du sleeve de continuation après cotation du perp

CAR du sleeve de continuationIC bootstrap 95 %

jours de bourse depuis
la cotation perpétuelle

t-stat du facteur de retournement : discontinuité à l'événement

Fig. 4:Expérience naturelle de cotation de perp. À gauche : la poche de continuation (qui perd lorsque le retournement paie) réalise −14,9 % de rendement anormal cumulé sur 30 jours après cotation, net de la base de référence d'avant cotation propre à chaque actif (bootstrap bilatéral p = 0,021), un rendement négatif signifie que le retournement se renforce. À droite : l'effet de retournement est absent avant la cotation dans les actifs traités et fort après, tandis que les grandes capitalisations de contrôle bougent à peine entre l'avant et l'après.

Chaque résultat ci-dessus relève du conditionnement observationnel, il plafonne au L3. Pour atteindre une preuve interventionnelle (L6), il nous faut un choc dont le moment est fixé par autre chose que l’effet testé. Une cotation de contrats à terme perpétuels USD-M sur Binance est exactement cela : un changement structurel exogène de la microstructure d’un actif (effet de levier, accès à la vente à découvert, mécanique de financement, large base spéculative) dont la date est choisie par la plateforme, et non par le retournement de court terme. Cela en fait une expérience naturelle (natural experiment), que nous appliquons à l’unique survivant du L3 du programme, le retournement de court terme.

La prédiction directionnelle pré-enregistrée : si le retournement est un effet de microstructure / fourniture de liquidité, sa force devrait sauter de façon discontinue lors de la cotation. Pour chacune des 170 cotations admissibles, la fenêtre antérieure est le rendement au comptant (spot) du jeton lui-même et la fenêtre postérieure son rendement perpétuel (même actif, le changement d’instrument est le traitement) ; le facteur de retournement retardé sur 5 jours est calculé séparément de chaque côté, de sorte qu’aucune valeur ne chevauche la frontière. Nous ajustons une régression sur discontinuité (regression discontinuity) de l’effet du facteur (pente antérieure vs postérieure, plus un terme d’interaction) et un rendement anormal (abnormal return) en temps d’événement d’une poche de continuation, avec un ensemble de contrôle de dix grandes capitalisations établies, découpées aux mêmes dates calendaires mais sans événement de cotation, comme contrôle placebo / tendances parallèles.

groupefenêtrepente de retournementt-statn
traitésavant (spot)−0.0008−0.508,671
traitésaprès (perp)−0.0050−6.499,350
traitésaprès − avant (interaction RD)−0.0042−2.5518,021
contrôle (placebo)avant (spot)−0.0025−3.028,738
contrôle (placebo)après (perp)−0.0019−3.289,350
contrôle (placebo)après − avant (interaction RD)+0.0006+0.5818,088

Pente et t-stat de retournement en panel groupé, avant vs après la cotation exogène, avec le terme d’interaction de la régression sur discontinuité. La discontinuité des actifs traités est significative (t = −2,55) ; celle du contrôle placebo est stable (t = +0,58).

Dans les actifs traités, le retournement est absent avant la cotation (t = −0,50) et fortement présent après (t = −6,49) ; la discontinuité est significative (interaction RD t = −2,55). Les grandes capitalisations de contrôle restent stables aux mêmes dates (interaction t = +0,58), de sorte que le saut suit l’événement, pas le calendrier. C’est la première preuve du programme qui ne relève pas du pur conditionnement observationnel : elle atteint un soutien partiel de L6 (interventionnel) pour une lecture de microstructure du retournement, et affaiblit en conséquence toute lecture qui en ferait une prime de risque défendue.

Mise en garde honnête. La discontinuité est une moyenne de panel groupé : actif par actif, le |t| de retournement après cotation dépasse le |t| avant cotation dans seulement 48 % des événements. Il s’agit donc d’une preuve sur la microstructure du jeton nouvellement coté typique, non d’une loi par actif. Elle ne sauve pas le facteur au L5 (le verdict du Sharpe déflaté est inchangé), au L4 (aucun graphe formel défendu) ni au L7 (aucune réplication causale inter-marchés). La chaîne de preuves est aussi fragile qu’auparavant, l’expérience précise ce qu’est le signal survivant (microstructure, pas prime) sans le transformer en facteur de risque.

Méthode

  • Monte Carlo (partie a) : modèles d'équations structurelles linéaires-gaussiens, fork (Z→X, Z→Y), chain (X→M→Y) et collider (X→C←Y), avec 20 000 jeux de données indépendants de 2 000 observations chacun. Pour chaque jeu, nous ajustons la régression simple naïve Y~X et la régression ajustée motivée par la structure, enregistrons la distribution d'échantillonnage du coefficient de X, et le taux de rejet à |t|>1,96.
  • Cadre de la théorie de la décision : pour le fork et le collider l'effet réel est 0, donc un rejet est un faux positif de type I ; pour la chain l'effet est réel, donc un non-rejet est un faux négatif (puissance perdue). Le balayage dose-réponse trace comment l'erreur de décision naïve vs. corrigée réagit à mesure que la force du biais structurel monte sur [0, 1,2].
  • Panel réel multi-actifs (partie b) : rendements simples quotidiens pour 26 instruments sur trois marchés (11 perps crypto, 7 ETF d'actions américaines, 8 paires majeures forex), construits à partir de données source en 1 minute. Chaque facteur est causal, chaque valeur au jour t n'utilise que l'information jusqu'à t−1 (décalage explicite), donc rien ne prédit le rendement t avec des données futures. Données réelles uniquement.
  • Naïf vs. backdoor : une régression de panel groupée intra-marché du rendement du lendemain sur le facteur décalé et standardisé, puis la même avec la moyenne de marché (le moteur commun évident) ajoutée, puis avec un second confounder indépendant, la vol réalisée commune décalée. Un facteur n'est candidat survivant que s'il franchit les deux backdoors. Nous rapportons le t-stat sous chaque spécification, si le verdict s'inverse, le type d'inversion, et l'atténuation de |t|.
  • Métrique phare (partie c) : le Deflated Sharpe Ratio sur le meilleur panier long-short naïf de facteurs, en traitant l'ensemble marché × facteur (9 cellules) comme le nombre d'essais, avec le benchmark de Sharpe maximal attendu issu du False Strategy Theorem. Une grille de hiérarchie des preuves désigne précisément le barreau auquel chaque signal survivant se rompt.

Notes & évaluation honnête

Il s'agit d'une contribution méthodologique / pédagogique, pas d'un résultat « le facteur rapporte de l'argent », et c'est cadré ainsi de bout en bout. Les résultats d'équations structurelles et de backdoor sont du Pearl / López de Prado standard ; la partie sur données réelles est une démonstration de la critique, pas la découverte d'un avantage. Pour monter vers un résultat positif, il faudrait, pour au moins un facteur, un graphe causal défendu et une preuve interventionnelle / d'expérience naturelle, que cette étude laisse délibérément ouverte comme la frontière honnête. Ce qu'elle fait proprement, c'est rassembler en un seul endroit un Monte Carlo qui reproduit les trois biais avec une dose-réponse et un contrôle croisé bit-à-bit identique, une démonstration réelle multi-marchés sans look-ahead à deux confounders, et une grille de falsification quantitative.

Reproductibilité

La simulation, le pipeline de panel réel, les figures et le harnais de vérification sont rassemblés dans le project 14 de lopez-de-prado-work-review. Le bac à sable de cette page est autonome : les formes closes des structures simulées et les points d'ancrage dose-réponse sont encodés dans le composant, de sorte que le mécanisme qu'il illustre se reproduit exactement à chaque chargement.

Citer

Références

Les sources primaires de la critique passée en revue ici :

Voir aussi

L'étude compagnon sur la déflation pour tests multiples est Backtest Overfitting & the Deflated Sharpe Ratio, le thème de la discipline de sélection parcourt The edge is in the process, et l'ensemble plus large des travaux se trouve dans Research.