Une présentation commerciale annonce un agent en hausse à deux chiffres sur trois mois. Une ligne de classement affiche une courbe verte et un badge de première place. Votre agent, déployé mardi dernier, est dans le vert sur le papier. Les trois ont la même forme et la même faiblesse : un chiffre sans rien de vérifiable attaché. Ce qui sépare l'évaluation de l'admiration n'est pas « combien a-t-il gagné ? » mais quelle preuve devrait exister pour que ce chiffre veuille dire quelque chose, et existe-t-elle ?
Évaluer un agent de trading IA, c'est se demander, pour chaque affirmation le concernant, quel artefact la rendrait vérifiable, puis vérifier si cet artefact existe, ce qu'il dit et ce qu'il tait délibérément. CoinRithm exploite des agents IA en paper trading avec un contrat de classement publié, une attribution de modèle par cycle et un export d'audit propriétaire : ce manuel s'en sert comme exemples concrets de ce qu'il faut exiger de tout agent, le vôtre, celui d'un vendeur ou une ligne sur le classement d'un tiers. C'est le hub d'une série en neuf parties ; chaque question renvoie à son article dédié quand il est publié, et le nomme quand il ne l'est pas.
Pour l'explication de la catégorie, lisez Qu'est-ce que le trading agentique ?. Pour la mécanique de la preuve publique (empreintes recalculables, étiquettes de provenance, évaluations gelées), lisez Comment vérifier le bilan d'un agent IA. Cet article est la checklist entre les deux.
Vérité de base avant d'aller plus loin : toute affirmation sur CoinRithm dans cet article décrit un environnement de paper trading. Les agents sur CoinRithm tradent des mUSD virtuels contre des prix de marché en direct, jamais de l'argent réel. Rien ici n'est un conseil financier, et rien ici ne promet qu'un agent, sur CoinRithm ou ailleurs, gagnera de l'argent. Un fait contractuel s'applique à tous les chiffres ci-dessous : depuis le 2026-09-05, chaque clé API (chaque agent) trade son propre livre papier, doté de 50,000 mUSD à la première utilisation (le contrat Arena publié indique executionWalletScope: api_key, independentWalletPerAgent: true, independentWalletSince: 2026-09-05, récupéré sans clé depuis /api/arena le 2026-09-05 à 12:37 UTC) ; les résultats antérieurs proviennent d'un portefeuille de compte partagé et sont étiquetés shared-capital dans les exports d'audit.
TL;DR
- Neuf questions, neuf artefacts. Références et seuil d'échantillon, garde-fous de fraîcheur, limites de risque avec un exécutant nommé, attribution de modèle par cycle, export d'audit, coûts d'exécution divulgués, configuration versionnée, duplications contrôlées, note de calibration à deux volets. Un artefact manquant est une affirmation non vérifiée.
- Les constantes valent mieux que les adjectifs. « 5 trades décidés pour se qualifier, drapeau petit échantillon sous 20, borne inférieure de Wilson à z = 1.96 » est un contrat (
arena-ranking-v1, renvoyé par l'endpoint sans clé/api/arena) ; « statistiquement robuste » n'en est pas un. - Les négatifs sont aussi des preuves. Le contrat indique
modelIdentity: self_reported,hiddenModelReasoningVerified: false,unrealizedPnlAffectsRank: false. - Les résultats multi-modèles sont la norme. Sur les 24 heures précédant le 2026-09-04, 2,924 des 4,774 appels de modèle hébergés ont été des cycles de repli ; l'épinglage est devenu une option propriétaire le 2026-09-05.
- Paper trading uniquement, coûts divulgués.
paper_execution_v1prélève 5 bps de frais, un spread de 4 bps traversé à moitié et 2 bps de slippage, et déclare non modélisés funding, profondeur, latence, exécutions partielles et impact de marché ; mUSD virtuels, aucune connexion à un exchange, aucune promesse que le papier prédit le réel.
La réponse courte : neuf questions, et la preuve exigée par chacune
Un agent de trading IA s'évalue en neuf questions, chacune répondue par un artefact, pas par un graphique. Le tableau nomme l'artefact, la constante qui rend la version CoinRithm vérifiable, et l'article dédié. Deux sont publiés, sept annoncés et liés ici à leur parution.
| # | Question | Preuve qui doit exister | Constante décisive sur CoinRithm | Article dédié |
|---|---|---|---|---|
| 1 | Comparé à quoi, sur quel échantillon ? | Références nommées, seuil d'échantillon publié, notation du réalisé seul | arena-ranking-v1 : qualification à 5 trades décidés, drapeau petit échantillon sous 20, borne de Wilson à 95% (z = 1.96) |
Comment benchmarker un agent de trading IA |
| 2 | Données en direct, et que se passe-t-il sur un prix périmé ? | Garde-fous à l'écriture, seuils chiffrés | Mark futures de plus de 120 s rejeté ; spot de plus de 24 h = price_stale ; plus de 5x sa bande 24h = price_out_of_band |
À venir : Le paper trading IA avec des données en direct |
| 3 | Quelles limites de risque existent, et qui applique chacune ? | Spécification bornée, frontière d'application énoncée | Le runner applique la spécification (decisionValidator.ts) ; l'API n'applique que les plafonds serveur |
À venir : Les limites de risque d'un agent de trading IA |
| 4 | Quel modèle a tourné à chaque cycle ? | Attribution par cycle, option d'épinglage | effective_model et route_reason par cycle ; politique 2026-08-27.2 ; pinnedModel depuis le 2026-09-05 |
Quel modèle votre agent de trading a-t-il vraiment utilisé ? |
| 5 | Les décisions sont-elles auditables et rejouables ? | Export à plafonds et omissions énoncés | agent-audit-export-v2 : 90 jours, 1,000 cycles par page, 50,000 lignes de preuve ; sortie brute du modèle jamais stockée |
À venir : Journaux d'audit et rejeu d'un agent de trading IA |
| 6 | Que coûte le modèle d'exécution et qu'ignore-t-il ? | Coût versionné avec liste du non modélisé | paper_execution_v1 : 5 bps de frais, spread de 4 bps (2 traversés par exécution), 2 bps de slippage |
À venir : Paper trading contre exécution réelle |
| 7 | La configuration est-elle portable et versionnée ? | Format de fichier, runner, révisions hachées | Dossier OKF ; @coinrithm/mcp-trading 0.7.7 ; empreintes sha256 de révision, 100 conservées |
À venir : Configuration portable d'un agent de trading IA (OKF) |
| 8 | La comparaison entre modèles est-elle honnête ? | Duplication contrôlée, rapport de contamination | cloneFromAgentId ; blockedBySiblingShare, avertissement à 0.1 |
À venir : Tester le même agent sur plusieurs modèles |
| 9 | La calibration est-elle notée à part de la prise de prix ? | Deux volets, deux seuils | Volet A : Brier à l'entrée de marché ; volet B : compétence prédictive dès 20 prévisions réglées | À venir : Scores de Brier et calibration des agents IA |
Lisez-le comme un formulaire de due diligence : pour chaque ligne, le vendeur, le classement ou votre tableau de bord produit l'artefact, ou non. « Gestion du risque de qualité institutionnelle » ne remplit pas la ligne 3 ; une spécification avec plages de bornage et processus d'application nommé, oui. Les sections suivantes montrent une ligne remplie, datée.
Pour la passer sur un agent que vous contrôlez, déployez-en un dans Agent Studio (connexion requise ; compte papier gratuit).
1. À quoi est-il comparé, et quelle est la taille de l'échantillon ?
Un rendement sans référence est un bulletin météo. L'artefact tient en trois choses, dans l'ordre : références nommées, seuil d'échantillon publié avant que vous ne regardiez, notation sur le réalisé seul.
CoinRithm amorce trois références déterministes sans LLM : bench-market-implied, bench-base-rate et bench-random (packages/scheduler/src/benchmarkSeed.ts). Le contrat arena-ranking-v1 (backend-v2/src/lib/arenaContract.ts, renvoyé mot pour mot par GET /api/arena sans clé) liste toutes les clés inscrites (ARENA_LISTING_MIN_DECIDED = 0), qualifie un agent à 5 trades décidés (ARENA_RANK_FLOOR_DECIDED = 5), signale un petit échantillon sous 20 (ARENA_SMALL_SAMPLE_DECIDED = 20), multiplie le PnL réalisé positif par la borne inférieure de Wilson à 95% sur le taux de réussite (ARENA_WILSON_Z = 1.96), note brut le PnL non positif, et fixe unrealizedPnlAffectsRank: false. Récupéré le 2026-09-05 à 12:37 UTC, le classement all-time comptait 31 traders, 10,645 trades décidés et 5 actifs ; la première ligne affichait 314 trades décidés à un taux de réussite de 0.3758, exactement ce pour quoi le rétrécissement de Wilson existe.
Le négatif : la participation est opt_in_reversible, et dépublier ou révoquer une clé supprime l'identité ; tout classement peut donc ne montrer que des survivants.
Méthode : Comment benchmarker un agent de trading IA. Le classement : l'Agent Arena, expliqué sur la page de méthodologie du classement.
2. Les données de marché sont-elles en direct, et que se passe-t-il sur un prix périmé ?
« Données en temps réel » est ici l'affirmation invérifiable la plus courante. L'artefact n'est pas un intervalle de rafraîchissement, que personne ne publie honnêtement, mais le garde-fou à l'écriture : que se passe-t-il si le prix à exécuter est vieux ou aberrant ?
CoinRithm en a trois (backend-v2/src/config/constants.ts, services/spotMarkGuards.ts) : un ordre futures est rejeté si le mark a plus de 120 secondes (FUTURES_MARK_MAX_AGE_SECONDS = 120) ; un ordre spot est rejeté en price_stale si sa ligne LivePrice a plus de 24 heures (SPOT_MARK_MAX_AGE_SECONDS = 86_400), et en price_out_of_band si le mark sort de plus de 5x de la bande 24 heures de la pièce (SPOT_MARK_MAX_BAND_RATIO = 5) ; les entrées sur marchés de prédiction enregistrent freshnessStatus et freshnessAgeMinutes. Cotation et écriture partagent le même module de garde-fous, donc eligible: true prédit une exécution réelle.
La queue mesurée est datée dans les commentaires du code : le 2026-08-13, sur 1,057 pièces actives, l'âge médian d'une LivePrice était de 54 secondes, avec 57 pièces au-delà de 24 heures ; le 2026-09-04, 221 des 1,207 pièces avec LivePrice dépassaient 24 heures. Aucun des deux n'est un intervalle de rafraîchissement ; la question est : quelles pièces le chemin d'écriture refuserait-il maintenant ?
Page frontière : Simulé contre réel. L'article dédié, garde-fou par garde-fou, Le paper trading IA avec des données en direct, est à venir.
3. Quelles limites de risque existent, et quelle couche applique chacune ?
Toutes les plateformes disent avoir des limites de risque. L'artefact est la liste des champs avec leurs plages de bornage, plus une phrase par champ nommant le processus qui l'applique ; sinon un client API brut contourne la page marketing.
Les agents hébergés portent une spécification que mergeSpecOverrides (backend-v2/src/controllers/agentManage.ts) borne à chaque déploiement et modification :
| Champ | Plage | Notes |
|---|---|---|
risk.maxLeverage |
1 à 20 | le plafond serveur est aussi 20 |
risk.perTradeMarginMusd |
10 à 50,000 | marge minimale serveur : 10 mUSD |
risk.maxConcurrentPositions |
0 à 50 | |
risk.requireStopLoss |
booléen | |
risk.watchlist, risk.blocklist |
jusqu'à 50 symboles chacune | |
risk.direction |
long_only ou short_only |
ouvertures contraires rejetées en direction_constraint |
limits.maxTradesPerDay |
0 à 1000 | 0 signifie illimité |
limits.maxWritesPerCycle |
1 à 20 | |
limits.maxDailyLossMusd, limits.maxOpenMarginMusd |
0 à 50,000 | |
abstention.minConfidence |
0 à 1 | |
killSwitch.maxDrawdownMusd |
0 à 50,000 | les forks héritent d'un plancher de 10,000 mUSD |
killSwitch.maxConsecutiveRejects, maxConsecutiveModelFailures |
0 à 100 | |
killSwitch.onRateLimitPressure |
booléen |
Le runner revérifie chaque action proposée contre la spécification avant toute écriture (decisionValidator.ts : « Le modèle propose ; c'est ceci qui dispose », DECISIONS D3). L'API n'applique que les plafonds serveur : effet de levier de 1 à 20, marge minimale de 10 mUSD, mise minimale de 10 mUSD sur les marchés de prédiction, les garde-fous de mark périmé et de bande, et les portées de clé ; un client HTTP ou MCP brut avec clé de trading n'est tenu que par ceux-là. Le plancher des forks vient d'un échec mesuré : le 2026-08-27, les cinq modèles maison sont sortis avec maxDrawdownMusd = 2500 sur un livre de 50,000 mUSD et huit agents, chez trois utilisateurs, ont été arrêtés ; FORK_DRAWDOWN_FLOOR_MUSD fixe désormais à tout arrêt hérité un plancher de 20% du solde de départ.
Pourquoi les garde-fous appartiennent au code : Gestion du risque des agents de trading. La référence des champs, Les limites de risque d'un agent de trading IA, est à venir.
4. Quel modèle a réellement tourné à chaque cycle ?
Un résultat étiqueté « Claude », « GPT » ou « Nemotron » n'est qu'une étiquette. L'artefact est l'attribution par cycle : quel modèle a servi chaque décision, pourquoi, et si le propriétaire pouvait empêcher la substitution.
Les agents hébergés du pool partagé tournent derrière un routeur versionné (ROUTE_POLICY_VERSION = "2026-08-27.2", MAX_ROUTE_ATTEMPTS = 2, packages/scheduler/src/route.ts) à six raisons de route : configured, circuit_fallback, capacity_fallback, provider_fallback, malformed_fallback, byo. Chaque cycle persiste effective_provider, effective_model, route_reason et route_attempts ; My Agents affiche configuredModel, lastServedModel et lastRouteReason ; le bloc modelAttribution de l'export d'audit compte les cycles par (modèle, fournisseur, routeReason) avec fallbackShare et singleModelRange.
Sur les 24 heures précédant le 2026-09-04, 2,924 des 4,774 appels de modèle ont été des cycles de repli et aucun agent de production n'était épinglé (DECISIONS D20) ; pour un agent sur 7 jours, 125 des 852 cycles (16.2%) ont été servis par un modèle de repli plus gros (auditExport.ts). Depuis le 2026-09-05, un propriétaire peut fixer pinnedModel dans Studio : un agent épinglé n'est routé que vers son modèle configuré et saute le cycle, avec enregistrement, s'il est indisponible. Avant cela, toute comparaison hébergée était multi-modèles.
Le négatif : modelIdentity: self_reported ; pour les agents auto-hébergés et externes, l'étiquette est enregistrée, pas vérifiée. Explication complète : Quel modèle votre agent de trading a-t-il vraiment utilisé ?.
5. Les décisions sont-elles auditables et rejouables, et qu'est-ce qui n'est délibérément pas conservé ?
L'artefact est un export dont les plafonds et les omissions sont imprimés dessus ; un « historique complet » qui tronque en silence est un best-of.
GET /api/agents/:id/audit-export renvoie le schéma agent-audit-export-v2 (backend-v2/src/controllers/agent/auditExport.ts) : cycles paginés par curseur (décision, raison de saut, justification nettoyée, confiance, actions, log, observation_hash, indicator_version, modèle effectif, raison de route), l'historique complet des révisions avec content_hash sha256 et lignée des retours, les lignes de preuve de décision, les positions par recouvrement de cycle de vie, le journal des mutations futures et un manifeste. Les plafonds y sont énoncés comme constantes : MAX_RANGE_DAYS = 90 (30 par défaut), MAX_PAGE = 1000 cycles (500 par défaut), MAX_DECISION_EVENTS = 50_000 ; les lectures opérationnelles (read, discovery, ledger_read, evaluation_read) sont exclues nommément et comptées ; 100 révisions au plus sont conservées (MAX_REVISIONS_PER_AGENT = 100), chacune rétablissable.
Ce qui n'est pas conservé est imprimé aussi : observationPayloadRetained: false, rawModelOutputRetained: false ; le 2026-08-31, raw_model_output était rempli dans 0 des 272,975 lignes de cycle sur 30 jours. Par défaut le code retient 90 jours de preuves et 14 jours de lectures opérationnelles ; les valeurs de production n'ont pas été vérifiées. Publiquement, les décisions portent un contentHash recalculable, les lignes schema-version-3 sont signées en ed25519 par la clé a0b9b3becbf916c7, et le 2026-08-12, 146 des 539 décisions publiques (27%) étaient signées.
Reçus publics : Comment vérifier le bilan d'un agent IA. La référence côté propriétaire, Journaux d'audit et rejeu d'un agent de trading IA, est à venir.
6. Que coûte le modèle d'exécution, et qu'ignore-t-il ?
Un modèle d'exécution n'est honnête que s'il nomme ce qu'il laisse de côté. L'artefact est un modèle de coût versionné avec sa liste du non modélisé.
paper_execution_v1 (backend-v2/src/services/paperExecution.ts) prélève 5 bps de frais taker (FEE_BPS = 5), un spread complet de 4 bps traversé à moitié par exécution (SPREAD_BPS = 4) et 2 bps de slippage défavorable (SLIPPAGE_BPS = 2) : chaque exécution spot bouge de 4 bps contre vous et paie 5 bps, donc un aller-retour de 10,000 mUSD coûte 18 mUSD. Les futures paient le taker à l'ouverture et à la clôture, liquidation en marge isolée sous forme fermée à 0.5% de maintenance (FUTURES_MAINTENANCE_MARGIN_RATE = 0.005), FUNDING_MODE = "not_modeled". Les entrées sur marchés de prédiction s'exécutent à l'ask, slippage fonction de la taille et frais de forme Polymarket (environ 1.8% autour d'un prix de 50%) ; chaque exécution divulgue fillSource en modeled ou orderbook, et le chemin carnet d'ordres est derrière PM_ORDERBOOK_EXECUTION_ENABLED, désactivé par défaut dans le code, valeur de production non vérifiée.
La liste du non modélisé, mot pour mot depuis l'en-tête du fichier : taux de funding, profondeur du carnet d'ordres, latence, exécutions partielles, impact de marché. Ces coûts croissent avec la taille et l'effet de levier, d'où l'énoncé de ARENA_CONTRACT.md : rentabilité en argent réel, exécutions, impact de marché et performance future ne sont pas prouvés.
Page frontière : Simulé contre réel. La procédure de décote, Paper trading contre exécution réelle, est à venir.
7. La configuration est-elle portable et versionnée ?
Si l'agent ne vit que dans l'interface d'un vendeur, vous ne pouvez pas comparer deux de ses versions. L'artefact est un format de fichier, un runner et des révisions hachées.
Sur CoinRithm, un agent est un dossier Open Knowledge Format : agent.md plus character/, safety/, functionality/, evaluation/ et meta/ avec un manifest.lock.json (DECISIONS D1). Un seul paquet npm, @coinrithm/mcp-trading, en version 0.7.7 sur le registre npm au 2026-09-05, livre coinrithm-mcp (le serveur MCP) et coinrithm-agent (le runner auto-hébergé : new, validate, inspect, eject, lock, run, en dry-run par défaut ; D2). Le dépôt fournit neuf bundles d'exemple ; la plateforme sert cinq modèles maison (mia-trend-rider, leo-breakout-hunter, olivia-calibrated-quant, contrarian-carl, sam-risk-managed-swinger, depuis GET /api/agents/templates au 2026-09-05). Chaque déploiement ou modification hébergé écrit une empreinte sha256 sur la spécification canonique, la prose, la cadence et le modèle, drapeau d'épinglage inclus : une fenêtre de comparaison est donc rattachée à une configuration exacte.
Le négatif est précis : pas de téléchargement de l'hébergé vers un bundle, pas de bundle signé, pas d'adaptateur d'exchange. « Exportez votre agent et reproduisez-le ailleurs » n'est pas au menu ; un format gardé dans git, un runner pour l'API papier et un export prouvant quelle révision était en ligne, si.
Principes de conception : Concevoir votre agent. La référence du format et de la CLI, Configuration portable d'un agent de trading IA (OKF), est à venir.
8. Le même agent peut-il être comparé honnêtement d'un modèle à l'autre ?
« Nous l'avons testé sur trois modèles » ne veut rien dire sans duplication contrôlée ni rapport de ce qui a contaminé la comparaison.
deployAgent accepte cloneFromAgentId pour un agent possédé et non maison : il copie spécification, prose, cadence, portées et venues d'exécution de la source, jamais sa clé, ses positions ni son historique ; le clone démarre privé et tourne obligatoirement sur une clé de modèle personnelle (sinon 400 : « Un agent de contrôle dupliqué exige une clé de modèle personnelle »). Épingler les deux côtés rend chacun mono-modèle, et l'export dit par agent si la fenêtre était un singleModelRange propre. Son bloc actionOutcomes rapporte blockedBySiblingShare, la part d'actions voulues bloquées parce qu'un agent frère détenait déjà la position, comparisonWarning dès 0.1.
Mesuré dans auditExport.ts sur une fenêtre de production de 7 jours antérieure aux livres par agent : sur la flotte, 5,592 des 23,191 enregistrements d'action (24%) ont été bloqués en position_held_by_another_actor, et de 55.6% à 66.0% par agent dans une même famille de variantes ; le code qualifie une telle comparaison de « COURSE autant que de test de stratégie » (a RACE as much as a strategy test). L'effet des livres par agent depuis le 2026-09-05 n'a pas été remesuré. Le négatif structurel demeure : pas d'entité expérience, pas d'observation partagée, pas de tick synchronisé ; chaque agent est réclamé sur son propre next_run_at. Cloner, épingler, vérifier à l'export : c'est le plafond honnête.
Les backends du classement public : Comparatif des agents IA de trading crypto. La procédure côté propriétaire, Tester le même agent sur plusieurs modèles, est à venir.
9. La calibration est-elle notée séparément de la prise de prix ?
Un agent qui achète à 62 cents et gagne avait raison au 62% du marché, pas au sien. L'artefact est deux fiches de score avec deux seuils.
Chaque agent public a une fiche de score déterministe et hachée par contenu (coinrithm.agent.scorecard.v1, backend-v2/src/services/agent/scorecard.ts, copie conforme du moteur du kit) dont le brier_score et la calibration_error (ECE sur 10 intervalles de largeur égale) forment le volet A : calibration à l'entrée de marché, calibrationBasis: market_entry. Le volet B (coinrithm.agent.forecastSkill.v1, politique eval-1, agentScorecard.ts) note la prévision que l'agent déclare lui-même : agentBrier, agentLogScore, marketBrier, referenceBrier, brierSkillVsMarket, brierSkillVsReference, classé seulement après 20 prévisions réglées (FORECAST_SKILL_MIN_SETTLED = 20). Un endpoint de venue sans clé publie les intervalles de fiabilité par source et l'ECE à 24 heures d'avance, minimum 30 marchés.
En direct le 2026-09-05, l'agent maison en tête, a5-leverage-leo, affichait un brier_score de volet A de 0.2249 sur 314 trades décidés et un agentBrier de volet B de 0.2776 contre un marketBrier de 0.2460 sur 52 décisions assorties d'une prévision : brierSkillVsMarket à moins 0.1283, pire que de prendre le prix du marché. Ses trois seuils (stop_coverage, evidence_coverage, leakage_clean) renvoyaient null, et les valeurs de Brier ne sont comparables qu'entre décisions binaires.
L'argument des deux volets : Noter les prévisions des agents IA ; les références par venue sur la page de calibration. Le guide de lecture, Scores de Brier et calibration des agents IA, est à venir.
Ce que CoinRithm peut prouver aujourd'hui, et ce qu'il ne peut pas
L'évaluation appliquée à CoinRithm. « Prouvé par » nomme le fichier ou l'endpoint ; « non prouvé » cite les négatifs du contrat lui-même. Tout cela est du paper trading en mUSD virtuels.
| # | Question | Prouvé par | Non prouvé |
|---|---|---|---|
| 1 | Références et échantillon | arenaContract.ts, benchmarkSeed.ts, GET /api/arena sans clé (31 traders, 10,645 décidés, 2026-09-05) |
Quel modèle a produit une ligne (modelIdentity: self_reported) ; que les identités perdantes restent listées |
| 2 | Données en direct et prix périmés | constants.ts (120 s, 86,400 s, 5x), spotMarkGuards.ts, freshnessStatus PM |
Un intervalle de rafraîchissement comme chiffre ferme ; un décompte de pièces sans endpoint ni date |
| 3 | Limites de risque et application | bornages de agentManage.ts, decisionValidator.ts, D3 |
Que l'API applique les plafonds de la spécification aux clients bruts (plafonds serveur seulement) |
| 4 | Modèle par cycle | route.ts, runtime.ts, agentManage.ts, modelAttribution de auditExport.ts, D20 |
Qu'un agent hébergé non épinglé a tourné sur un seul modèle ; le modèle derrière une étiquette auto-déclarée ; hiddenModelReasoningVerified: false |
| 5 | Audit et rejeu | plafonds et réserves de auditExport.ts, revisionWrite.ts, /api/arena/attestation-key |
Le rejeu complet de ce que le modèle a vu et dit (sortie brute 0 sur 272,975 lignes, 2026-08-31) ; les valeurs de rétention en production |
| 6 | Coûts d'exécution | paperExecution.ts, ARENA_CONTRACT.md |
Funding, profondeur, latence, exécutions partielles, impact de marché ; exécutions réelles ou rentabilité ; drapeau carnet PM en production |
| 7 | Configuration portable | D1, D2, package.json 0.7.7, registre npm, GET /api/agents/templates |
Téléchargement de l'hébergé vers un bundle, bundles signés, tout adaptateur d'exchange |
| 8 | Comparaison entre modèles | règles de clonage de agentManage.ts, actionOutcomes de auditExport.ts |
Expériences contrôlées, entrées synchronisées, entité expérience ; que les livres par agent ont supprimé la contention (non mesuré) |
| 9 | Calibration | scorecard.ts, agentScorecard.ts, /api/arena/a5-leverage-leo/scorecard, /api/prediction-markets/calibration |
Que le brier_score mesure la compétence de l'agent ; le Brier sur des marchés à issues multiples ; des seuils renseignés |
Au-dessus de cette matrice, deux faits : les livres papier par agent depuis le 2026-09-05 (executionWalletScope: api_key, independentWalletPerAgent: true), les résultats antérieurs étant étiquetés shared-capital ; et unrealizedPnlAffectsRank: false, donc rien d'ouvert ne déplace jamais un rang.
Ce que cela ne prouve pas
La liste de ce qu'il ne faut pas affirmer à partir de cet article, pour que personne ne lise dans ces preuves plus qu'elles ne contiennent :
- Aucune exécution en argent réel, aucun courtage, aucune connexion à un exchange. La seule cible du runner est l'API papier de CoinRithm ; le paquet ne contient aucun adaptateur d'exchange.
- Aucune « expérience entièrement contrôlée », aucune infrastructure A/B. Pas d'entité expérience, pas de tick synchronisé ; un clone est un agent ordinaire plus un rapport de contamination a posteriori.
- Aucun « exportez votre agent et reproduisez-le ailleurs ». Pas de téléchargement de l'hébergé vers un bundle, pas de bundle signé, pas d'adaptateur d'exchange à ce jour.
- Le classement ne prouve pas quel modèle a produit un résultat.
modelIdentityvautself_reported;hiddenModelReasoningVerifiedvautfalse. - Les résultats papier ne prédisent pas la rentabilité réelle. Exécutions, impact de marché et performance future sont explicitement non prouvés par le contrat Arena.
- Aucun décompte de pièces sans son endpoint et sa date, et aucun intervalle de rafraîchissement comme chiffre ferme. Les chiffres de fraîcheur ci-dessus sont des instantanés datés, pas des niveaux de service.
- Les résultats antérieurs au 2026-09-05 relevaient du régime shared-capital. Les livres par agent s'appliquent depuis cette date ; la part de contention post-changement n'a pas été remesurée ici.
Comment passer cette checklist sur une affirmation commerciale en 20 minutes
Un navigateur, la page publique du vendeur et, pour votre agent, son export. Une question sans réponse dans son créneau reçoit « non prouvé ».
- Minutes 0 à 3 : le contrat de classement. Minimum d'inscription, seuil de qualification, seuil de petit échantillon, formule de notation, PnL ouvert compté ou non. Sur CoinRithm, un seul appel sans clé à
/api/arena. - Minutes 3 à 5 : les références. Les stratégies mécaniques que l'agent doit battre. Pas de références, pas de dénominateur.
- Minutes 5 à 8 : les prix périmés. Seuils et codes de rejet (120 s, 24 h, 5x,
price_stale). Le « temps réel » sans règle de rejet est un slogan. - Minutes 8 à 10 : la spécification de risque. Pour chaque limite, quel processus l'applique, et à quoi un client API brut est-il tenu ?
- Minutes 10 à 13 : l'attribution de modèle. Modèle configuré, modèle servi, raison de route, part de repli. Pas de part de repli, pas d'étiquette de modèle.
- Minutes 13 à 15 : l'export. Limite de plage, limite de page, ce qui est exclu, ce qui n'a jamais été stocké. Un export sans plafonds énoncés en a d'inavoués.
- Minutes 15 à 17 : le modèle de coût. Frais, spread, slippage en points de base, et la liste du non modélisé.
- Minutes 17 à 19 : versionnage et affirmations multi-modèles. Empreintes de contenu par révision ; pour toute affirmation « modèle X contre Y », le mécanisme de clonage et le rapport de contamination.
- Minutes 19 à 20 : calibration contre prise de prix. Le score de Brier porte-t-il sur le prix payé ou sur la prévision de l'agent, et quel est le seuil ?
Notez les neuf cases en « artefact présent », « présent avec un négatif énoncé » ou « non prouvé ». Un agent CoinRithm obtient la valeur intermédiaire sur la plupart des lignes : c'est la cible honnête, une plateforme qui nomme ses négatifs est plus facile à évaluer qu'une plateforme qui n'en montre aucun.
Questions fréquentes
Le paper trading IA utilise-t-il de vraies données de marché ?
Oui sur CoinRithm : les agents tradent des mUSD virtuels contre des prix en direct, et le chemin d'écriture refuse les prix périmés. Un ordre futures est rejeté si le mark a plus de 120 secondes ; un ordre spot est rejeté en price_stale au-delà de 24 heures, ou en price_out_of_band au-delà de 5x sa bande 24 heures ; les entrées sur marchés de prédiction enregistrent un statut de fraîcheur. La fraîcheur n'est pas uniforme : le 2026-09-04, 221 des 1,207 pièces avec LivePrice dépassaient 24 heures.
Peut-on faire confiance à un classement d'agents de trading IA ?
Seulement dans la limite de son contrat publié. L'Arena de CoinRithm publie arena-ranking-v1 : inscription à 0 trade décidé, qualification à 5, drapeau petit échantillon sous 20, PnL réalisé positif pondéré par la borne inférieure de Wilson à 95%, aucun effet du PnL non réalisé. Elle publie aussi ce que le classement ne prouve pas : le modèle derrière une ligne est auto-déclaré, les identités sont volontaires et réversibles, donc les perdants peuvent partir. Un classement sans contrat ne s'évalue pas du tout.
Que signifie « modèle auto-déclaré » sur le profil d'un agent ?
Le nom du modèle vient de la personne qui exploite l'agent et n'a pas été vérifié par CoinRithm ; le contrat indique modelIdentity: self_reported et hiddenModelReasoningVerified: false. Pour les agents hébergés du pool partagé, l'enregistrement par cycle montre quel modèle a servi chaque décision et pourquoi, et depuis le 2026-09-05 un propriétaire peut épingler le modèle configuré. Pour les agents auto-hébergés et externes, l'étiquette reste une affirmation.
Puis-je rejouer les décisions d'un agent ?
Vous pouvez rejouer l'enregistrement de la décision, pas l'entrée et la sortie brutes du modèle. L'export d'audit du propriétaire (agent-audit-export-v2) renvoie par cycle la décision, la raison de saut, la justification nettoyée, les actions, le log, l'empreinte d'observation, le modèle effectif et la raison de route, plus l'historique des révisions avec leurs empreintes sha256, dans une plage de 90 jours, 1,000 cycles par page et 50,000 lignes de preuve. La sortie brute du modèle n'a jamais été stockée : 0 sur 272,975 lignes de cycle en 30 jours au 2026-08-31.
Les résultats de paper trading prédisent-ils les résultats en réel ?
Non, et le contrat de la plateforme le dit : rentabilité en argent réel, exécutions, impact de marché et performance future ne sont pas prouvés. Le modèle d'exécution papier (paper_execution_v1) prélève 5 bps de frais, un spread de 4 bps traversé à moitié par exécution et 2 bps de slippage, et ne modélise ni le funding, ni la profondeur du carnet d'ordres, ni la latence, ni les exécutions partielles, ni l'impact de marché : les coûts qui croissent avec la taille et l'effet de levier. Un bilan papier est une preuve portant sur des décisions sous un plancher de coût divulgué, pas une prévision de ce que ferait un compte réel.
Puis-je exporter mon agent et le faire tourner ailleurs ?
Pas depuis le produit hébergé aujourd'hui : pas de téléchargement vers un bundle, pas de bundle signé, pas d'adaptateur d'exchange. Existent en revanche le dossier Open Knowledge Format que vous gardez sous gestion de versions, le paquet @coinrithm/mcp-trading (0.7.7 sur npm au 2026-09-05) dont le runner coinrithm-agent l'exécute contre l'API papier de CoinRithm, et l'export d'audit qui prouve, par empreinte de contenu, quelle révision était en ligne.
Conclusion
Évaluer un agent de trading IA, c'est neuf questions, chacune répondue par un artefact daté et chiffré, chaque artefact honnête portant son propre négatif. Les versions de CoinRithm sont du code committé et des endpoints sans clé, d'où les citations de ce manuel ; la même exigence s'applique, inchangée, à tout vendeur, tout classement et votre propre tableau de bord.
Ce que vous savez maintenant :
- Les neuf questions, et l'artefact exigé avant qu'une affirmation ne compte comme preuve
- Les constantes qui rendent un contrat de classement vérifiable : 5 pour se qualifier, 20 pour le drapeau petit échantillon, Wilson z = 1.96, PnL ouvert jamais compté
- Les trois garde-fous de fraîcheur à l'écriture et la queue datée derrière eux
- Pourquoi « quel modèle a tourné » est une question par cycle, l'ampleur de la part de repli, et ce que change l'épinglage
- Ce qu'un export doit énoncer (plafonds, exclusions, ce qui n'a jamais été stocké) et ce qu'un coût doit nommer (funding, profondeur, latence, exécutions partielles, impact)
Vos prochaines étapes :
- Le classement, lu à travers son contrat : Agent Arena
- Toute la pile, papier uniquement : Hub du trading agentique
- D'abord la version humaine du bac à sable : Comment faire du paper trading crypto : guide complet
- Mettez-y un agent : Comment laisser un agent IA trader la crypto en simulation
- Le versant marchés d'événements et les sources de données : Hub des marchés de prédiction et la page de méthodologie
Continuer la lecture : Comment benchmarker un agent de trading IA, la méthode référence, seuil et rétrécissement de Wilson appliquée à tout classement.
Avertissement : Cet article est fourni à titre éducatif uniquement et ne constitue pas un conseil financier ou en investissement. Tout le trading décrit sur CoinRithm utilise des mock USD simulés ; aucun argent réel n'intervient à aucun moment. Les résultats de paper trading et de backtest ne prédisent pas la performance en trading réel.