Un track record de trading IA peut-il être vérifié ?
Les six preuves à exiger pour vérifier un track record de trading avec une IA, du benchmark aux coûts, et éviter de confondre un trimestre favorable avec une preuve.
Un track record de trading piloté par l’IA est vérifiable lorsqu’un tiers peut le reconstituer à partir de documents qui existaient avant les résultats. Très peu de contenus publiés en ligne satisfont ce critère. Voici la checklist qu’un lecteur peut appliquer en environ deux minutes, avec des données de marché pour quatre éléments : le benchmark, les timestamps, les coûts de trading et la longueur de l’échantillon.
Qu’est-ce qui rend un track record de trading piloté par l’IA vérifiable ?
Six critères. Chacun peut être contrôlé objectivement.
- Des entrées publiées avant que le résultat soit connu. Le timestamp doit se trouver dans un emplacement que l’auteur ne peut pas réécrire, par exemple un commit poussé au moment de l’opération ou un relevé de broker. Un fichier qui liste des trades passés constitue une déclaration sur le passé, pas une preuve de ce qui s’est réellement produit.
- Un benchmark unique, désigné au départ et jamais modifié. « Surperformer le marché » ne signifie rien tant que la comparaison n’est pas rattachée à un fonds précis sur une période précise.
- Les coûts inclus dans les chiffres publiés. Commissions, frais réglementaires, coût d’emprunt des positions short et spread payé à l’entrée comme à la sortie.
- Un runbook versionné, et non édité a posteriori. Lorsqu’un dépôt public étaye le track record, le lien utile pointe vers une release taguée ou un hash de commit. Un lien vers la branche par défaut montre la stratégie actuelle, qui n’est peut-être pas celle qui a tradé en mars.
- Toutes les positions et tous les comptes, y compris les perdants. Publier un seul compte sur cinq en activité relève d’une sélection.
- Un capital de départ suffisamment élevé pour que les exécutions soient plausibles. Quelques centaines de dollars de notionnel peuvent « détenir » des positions qu’aucun ordre réel n’aurait exécutées au prix affiché.
L’absence de l’un de ces éléments ne signifie pas automatiquement que le track record est malhonnête. Il est invérifiable, ce qui est plus fréquent et tout aussi inutile pour le lecteur.
Pourquoi le benchmark doit être désigné à l’avance
Choisir un benchmark après la publication des résultats constitue l’avantage le moins coûteux de la finance. Six fonds indiciels américains larges, sur les mêmes six mois de 2026, en variation de cours uniquement :
Le SQL exact derrière chaque chiffre
WITH rets AS (
SELECT ticker,
round(100 * (toFloat64(argMax(close, window_start))
/ toFloat64(argMin(close, window_start)) - 1), 2) AS return_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'QQQ', 'IWM', 'DIA', 'RSP', 'MDY')
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-02')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker
)
SELECT ticker,
return_pct,
round(return_pct - min(return_pct) OVER (), 2) AS points_above_worst
FROM rets
ORDER BY return_pct DESCIWM a affiché une performance de 21.12% et DIA une performance de 8.42%, soit un écart de 12.7 points entre le meilleur et le moins bon des 6 sur une période identique. Choisir celui contre lequel mesurer la performance après la clôture de la période revient à s’attribuer tout cet écart, sans qu’aucune stratégie n’ait besoin de faire quoi que ce soit. Il s’agit de performances de cours avant dividendes. Une seconde règle de mesure mérite d’être précisée à l’avance (comment sont mesurées les performances mensuelles détaille le calcul en total return).
Pourquoi le timestamp d’entrée constitue toute la preuve
Une entrée qui apparaît après le mouvement décrit un graphique. L’amplitude parcourue par un marché au cours d’une séance est suffisamment large pour que la différence entre « publié à 09 h 35 » et « publié à 15 h 55 » dépasse la plupart des avantages revendiqués. Voici cette amplitude, mesurée depuis le premier print de chaque séance, sur le premier semestre 2026 :
Le SQL exact derrière chaque chiffre
WITH minute_px AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
toTimeZone(window_start, 'America/New_York') AS et,
toFloat64(close) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2026-01-02')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
),
opens AS (
SELECT session_date, argMin(px, et) AS open_px
FROM minute_px
GROUP BY session_date
),
buckets AS (
SELECT session_date,
toStartOfInterval(et, INTERVAL 30 MINUTE) AS bucket,
argMax(px, et) AS bucket_px
FROM minute_px
GROUP BY session_date, bucket
)
SELECT formatDateTime(b.bucket, '%H:%i') AS et_time,
count() AS session_count,
round(quantileDeterministic(0.5)(abs(100 * (b.bucket_px / o.open_px - 1)),
cityHash64(b.session_date)), 3) AS median_abs_move_pct
FROM buckets AS b
INNER JOIN opens AS o ON b.session_date = o.session_date
GROUP BY et_time
ORDER BY et_timeDans le compartiment 09:30 ET, la séance médiane s’est terminée à 0.216% de son premier print. Dans le compartiment 15:30, cette distance médiane était de 0.415%. Tout ce qu’un agent savait à l’ouverture exclut presque toute cette amplitude. Un historique de commits ou un flux public daté apporte la preuve de l’ordre chronologique (les rapports quotidiens de recherche de marché par IA reposent sur la même propriété). Une capture d’écran d’une courbe de valeur n’en apporte aucune.
Ce qui doit figurer dans les chiffres
Les performances brutes décrivent un portefeuille que personne n’aurait pu détenir. Chaque entrée et chaque sortie traverse le bid-ask spread, c’est-à-dire l’écart entre le meilleur prix d’achat et le meilleur prix de vente. Cet écart n’est pas le même pour toutes les valeurs :
Le SQL exact derrière chaque chiffre
SELECT ticker,
round(quantileDeterministic(0.5)(20000 * (toFloat64(ask_price) - toFloat64(bid_price))
/ (toFloat64(ask_price) + toFloat64(bid_price)),
cityHash64(sip_timestamp)), 2) AS median_spread_bps,
round(25000 * quantileDeterministic(0.5)(2 * (toFloat64(ask_price) - toFloat64(bid_price))
/ (toFloat64(ask_price) + toFloat64(bid_price)),
cityHash64(sip_timestamp)), 2) AS round_trip_cost_per_25k_usd
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO', 'MSTR')
AND sip_timestamp >= toDateTime('2026-07-15 15:00:00')
AND sip_timestamp < toDateTime('2026-07-15 16:00:00')
AND bid_price > 1
AND ask_price > bid_price
GROUP BY ticker
ORDER BY median_spread_bps DESCSur cette seule heure de milieu de séance, le spread coté médian s’est établi à 10.08 points de base sur MSTR, contre 0.27 sur SPY. Un point de base correspond à un centième de point de pourcentage. Sur une position de 25 000 dollars, traverser ce spread une fois dans chaque sens coûte $25.2 dans le cas le plus large de cette liste et $0.66 dans le cas le plus serré, avant les commissions. Un portefeuille entièrement renouvelé une fois par semaine paie ce coût environ fifty fois par an. Un track record qui l’omet s’attribue discrètement ces dollars (ce que coûte le trading d’une action détaille le reste de la facture).
Au bout de combien de temps les résultats live deviennent-ils significatifs ?
Un trimestre de trading live constitue un tirage parmi une distribution large, et cette largeur se mesure. Toutes les fenêtres glissantes d’une durée donnée depuis janvier 2015 pour SPY, le plus grand fonds répliquant le S&P 500, classées par percentiles :
Le SQL exact derrière chaque chiffre
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
toFloat64(argMax(close, window_start)) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2015-01-02')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY session_date
),
series AS (
SELECT groupArray(close_px) AS px
FROM (SELECT close_px FROM daily ORDER BY session_date)
),
horizons AS (
SELECT arrayJoin([21, 63, 126, 252]) AS sessions, px
FROM series
),
windows AS (
SELECT sessions,
arrayJoin(arrayMap(i -> (i, 100 * (px[i + sessions] / px[i] - 1)),
range(1, length(px) - sessions + 1))) AS w
FROM horizons
),
measured AS (
SELECT sessions,
w.1 AS window_index,
w.2 AS window_return_pct
FROM windows
)
SELECT multiIf(sessions = 21, '1 month',
sessions = 63, '3 months',
sessions = 126, '6 months',
'12 months') AS holding_period,
count() AS window_count,
round(quantileDeterministic(0.05)(window_return_pct,
cityHash64(window_index * 1000 + sessions)), 1) AS p05_return_pct,
round(quantileDeterministic(0.50)(window_return_pct,
cityHash64(window_index * 1000 + sessions)), 1) AS median_return_pct,
round(quantileDeterministic(0.95)(window_return_pct,
cityHash64(window_index * 1000 + sessions)), 1) AS p95_return_pct,
round(quantileDeterministic(0.95)(window_return_pct,
cityHash64(window_index * 1000 + sessions))
- quantileDeterministic(0.05)(window_return_pct,
cityHash64(window_index * 1000 + sessions)), 1) AS spread_pct,
round(stddevSamp(window_return_pct), 1) AS stdev_pct
FROM measured
GROUP BY sessions
ORDER BY sessionsSur 2826 fenêtres glissantes de trois mois, la performance médiane d’une stratégie consistant à conserver la position sans intervenir était de 3.9%. Le 5e percentile s’établissait à -8.8% et le 95e à 12.2%, soit une fourchette de 21.1 points. Tout résultat trimestriel situé dans cette fourchette est compatible avec le fait de détenir l’indice et de partir en vacances. Lancez twenty agents, faites-les fonctionner pendant un trimestre, puis publiez le meilleur : le chiffre affiché provient mécaniquement du haut d’une fourchette de ce type.
Le calcul lié à la longueur de l’échantillon est sans appel. Les performances sur 12 mois de la même série présentent un écart type de 13.6 points. Distinguer un avantage réel du bruit nécessite environ (2 × variation ÷ avantage)² années de résultats live. Avec ce niveau de variation, un avantage hypothétique de 3 points par an exige plusieurs décennies, et même un avantage de 10 points nécessite des années plutôt que des mois. Les fenêtres ci-dessus se chevauchent. 2826 désigne donc le nombre de fenêtres, et non le nombre d’échantillons indépendants.
25 000 dollars réels suffisent-ils à trancher ?
L’argent réel améliore la qualité de la preuve d’une manière précise. Le paper trading exécute les ordres à des prix qu’aucune contrepartie n’a acceptés et ne voit jamais un ordre rejeté. Un compte doté de 25 000 dollars exécute les ordres contre des cotations live et paie de vraies commissions. Les relevés peuvent être audités par un tiers, et la taille des positions est suffisante pour que les exécutions soient ordinaires plutôt qu’imaginaires.
Cela ne résout pas le problème de l’échantillon. 25 000 dollars tradés pendant quatre mois restent un seul tirage parmi la distribution ci-dessus. Un compte live peut aussi être clôturé après un drawdown, puis rouvert avec un track record qui recommence à zéro. La taille rend les exécutions crédibles. Seul le temps rend les résultats informatifs.
Quatre biais à reconnaître
- Un backtest qui se fait passer pour un track record. Des résultats simulés sur des données passées sont des hypothèses sur le passé. Le look-ahead bias montre comment une simulation peut intégrer des informations que la stratégie ne pouvait pas connaître à l’époque. Le signal le plus évident est une courbe de valeur qui commence des années avant le code.
- Le seul survivant sous les projecteurs. Ten agents sont lancés, un seul est publié. Les systèmes de trading multi-agents par IA facilitent cette situation par inadvertance, puisque le framework qui exécute dix variantes sélectionne aussi celle qui mérite d’être présentée.
- Le redémarrage. Un drawdown, une interruption, un nouveau compte et une courbe qui commence à la date du redémarrage. La question qui tranche est simple : montrez la courbe de valeur depuis le premier dollar du premier compte.
- Le runbook réécrit. Prompts et limites de position modifiés entre le trade et la publication. Les facteurs alpha générés par les LLM peuvent être produits par milliers. La règle de sélection doit donc être publiée avant la sélection. Sinon, le track record devient une histoire sur les facteurs qui ont par hasard fonctionné.
FAQ
Un track record de trading piloté par l’IA peut-il être vérifié ?
Oui, si les entrées ont été publiées avant que leurs résultats soient connus, si le benchmark a été fixé à l’avance, si les coûts sont inclus dans les chiffres et si tous les comptes sont présentés. Le contrôle est mécanique et prend quelques minutes. La plupart des track records publiés échouent dès le premier critère.
Combien de temps un track record de trading IA doit-il fonctionner en live ?
Plus longtemps que presque tous les track records publiés. Les performances sur 12 mois de l’indice présentaient un écart type de 13.6 points sur les fenêtres mesurées ici. Distinguer un avantage modeste de la chance avec un niveau de confiance conventionnel nécessite donc plusieurs années au minimum, et plusieurs décennies dans le cas d’un faible avantage.
25 000 dollars suffisent-ils pour rendre les résultats d’un portefeuille IA significatifs ?
Cette somme suffit à rendre les exécutions réelles : cotations live, commissions réelles et relevés auditables. Elle ne suffit pas à rendre statistiquement significatifs des résultats obtenus en quelques mois. La question dépend du temps écoulé, pas de la taille du compte.
Quelle est la différence entre un backtest et un track record ?
Un backtest applique des règles à des données déjà disponibles. Un track record est une série de décisions publiées avant leurs résultats. Seul le second peut être invalidé par ce qui se produit ensuite, ce qui en fait une preuve.
Pourquoi le choix du benchmark est-il si important ?
Sur le premier semestre 2026, les six fonds indiciels ci-dessus ont terminé avec un écart de 12.7 points sur la seule variation de cours. Un benchmark sélectionné après la clôture de la période peut fournir toute cette marge, sans qu’aucune stratégie n’intervienne.
Tous les chiffres de cette page proviennent d’une requête enregistrée sur des données de marché, et le SQL figure sous chaque panneau. Appliquez les mêmes fenêtres à vos propres dates sur le terminal Strasmore.