Stratégies de trading·stat-arb

Trading de paires et cointégration

banalisé
Revu le 4 juin 2026. En 2026 : largement connu et implémenté ; l'avantage est dans l'exécution, pas dans l'idée.

Le stat arb le plus simple : trouvez deux noms cointégrés, et quand leur spread diverge, vendez le cher et achetez le bon marché, en pariant sur le retour. Le z-score déclenche l'entrée et la sortie. Concurrencé à mort sur les actions liquides ; un cas d'école propre partout.

Voir en mouvement

Trade de z-score sur cointégrationfaites glisser le seuilIX-COINT
Seuil d'entrée±2.0σ
Allers-retours1
Maintenant-0.15σ
vendre le spreadacheter le spread
Z-score d'entrée2.0σ

À remarquer. Le spread entre deux noms cointégrés est stationnaire : il erre mais revient. Tradez-le quand il est étiré au-delà de ±2.0σ et sortez à la moyenne. Resserrez le seuil pour plus d'allers-retours et plus de coûts ; élargissez-le pour moins, mais plus propres.

Qu'est-ce qu'un trade de paires ?

Un trade de paires est une position neutre au marché : long un instrument, short un instrument apparenté, dimensionnés pour que la combinaison soit un spread à retour à la moyenne. Vous profitez quand le spread se referme (la jambe relativement bon marché rattrape et la jambe relativement chère retombe), quel que soit le sens du marché. C'est l'instance la plus simple et la plus célèbre de l'arbitrage statistique.

L'intuition d'abord. Choisissez deux noms qui bougent ensemble pour une vraie raison : deux compagnies aériennes, deux réseaux de paiement, un ETF et un quasi-substitut. Quand l'un dérive bon marché par rapport à l'autre sans cause fondamentale, vous achetez le bon marché et shortez le cher. Quand ils reconvergent vous débouclez, empochant l'écart. Parce que vous êtes long et short, un mouvement à l'échelle du marché s'annule ; vous ne vous souciez que du mouvement relatif, pas du niveau du marché.

La position est +1+1 unité de A et β-\beta unités de B, où β\beta est le ratio de couverture qui rend la combinaison neutre au marché et le spread stationnaire. La stratégie est attribuée au groupe quant de Nunzio Tartaglia chez Morgan Stanley au milieu des années 1980 ; la référence académique est Gatev, Goetzmann & Rouwenhorst (2006), qui ont documenté les rendements historiques de la version par distance et leur érosion ultérieure.

Le spread est un seul nombre : le prix de A moins le ratio de couverture fois le prix de B (plus une constante). Vous cessez de surveiller deux prix et commencez à surveiller une quantité à retour à la moyenne.
St  =  PA,t    βPB,t    αS_t \;=\; P_{A,t} \;-\; \beta\,P_{B,t} \;-\; \alpha

La corrélation ne suffit pas : il faut la cointégration

La corrélation mesure si deux séries bougent ensemble période à période ; elle peut être élevée par coïncidence sans force qui les ramène l'une vers l'autre. La cointégration est plus forte : une combinaison linéaire des deux niveaux de prix est stationnaire, c'est-à-dire qu'elle a une moyenne fixe vers laquelle elle revient. Le trading de paires a besoin de cointégration, car seul un spread stationnaire revient de façon fiable à la moyenne.

Le piège est la régression fallacieuse (Granger & Newbold 1974) : deux marches aléatoires indépendantes peuvent montrer une forte corrélation glissante sur un échantillon purement par hasard. Tradez leur « spread » et vous tradez du bruit sans retour : il dérive et ne revient jamais. La corrélation des rendements ne dit rien sur le fait que les niveaux de prix restent attachés. C'est la chose la plus importante à intérioriser sur cette page.

La cointégration (Engle & Granger 1987) est la propriété que vous voulez vraiment : deux séries non stationnaires PAP_A, PBP_B (chacune une marche aléatoire, intégrée d'ordre un, I(1)I(1)) sont cointégrées si une combinaison PAβPBP_A - \beta P_B est stationnaire (I(0)I(0)) : elle fluctue autour d'une moyenne constante et y revient. Cette combinaison stationnaire est votre spread tradable. L'histoire économique est une tendance stochastique commune (le facteur commun) plus un écart à retour à la moyenne.

Deux prix sont cointégrés quand une pondération fixe d'eux retire la tendance commune et laisse un résidu stationnaire : ce résidu est le spread que vous tradez. La corrélation regarde le co-mouvement ; la cointégration regarde si l'écart entre eux est attaché.
PA,t,PB,tI(1),et=PA,tβPB,tαI(0)P_{A,t},\,P_{B,t}\sim I(1), \qquad e_t = P_{A,t} - \beta\,P_{B,t} - \alpha \sim I(0)

Le test standard, le plus simple, est le Engle–Granger en deux étapes. D'abord, estimez la relation de cointégration par MCO : régressez PAP_A sur PBP_B pour obtenir le ratio de couverture β^\hat\beta et le résidu e^=PAβ^PBα^\hat e = P_A - \hat\beta P_B - \hat\alpha. Ensuite, testez ce résidu pour la stationnarité avec un test de Dickey–Fuller augmenté (ADF) : si vous rejetez l'hypothèse nulle de racine unitaire, le résidu est stationnaire, la paire est cointégrée, et e^\hat e est votre spread. Trois réserves dites clairement. Le test est en échantillon et dépendant du sens (régresser A sur B contre B sur A donne un β\beta légèrement différent) ; le test de Johansen gère plusieurs séries et est symétrique ; et le test multiple vous tue : scannez 5 000 paires à p<0.05p\lt 0.05 et environ 250 passent par hasard. La revalidation hors échantillon et un prior économique sur pourquoi la paire devrait cointégrer sont non négociables (voir backtesting & simulation).

Voir la dérivation : Engle–Granger et le spread stationnaire optionnel

Soit chaque prix une marche aléatoire avec une racine unitaire, si bien que la variation est stationnaire mais le niveau ne l'est pas. Ils sont cointégrés si une pondération (1,β)(1,-\beta) rend le résidu stationnaire.

PA,t,PB,tI(1),et=PA,tβPB,tαI(0)P_{A,t},\,P_{B,t}\sim I(1), \qquad e_t = P_{A,t} - \beta\,P_{B,t} - \alpha \sim I(0)

Le théorème de représentation de Granger garantit alors un modèle à correction d'erreur : quand le spread est positif (A cher), la variation espérée de A est négative, ramenant le spread. Le chargement négatif γA<0\gamma_A \lt 0 sur le spread de la période précédente est l'énoncé mathématique de « le spread revient ».

ΔPA,t  =  γAet1  +  (short-run terms)  +  εA,t,γA<0\Delta P_{A,t} \;=\; \gamma_A\, e_{t-1} \;+\; (\text{short-run terms}) \;+\; \varepsilon_{A,t}, \qquad \gamma_A \lt 0

L'étape 1 estime (α,β)(\alpha,\beta) par MCO, super-convergent sous cointégration. L'étape 2 fait tourner un ADF sur le résidu estimé : régressez sa variation sur son retard plus des différences retardées, et testez la nulle de racine unitaire contre une racine négative.

Δe^t  =  ρe^t1  +  iϕiΔe^ti  +  ut,H0:ρ=0   vs   ρ<0\Delta \hat e_t \;=\; \rho\,\hat e_{t-1} \;+\; \sum_i \phi_i\,\Delta \hat e_{t-i} \;+\; u_t, \qquad H_0:\rho=0 \;\text{ vs }\; \rho\lt 0

Surtout, utilisez les valeurs critiques d'Engle–Granger, pas les valeurs ADF standard, car le résidu est estimé, ce qui décale la distribution du test. Sautez cela et vous rejetterez la nulle trop facilement et traderez des paires fallacieuses.

Le spread, le ratio de couverture et le z-score : entrée et sortie

Une fois que vous avez un spread stationnaire, vous le standardisez en un z-score : de combien d'écarts-types le spread se situe de sa moyenne glissante. Vous entrez quand z|z| est grand (le spread est loin de sa juste valeur) et sortez quand zz revient vers zéro. Le z-score transforme « à quel point mésévalué » en un signal tradable comparable d'une paire à l'autre et dans le temps.

Le ratio de couverture β\beta est la pente MCO de la régression de cointégration : combien d'unités de B compensent une unité de A pour que la combinaison soit neutre. Il doit être réestimé en glissant ; un β\beta qui dérive est un avertissement précoce que la relation change sous vous.

Standardisez le spread par sa propre moyenne et son écart-type glissants. Un z de plus deux signifie que le spread est cher de deux écarts-types ; un z de zéro signifie qu'il est à sa juste valeur.
zt  =  StμSσSz_t \;=\; \frac{S_t - \mu_S}{\sigma_S}

Les règles typiques en découlent directement. Entrer short le spread (vendre A, acheter β\beta unités de B) quand z+zentryz \ge +z_{\text{entry}}, disons +2+2. Entrer long le spread (acheter A, vendre β\beta unités de B) quand zzentryz \le -z_{\text{entry}}. Sortir quand zz repasse par zexitz_{\text{exit}} (souvent zéro, parfois ±0.5\pm 0.5) en prenant le retour. Et stopper quand zzstop|z| \ge z_{\text{stop}} (disons 3 à 4) parce que le spread ne revient pas, et vous coupez avant que cela ne devienne une rupture de régime.

L'arbitrage des seuils est le cœur de la conception. Une bande d'entrée plus large (z=2.5z=2.5) signifie moins de trades, plus gros, à plus forte conviction, mais des signaux plus rares et des détentions plus longues ; une bande plus étroite (z=1.0z=1.0) signifie plus de trades, plus petits, qui échouent plus facilement à couvrir les coûts. L'optimum dépend de la demi-vie, de la volatilité du spread et des coûts aller-retour sur les deux jambes : poussez zentryz_{\text{entry}} vers le bas pour chasser plus de trades et vous détruisez le P&L net une fois que les coûts mordent.

La demi-vie : à quelle vitesse le spread revient-il ? (Ornstein–Uhlenbeck)

La demi-vie est le temps espéré pour qu'un écart se réduise de moitié : votre durée de détention et votre rotation du capital. Modélisez le spread comme un processus d'Ornstein–Uhlenbeck (retour à la moyenne en temps continu), ajustez sa vitesse θ\theta, et la demi-vie est ln2/θ\ln 2 / \theta. Une demi-vie d'heures signifie une rotation intraday rapide ; de semaines signifie une rotation lente et plus d'exposition à une rupture de régime.

Intuition : le spread est un ressort. Plus le ressort est raide (plus le retour à la moyenne est rapide), plus vite un spread étiré revient. La demi-vie met un nombre sur « à quelle vitesse », et vous dit donc combien de temps votre capital est immobilisé par trade et combien de paris indépendants vous obtenez par an.

Le processus OU ramène le spread vers sa moyenne de long terme à la vitesse theta, secoué par le bruit. La demi-vie (le temps pour qu'un écart se réduise de moitié) est le logarithme naturel de deux divisé par cette vitesse.
dSt=θ(μSt)dt+σOUdWt,t1/2=ln2θdS_t = \theta(\mu - S_t)\,dt + \sigma_{\text{OU}}\,dW_t, \qquad t_{1/2} = \frac{\ln 2}{\theta}

L'ajuster est une régression en une ligne. Discrétisez le processus OU en une forme AR(1), ΔSt=a+bSt1+εt\Delta S_t = a + b\,S_{t-1} + \varepsilon_t ; alors θb/Δt\theta \approx -b/\Delta t et t1/2=ln2Δt/bt_{1/2} = -\ln 2 \cdot \Delta t / b. Un bb plus négatif signifie un retour plus rapide et une demi-vie plus courte. C'est la même régression que le test ADF : stationnarité et vitesse de retour sont deux lectures d'un même ajustement. Pourquoi cela conditionne la rentabilité : chaque aller-retour capte à peu près l'écart-type du spread, et vous obtenez environ un pari indépendant par demi-vie, donc le brut annuel est à peu près les paris-par-an fois le sigma par pari. Une demi-vie de 3 jours sur un sigma qui couvre les coûts est tradable ; une demi-vie de 6 semaines signifie environ huit paris par an et une lourde exposition à la rupture de la relation en milieu de trade.

Voir la dérivation : la demi-vie OU à partir de l'ajustement discret optionnel

L'EDS OU a une solution discrète exacte : la valeur suivante est un mélange pondéré de la moyenne de long terme et de la valeur courante, le poids sur la valeur courante étant une décroissance exponentielle, plus un bruit de moyenne nulle.

St+Δt  =  μ(1eθΔt)  +  eθΔtSt  +  ηtS_{t+\Delta t} \;=\; \mu\bigl(1 - e^{-\theta\Delta t}\bigr) \;+\; e^{-\theta\Delta t}\,S_t \;+\; \eta_t

Identifiez ceci à la régression AR(1) St+Δt=a+φSt+ηtS_{t+\Delta t} = a + \varphi\,S_t + \eta_t. Le coefficient autorégressif est exactement le facteur de décroissance, donc la vitesse en sort directement comme un logarithme.

φ=eθΔt    θ=lnφΔt\varphi = e^{-\theta\Delta t} \;\Longrightarrow\; \theta = -\frac{\ln \varphi}{\Delta t}

Un écart décroît comme eθτe^{-\theta\tau} ; posez cela égal à un demi et résolvez pour la demi-vie. En pratique ajustez la forme en différence ΔSt=a+bSt1+εt\Delta S_t = a + b\,S_{t-1} + \varepsilon_t (donc φ=1+b\varphi = 1+b) ; pour bb petit, la vitesse est approximativement b/Δt-b/\Delta t.

eθτ=12    τ=ln2θ    ln2Δtbe^{-\theta\tau} = \tfrac{1}{2} \;\Longrightarrow\; \tau = \frac{\ln 2}{\theta} \;\approx\; -\frac{\ln 2 \cdot \Delta t}{b}

Qu'est-ce qui tue un trade de paires ? Rupture de régime et encombrement

Deux choses le tuent. Une rupture de régime : la relation de cointégration cesse de tenir (une fusion, un choc sectoriel, un changement de composante) et le spread diverge au lieu de revenir, traversant votre stop. Et l'encombrement : tant de traders chassent le même spread que les écarts se réduisent sous les coûts. Les deux sont la raison pour laquelle le P&L de valeur relative est asymétrique négativement : beaucoup de petits gains, des pertes occasionnelles importantes.

La rupture de régime est le risque de queue. La cointégration est une propriété estimée et historique, pas une loi. Quand le lien économique change (une compagnie aérienne est rachetée, un réseau de paiement perd un partenaire, un indice se reconstitue), le spread qui revenait toujours suit maintenant une tendance. Votre z-score continue de hurler « entrez » tandis que vous saignez. Voilà pourquoi un stop dur et un re-test glissant de la cointégration sont obligatoires, et pourquoi le dimensionnement de position doit survivre au spread qui ne revient pas.

L'encombrement est une érosion de l'alpha. Un spread public attire du capital ; le capital arbitre les écarts plus vite et plus petits (voir capacité & érosion de l'alpha). L'écart brut que vous pouviez autrefois capter se réduit jusqu'à ne plus couvrir les coûts aller-retour sur les deux jambes, ce qui est précisément pourquoi le trade de paires actions classique est mort sur les noms liquides. Par-dessus se superpose l'asymétrie des coûts : chaque trade paie le spread, les frais et l'impact de marché sur deux jambes, deux fois (à l'entrée et à la sortie), et le short ajoute le coût d'emprunt et le risque de rappel. Un spread qui paraît rentable en brut est couramment non rentable en net ; les coûts sont la première chose à modéliser, pas la dernière.

La version systémique : quand de nombreux books de valeur relative à effet de levier détiennent les mêmes spreads et que l'un se désendette, le débouclage forcé déplace chaque spread partagé dans le mauvais sens en même temps. Diversifier sur des paires ne vous protège pas quand les mêmes acteurs les encombrent toutes.
skew[P&L]<0:many small wins    rare large losses (the break)\text{skew}\bigl[\text{P\&L}\bigr] \lt 0:\quad \text{many small wins} \;-\; \text{rare large losses (the break)}

Le cas canonique est le « quant quake » d'août 2007 (Khandani & Lo 2007) : des books neutres aux actions encombrés se sont tous désendettés dans les mêmes noms en même temps, et des portefeuilles soi-disant diversifiés et neutres au marché ont pris des pertes corrélées à deux chiffres en quelques jours. La leçon est que votre vrai risque n'est pas une paire isolée mais la population de traders détenant vos paires.

Exemple travaillé

Un trade de paires sur une paire cointégrée synthétique, en 2026, avec des chiffres illustratifs. La régression de cointégration donne un ratio de couverture β=0.8\beta = 0.8 et une constante proche de zéro, donc le spread est S=PA0.8PBS = P_A - 0.8\,P_B. Sur la fenêtre d'ajustement de 60 jours, le spread a une moyenne μ=0\mu = 0 et un écart-type σ=0.40\sigma = 0.40. L'ajustement AR(1) donne b=0.23b = -0.23 par jour, donc θ0.23\theta \approx 0.23 par jour et la demi-vie est ln2/0.233.0\ln 2 / 0.23 \approx 3.0 jours. Règles : entrer à z2|z| \ge 2, sortir à z=0z = 0, stopper à z3.5|z| \ge 3.5.

Le bon trade. Le spread s'élargit à S=+0.80S = +0.80, donc z=+2.0z = +2.0. Vous vendez 1 A et achetez 0,8 B, shortant le spread. Trois jours plus tard (une demi-vie) le spread revient à S=0S = 0 (z=0z = 0) ; vous débouclez. Le brut est d'environ 0.800.80 par unité de spread, neutre au marché tout du long.

Le contrôle net : quatre franchissements de coût du spread (deux jambes, entrée et sortie) à 0,10 chacun font 0,40 de coût, laissant 0,40 net. Une entrée à z = 1,0 ne brasserait que 0,40 et nettoierait zéro, ce qui est exactement pourquoi chasser plus de trades en abaissant la bande détruit l'avantage.
net=0.80gross4×0.10cost=0.40,at z=1.0:  0.400.40=0.00\text{net} = \underbrace{0.80}_{\text{gross}} - \underbrace{4\times 0.10}_{\text{cost}} = 0.40, \qquad \text{at } z=1.0:\; 0.40 - 0.40 = 0.00

Le mauvais cas. Au lieu de revenir, le spread continue de s'élargir à S=+1.40S = +1.40 (z=3.5z = 3.5) et le stop se déclenche pour une perte d'environ 0.600.60 brut plus les coûts. Un re-test ultérieur montre que le résidu ADF n'est plus stationnaire : la relation s'est rompue (une opération sur titres sur B). Le bon comportement est de cesser de trader la paire, pas de « moyenner à la baisse » : l'asymétrie négative vit exactement ici, et ajouter à un spread rompu est la façon dont une petite perte devient une explosion. L'explorateur en direct IX-COINT ci-dessus vous laisse fixer β\beta, σ\sigma, la vitesse de retour et les bandes de z et lire la demi-vie et le P&L net directement. Les vrais ratios de couverture, volatilités, demi-vies et coûts doivent être mesurés par paire et datés. Ces chiffres sont synthétiques, pédagogiques seulement, et pas un conseil en investissement.

Où cela s'inscrit

Questions fréquentes

Qu'est-ce que le trading de paires ?
Le trading de paires est l'arbitrage statistique le plus simple : trouvez deux instruments dont les prix bougent ensemble (idéalement cointégrés, pas simplement corrélés), et quand leur spread diverge, vendez le cher et achetez le bon marché, en attendant le retour du spread. L'entrée et la sortie sont en général déclenchées par le z-score du spread. L'avantage classique est très concurrencé sur les actions liquides ; la méthode reste un cas d'école propre et survit sur les places plus récentes.