shadow-ledger
Un moteur de paper trading : de l’argent fictif, de vrais prix, et la mémoire de chaque décision pour répondre à « et si… ? ».
ExpérimentationCode source privé
- TypeScript
- Node.js 24
- SQLite
- Vue 3
- Vitest
Contexte
Aucun ordre réel, aucun courtier, aucune clé : seulement des prix publics et de l’argent fictif. Chaque décision (acheter, vendre, ne rien faire) est écrite dans un journal où l’on ne peut qu’ajouter. Le moteur sait ensuite répondre à « et si… ? » : que vaut cette décision face à son alternative, quelques minutes, un jour, une semaine après, et maintenant ?
Le projet s’inspire d’un moteur de règles avec journal d’audit et budget de survie, sans en reprendre le code.
Ce qu’on peut en faire
- Rejouer le passé avec des stratégies qui ne voient jamais le futur, qui paient leurs frais, et qu’on juge sur une période gardée de côté.
- Suivre un marché réel en direct avec une flotte d’une trentaine de portefeuilles dans un seul processus, qu’on peut reprendre après un arrêt.
- Faire jouer un agent, y compris une session Claude Code avec mon usage habituel, sans API facturée.
- Balayer une règle sur 37 journées d’archive, en écartant les journées de marché inexploitables au lieu de les compter comme nulles.
- Tout suivre dans un tableau de bord Vue mis à jour en direct.
Les garanties, vérifiées dans le code
- Un journal qui ne se réécrit pas : des déclencheurs SQL refusent toute modification ou suppression, et l’horloge ne recule jamais. Impossible d’antidater une décision.
- Pas de futur : une stratégie ne voit que deux objets à champs privés, et l’exécution se fait au premier prix strictement postérieur, avec un test dédié. C’est une garantie d’interface, pas un bac à sable, et le README le dit.
- Des agents bornés : deux outils, des plafonds appliqués par le code et un budget de survie.
- Des écritures concurrentes sûres : transactions immédiates, testées avec deux processus.
Un résultat honnête
Je n’ai trouvé aucun avantage de trading. Ce projet sert à mesurer honnêtement une idée, pas à gagner de l’argent.
Les tests
264 tests répartis sur 20 fichiers.
// Pour mes projets de 2026, je travaille avec des agents IA (Claude Code) : je cadre le besoin, j’écris la spécification, puis je relis et je valide le code.