Coûts de transaction

Estimer l'impact

structurel
Revu le 4 juin 2026. En 2026 : un trait permanent du marché, pas un avantage qui s'érode.

Calibrer un modèle d'impact à partir de vos propres exécutions et des données TCA publiques, et les pièges (biais de sélection, changement de régime) qui rendent les estimations naïves flatteuses.

L'idée

Mesurer l'impact : fenêtres et régression schéma annotéDG-IMPACTFIT
Déplacement du mid dans des fenêtres fixes bps mid à l'arrivée (référence) 9 bps 3 bps temporaire, détendu : 6 bps arrivée+5 min+2 h référence pic : temp + perm résidu permanent Régresser sur la racine de volume signée bps Ŷ ≈ 0.9 naïf (surestime) Ŷ ≈ 0.6 contrôlé par le signal (honnête) racine de volume signée, √(Q/V)·σ pente = constante d'impact Y

Ce que montre ce schéma. On estime l'impact en mesurant le déplacement signé du mid depuis la référence d'arrivée dans des fenêtres fixes : le pic à +5 minutes capte l'impact temporaire plus permanent, le résidu à +2 heures isole la part permanente. Régressez ces déplacements sur la racine de volume signée et la pente est votre constante d'impact. Un ajustement naïf (plus raide) facture à votre modèle de coût une dérive que votre signal prévoyait ; contrôler ce signal donne la pente honnête, plus plate.

Comment mesure-t-on l'impact, déjà ?

Vous mesurez l'impact comme un déplacement de prix : le changement d'un prix de référence (le mid) de juste avant que votre ordre ne commence à un point choisi pendant ou après, signé par le sens de votre transaction. Agrégez de nombreuses mesures de ce type et vous pouvez ajuster comment le déplacement croît avec la taille. Mais cela ne marche que si vous définissez d'abord soigneusement vos fenêtres et votre prix de référence.

L'impact est invisible sur une seule transaction, parce que le prix allait bouger de toute façon : du bruit, plus le signal sur lequel vous avez tradé. Il ne devient visible qu'en agrégat, moyenné sur de nombreuses transactions, où les mouvements aléatoires s'annulent et le mouvement systématique, corrélé au sens (l'impact), reste. Toute la procédure est donc bâtie autour de trois primitives : un prix de référence, un déplacement signé, et un ensemble de fenêtres de mesure.

La référence est le mid juste avant l'arrivée de l'ordre ; le déplacement est le changement signé du mid depuis ce point d'arrivée, avec ε=+1\varepsilon = +1 pour les achats et 1-1 pour les ventes pour que les impacts d'achat et de vente s'additionnent au lieu de s'annuler.
d(t)=ε(m(t)m(tarr)),ε{+1,1}d(t) = \varepsilon \cdot \big(m(t) - m(t_{\text{arr}})\big), \qquad \varepsilon \in \{+1, -1\}

Échantillonnez ce déplacement à deux fenêtres. La fenêtre pendant la transaction capture le déplacement de pic : impact temporaire plus permanent ensemble. Une fenêtre de décroissance post-transaction ultérieure (de minutes à heures, selon l'instrument) est prise après que l'impact temporaire s'est largement relâché, laissant le résidu permanent. L'unité d'analyse est le métaordre (une décision parente travaillée en de nombreux ordres enfants), pas l'exécution individuelle : l'impact est une propriété de l'empreinte de l'ordre entier, et la loi en racine carrée sur l'impact de marché est énoncée en termes de métaordres.

Tout ici dépend de connaître le sens des transactions. Les vôtres sont connues, mais pour construire le volume VV et le flux environnant, vous devez en général classer le sens des autres transactions (la règle du tick, ou Lee–Ready 1991), ce qui importe chaque réserve de précision de l'inférence du sens des transactions.

Régresser le déplacement sur le volume signé

Une fois les déplacements collectés, vous ajustez une forme fonctionnelle. Régressez le déplacement mesuré sur la taille signée pour estimer le coefficient : un ajustement linéaire récupère le lambda de Kyle pour les petits ordres ; un ajustement contre le Q/V\sqrt{Q/V} signé récupère la constante de la loi en racine carrée YY. La pente de l'ajustement est votre coefficient d'impact calibré, et la pente de la fenêtre post-transaction est votre coefficient permanent.

Tracez de combien le prix a bougé contre combien vous avez tradé, et ajustez une courbe : droite pour les petits ordres, racine carrée pour les grands. La forme linéaire (Kyle 1985, petits ordres ou la composante permanente) pose le déplacement λ(signed order flow)\approx \lambda \cdot (\text{signed order flow}) ; la pente ajustée λ\lambda est le lambda de Kyle, le plus propre pour le décalage permanent et l'impact marginal d'un ordre unique. La forme racine carrée (Gatheral ; Almgren et al. 2005, grands métaordres) est celle qui alimente le modèle d'impact et Almgren–Chriss.

Régressez le déplacement mesuré sur σεQ/V\sigma\,\varepsilon\,\sqrt{Q/V} ; la pente est la constante d'impact YY. Ajustez la fenêtre pendant la transaction pour l'impact total et la fenêtre post-décroissance pour l'impact permanent ; le temporaire est la différence.
di=YσiεiQi/Vi+noisei,Y^=ixidiixi2d_i = Y \cdot \sigma_i\,\varepsilon_i\,\sqrt{Q_i/V_i} + \text{noise}_i, \qquad \hat{Y} = \frac{\sum_i x_i d_i}{\sum_i x_i^2}

Puis conditionnez la régression. Un seul YY global est un point de départ ; le vrai avantage est l'impact conditionnel, en laissant YY (ou λ\lambda) dépendre de la profondeur du carnet à l'arrivée, du flux signé récent, du spread, de l'heure du jour et du régime de volatilité. C'est là que le ML mérite son écot : une fonction d'impact apprise et dépendante de l'état bat une constante, vous laissant dimensionner plus agressivement quand le carnet est profond et reculer quand il est mince.

Montrer l'estimateur et son erreur standard optionnel

Empilez NN métaordres avec les régresseurs xi=σiεiQi/Vix_i = \sigma_i\,\varepsilon_i\,\sqrt{Q_i/V_i} et la réponse did_i le déplacement signé post-arrivée. Les MCO donnent la pente, et sa variance ne tombe qu'en 1/N1/N dans le nombre d'ordres.

Y^=ixidiixi2,Var(Y^)σnoise2ixi2\hat{Y} = \frac{\sum_i x_i d_i}{\sum_i x_i^2}, \qquad \operatorname{Var}(\hat{Y}) \approx \frac{\sigma_{\text{noise}}^2}{\sum_i x_i^2}

Parce que chaque did_i est dominé par un bruit de prix de taille σ\approx \sigma sur la fenêtre, le rapport signal-sur-bruit par observation est minuscule (l'impact fait quelques points de base ; le bruit de fenêtre fait des dizaines de points de base) si bien que l'erreur standard sur Y^\hat{Y} ne rétrécit qu'en 1/N1/\sqrt{N} et vous avez besoin de très nombreux métaordres pour une estimation serrée.

L'hétéroscédasticité (le bruit croît avec σ\sigma et la longueur de fenêtre) et l'autocorrélation (ordres chevauchants dans le même nom) gonflent les erreurs standard naïves, donc faites du clustering ou du block-bootstrap. L'estimation du coefficient permanent est encore plus bruitée, car elle vit dans la queue à long terme où le bruit accumulé est le plus grand.

Pourquoi estimer l'impact est vraiment difficile

L'estimation de l'impact est difficile parce que l'impact est petit relativement au bruit de prix, et à cause d'un problème d'identification : le prix bouge souvent avec votre transaction pour des raisons que votre transaction n'a pas causées, parce que vous avez tradé sur un signal que d'autres ont aussi suivi. Démêler l'impact-que-vous-avez-causé de la dérive-que-vous-avez-prédite est la difficulté centrale, et les régressions naïves sur-attribuent la dérive à l'impact.

Confusion signal/impact, la grosse. Si vous achetez parce que vous prévoyez que le prix montera, le prix monte en partie parce que vous aviez raison, pas parce que vous avez tradé. Une régression du déplacement sur votre volume signé sur-estime alors l'impact, facturant à votre modèle de coût des mouvements que votre alpha a produits. Atténuations : mesurer sur le flux non informé quand il est disponible (ordres d'exécution seule sans alpha), inclure le signal comme contrôle, ou utiliser le résidu permanent post-décroissance, qui isole mieux l'information que votre ordre a divulguée du mouvement plus large.

Signal minuscule, bruit énorme. L'impact fait quelques points de base ; le mid erre de dizaines de points de base sur toute fenêtre de décroissance. L'estimateur ne marche qu'en agrégat et converge en 1/N1/\sqrt{N}, si bien que les petits desks manquent simplement du nombre de transactions pour un YY serré, ce qui est en soi une raison pour laquelle les données sont précieuses. Endogénéité de la taille et du timing. Les traders avisés tradent plus quand la liquidité est profonde, donc la taille est corrélée aux conditions mêmes qui réduisent l'impact, biaisant un ajustement naïf vers un impact plus bas que celui que vous paierez réellement quand vous serez forcé de trader en mauvaises conditions.

L'erreur de sens des transactions de Lee–Ready ou de la règle du tick (quelques pour cent des transactions) se propage dans les régresseurs ; voir inférence du sens des transactions. Dépendance au régime : YY et λ\lambda dérivent avec le régime de volatilité, les changements de taille de tick et la structure de place, si bien qu'un coefficient ajusté sur les données de l'an dernier peut être faux aujourd'hui ; datez votre calibration et réajustez. Et l'impact croisé : dans des instruments corrélés, trader l'un bouge les autres ; un modèle mono-nom le manque, et la matrice d'impact croisé est bien plus difficile à estimer (plus de paramètres, les mêmes données bruitées).

Quelles données il vous faut pour faire cela

Pour estimer l'impact, il vous faut vos propres exécutions horodatées et alignées sur l'état du carnet à l'exécution, le flux transactions-et-cotations autour de chaque ordre pour calculer le déplacement et le mid de référence, et assez de métaordres pour que l'estimateur en 1/N1/\sqrt{N} converge. Des données de carnet propres et reconstructibles avec des sens de transactions fiables sont la contrainte qui mord, et la ressource que la plupart des gens ne peuvent obtenir proprement.

Le jeu de données minimal viable est : vos exécutions, chacune avec horodatage de place, sens, taille et prix, alignées au mid à l'arrivée et à chaque fenêtre de décroissance ; cotations TAQ / L2 autour de chaque ordre pour reconstruire le mid de référence et la trajectoire de décroissance post-transaction (idéalement L3/MBO pour contrôler la profondeur du carnet, la meilleure feature de conditionnement) ; volume signé pour VV, c'est-à-dire un classificateur de sens de transaction et son budget d'erreur à moins d'avoir des données de sens natives ; et une volatilité σ\sigma propre par instrument et par fenêtre, en gardant à l'esprit que le rebond bid-ask gonfle le σ\sigma naïf.

C'est exactement là que les guides de coûts rencontrent les guides de données HF : comment le flux est enregistré vit là. La note honnête de 2026 : c'est l'étape où de bonnes données sont un avantage durable. Le modèle est public ; la calibration est privée, et la calibration privée ne vaut que ce que valent les données alignées derrière. La plupart des données publiques ou particulières ne peuvent récupérer l'état du carnet à votre exécution, ce qui est pourquoi cette estimation est si difficile à bien faire hors d'un desk.

Exemple travaillé

Une calibration au dos d'une enveloppe, à titre d'illustration et en 2026, pour montrer la forme de la procédure, pas un vrai ajustement. Collectez 2 000 de vos propres métaordres achat/vente dans un nom liquide de volume quotidien V=5,000,000V = 5{,}000{,}000 actions, volatilité quotidienne σ=150\sigma = 150 bps et prix 50 $. Pour chacun, enregistrez le Q/V\sqrt{Q/V} signé et le déplacement signé du mid depuis l'arrivée, échantillonné à +5 minutes (pic, temporaire plus permanent) et +2 heures (le résidu permanent).

Ajustez l'impact total sur la fenêtre +5 minutes. Supposons que la pente ressorte Y^0.6\hat{Y} \approx 0.6. Vérification de bon sens contre l'impact de marché : un ordre à 1 % du volume a 0.01=0.10\sqrt{0.01} = 0.10, donc il coûte environ 0.6×150×0.10=90.6 \times 150 \times 0.10 = 9 bps, dans le bon ordre de grandeur.

Impact total calibré, et la séparation permanente à partir du résidu à +2 heures : environ un tiers des 9 bps est permanent (le marché l'a gardé) ; le reste était temporaire et s'est relâché.
I0.6σQ/V=9 bps;Y^perm0.2    3 bps perm,  6 bps temp\mathcal{I} \approx 0.6\,\sigma\,\sqrt{Q/V} = 9\ \text{bps}; \quad \hat{Y}_{\text{perm}} \approx 0.2 \;\Rightarrow\; 3\ \text{bps perm}, \; 6\ \text{bps temp}

Maintenant le contrôle de réalité de l'erreur standard. Le bruit de fenêtre par ordre fait environ σ\sigma sur 5 minutes, 5/390×15017\sqrt{5/390}\times 150 \approx 17 bps, contre un vrai signal d'environ 9 bps : un signal-sur-bruit par observation d'environ 0,5. Sur N=2,000N = 2{,}000 ordres, l'erreur standard sur Y^\hat{Y} est d'environ 17/(x2000)17 / (\overline{|x|}\,\sqrt{2000}), assez large pour que vous deviez rapporter un intervalle de confiance sur YY, pas une estimation ponctuelle, et réajuster à mesure que plus d'ordres s'accumulent.

La conclusion honnête : votre modèle de coût calibré est I(bps)0.6σQ/V\mathcal{I}(\text{bps}) \approx 0.6\,\sigma\,\sqrt{Q/V} avec environ un tiers permanent, mais avec une grosse barre d'erreur, conditionnel à ce régime, et seulement aussi fiable que votre alignement des exécutions au carnet et votre contrôle de l'alpha qui a motivé les transactions. Une estimation d'impact plus nette est, directement, une capacité sûre plus élevée. Les chiffres sont synthétiques ; la procédure (fenêtres, puis régression sur le \sqrt{}-volume signé, puis séparer le temporaire du permanent, puis borner l'erreur, puis conditionner sur l'état du carnet) est la partie transférable.

Où cela s'inscrit