Insights & News

Blog

Exploration approfondie du trading par IA, de l'analyse de marché et de l'avenir de la DeFi.

Browse collections →
Filter by tag:
July 2, 2026
#trading algorithmique

La taxe du framework : quand votre bibliothèque de backtest est plus lente qu'une boucle pandas naïve

Nous avons évalué huit moteurs de backtest sur un même balayage de paramètres identique — 150k barres, 80 combinaisons de croisements HMA, avec une parité du nombre de trades verrouillée à 2707. Deux des frameworks événementiels les plus populaires se sont révélés plus lents qu'une boucle pandas écrite à la main, tandis qu'un moteur vectorisé/compilé exécutait le même travail environ 13 000× plus vite. Une étude du surcoût par barre que les bibliothèques populaires n'ont jamais été conçues pour amortir.

#trading algorithmique#backtest#performance
Lire l'article →
July 1, 2026
#algotrading

La Probability of Backtest Overfitting : votre recherche a-t-elle battu un pile ou face ?

Le Deflated Sharpe Ratio évalue la stratégie gagnante ; PBO évalue la recherche qui l'a choisie. Combinatorially Symmetric Cross-Validation exécute C(16,8) = 12 870 découpages train/test sur une matrice de performance 1000x200 et demande : le gagnant in-sample atterrit-il dans la moitié inférieure hors échantillon ? Le piège que presque tout le monde manque — la valeur nulle de PBO est 0.5, pas 1. Sur 200 stratégies sans edge, le meilleur Sharpe annualisé in-sample de 1.98 s'effondre à 0.06 hors échantillon et PBO = 0.476 : un pile ou face, surajustement complet. Plantez un edge réel (Sharpe annualisé 2.38) et PBO chute à 0.001, le 3.73 in-sample survivant à un 2.34 hors échantillon. Une grille de moyennes mobiles sur une marche aléatoire pure n'a pas non plus de compétence hors échantillon — PBO 0.463 en moyenne sur 60 matrices, statistiquement indiscernable du nul — et sur une matrice représentative le mirage est frappant : un meilleur Sharpe in-sample de 2.33 s'effondre à une médiane hors échantillon de -0.22, PBO 0.573, 63 % de chances de perte.

#algotrading#backtest#overfitting
Lire l'article →
June 30, 2026
#algotrading

La taxe IPC : mettez le moteur de backtest derrière un socket et perdez 13% — presque rien de tout cela n'est dû au socket

Nous avons porté un noyau de backtest numba ligne par ligne vers Rust et l'avons appelé à travers une frontière de processus de quatre façons, avec une porte d'équivalence confirmant un PnL identique jusqu'au dernier trade. Envoyer l'intégralité de la série de prix de 1,2 Mo via un socket Unix coûte ~2 ms — environ 0,1% du travail. Encoder la même charge utile en JSON coûte 1348 fois plus que les octets bruts, les appels bavards par combinaison réexpédient les données 80 fois, et un schéma d'appel par bougie paierait 2,1 s d'IPC pure sur une tâche de 2,0 s. La frontière est bon marché ; la taxe réside dans la façon dont on la traverse.

#algotrading#backtest#performance
Lire l'article →
June 29, 2026
#algotrading

Le Deflated Sharpe Ratio : combien de vos 'gagnants' de backtest survivent aux tests multiples ?

Une recherche de paramètres est une machine à fabriquer de la chance. Sur du pur bruit — 1 000 stratégies à edge réel nul — le meilleur Sharpe annualisé atteint en moyenne 1,63 et le test de significativité naïf signale une découverte 100 % du temps. Nous construisons une vérité terrain contrôlée et montrons que le Deflated Sharpe Ratio, la coupe de cheveux de Harvey-Liu et le Reality Check de White restaurent l'honnêteté : les fausses découvertes chutent de 1,000 à 0,001-0,057, les edges véritables au-dessus du plafond de bruit sont conservés avec une puissance ~1 — et un piège bien réel (les grilles corrélées) où le DSR brut sur-déflate et où le verdict doit se lire sur toute une bande d'estimations du nombre effectif d'essais, pas sur un seul chiffre.

#algotrading#backtest#overfitting
Lire l'article →
June 28, 2026
#algotrading

Conception de la fonction objectif : la métrique que vous optimisez choisit secrètement votre stratégie

Pour chercher la 'meilleure' stratégie, il faut d'abord définir 'meilleure' — et ce scalaire choisit silencieusement le gagnant. Sur des données synthétiques avec un edge connu (600 seeds, T=2000, 80 seuils), un Sharpe par trade naïf couronne une loterie : il choisit un gagnant à moins de 5% d'exposition dans 56% des seeds et dégénère dans 57% des cas — sur le seed le plus extrême, 8 trades affichent un Sharpe in-sample de 21.09 qui s'effondre à 0.13 hors échantillon. La réparation honnête est presque banale : mesurer sur la timeline complète, qui ne dégénère jamais (hors échantillon 1.71). Un shrinkage par nombre de trades (conf_k) et un plancher d'exposition peuvent réparer une métrique par trade, mais même entièrement corrigés, ils ne font qu'égaler le Sharpe pleine timeline (1.70 contre 1.71) — jamais le dépasser. La loi de Goodhart, dans un backtest, avec une vérité terrain contrôlée.

#algotrading#backtest#overfitting
Lire l'article →
June 27, 2026
#algotrading

Look-Ahead Bias : comment une erreur d'une bougie fabrique un Sharpe de 15 à partir de pur bruit

Une étude contrôlée des fuites subtiles de look-ahead qui gonflent silencieusement les backtests. Sans aucun edge réel, une exécution sur la même bougie fabrique un Sharpe annualisé de +14,8 à partir de pur bruit ; un coup d'œil d'un indicateur une bougie en avance, +4,8. La taxonomie, les magnitudes mesurées, et comment détecter chaque fuite avant qu'elle ne vous coûte de l'argent.

#algotrading#backtest#look-ahead bias
Lire l'article →
June 26, 2026
#algotrading

L'échelle de vitesse du backtest : 298x sur le CPU d'un portable, PnL identique jusqu'au dernier trade

Cinq implémentations du même balayage de 80 combinaisons de paramètres, toutes vérifiées pour produire un PnL identique : pandas rolling.apply prend 69,9 secondes, numpy 3,1, numba 2,0, numba parallèle 0,23 — une accélération mesurée de 298x sur un Apple M2 Max sans aucun changement matériel, et encore ~13x par rapport à une base vectorisée compétente. Ce que chaque échelon apporte, pourquoi un GPU n'est pas la pièce manquante, et où se situe le vrai goulot d'étranglement dans la recherche massive de paramètres.

#algotrading#backtest#performance
Lire l'article →