Aller au contenu
~/lucas

← Retour aux projets

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.