À propos du projet

AI Multi-Agent Cryptocurrency Futures Platform est un système de recherche et d'exécution de futures cryptocurrency orienté production pour Binance USD-M Futures et les swaps perpétuels OKX. Il est structuré comme un espace de travail pnpm avec une application web Next.js et une API Node.js, soutenus par PostgreSQL via Prisma, Redis et BullMQ, et livré avec une configuration Docker Compose. Le principe fondamental énoncé est que l'IA est uniquement consultative : les agents ne peuvent pas appeler directement un adaptateur d'échange, et les ordres automatisés doivent passer par le pipeline Décision/Juge et un moteur de risque déterministe avant que le moteur de trading ne puisse les exécuter. Sécurité et comptes. Authentification multi-utilisateur, sessions basées sur Redis, protection CSRF, authentification à deux facteurs TOTP, journaux d'audit, hachage de mot de passe Argon2id et identifiants de fournisseur cryptés en AES-256-GCM. La réinitialisation du mot de passe est configurée via un transport d'e-mail (SMTP ou URL de webhook avec secret) ; les liens de réinitialisation expirent après 15 minutes, sont à usage unique, ne sont jamais stockés ou journalisés en texte clair, et un changement de mot de passe réussi révoque toutes les sessions existantes du compte. Intégrations d'échanges. Les adaptateurs Binance Futures et OKX couvrent les données de marché publiques, l'état privé du compte, les positions, les ordres ouverts, l'historique des ordres, le placement d'ordres, l'annulation et la modification d'ordres de protection lorsque l'échange le permet. Données de marché et externes. Flux de marché en temps réel, bougies normalisées, indicateurs, détection d'écarts, backfill, snapshots Redis et un espace de noms Socket.IO sur /market. Une couche d'ingestion séparée gère les actualités, les annonces d'échanges, les incidents, le sentiment, Reddit et un calendrier macro, avec des files d'ingestion, une déduplication et un score d'importance, publiés via des événements en temps réel sur /external-data. Infrastructure IA. Une couche IA indépendante du fournisseur avec appel d'outils borné, gestion du cycle de vie des agents, un Agent de Décision, des contrôles de Juge, l'ordonnancement de pipeline BullMQ, le replay, l'annulation, le rapport de santé et les métriques. Risque, portefeuille et recherche. Évaluation déterministe du risque, contrôles d'exposition du portefeuille, allocation et rééquilibrage de stratégie, boucles de performance et de réflexion, auto-apprentissage shadow/canary, backtesting, validation, benchmarking, simulation, découverte de facteurs et recommandations quantitatives. Exécution. Trading DEMO/LIVE basé sur l'échange avec un kill switch, des identifiants d'ordre client idempotents, la synchronisation d'état, la protection TP/SL et un gestionnaire de positions, accessibles via un tableau de bord en temps réel /live-trading. TP/SL adaptatif et gestionnaire de positions. Plutôt que de toujours dériver les niveaux de take-profit et stop-loss à partir de pourcentages d'environnement, le moteur de plan de trading déterministe utilise l'ATR, le support/résistance, EMA20/EMA50, ADX, le ratio d'efficacité, l'état de cassure, la structure du marché, les frais et les exigences risque/récompense configurées pour classer les conditions en TREND_UP, TREND_DOWN, RANGING, BREAKOUT ou HIGH_VOLATILITY, et produit le type de plan correspondant : retrait trend, entrée et cible de limite de range, breakout/retest, ou contrôlé par la volatilité. Le moteur rejette les emplacements d'entrée médiocres, les stops structurellement excessifs et les cibles dont la récompense/risque nette est inférieure à la politique ; des paramètres tels que STOP_LOSS_PCT et RISK_REWARD_RATIO restent des valeurs par défaut de politique et un repli lorsque les données ATR et de structure sont indisponibles. Après l'entrée, le gestionnaire de positions synchronise l'état de l'échange et peut déplacer le stop au point mort plus un tampon de frais, suivre par ATR après un mouvement favorable suffisant, prendre un profit partiel à 1R, maintenir les positions stagnantes ouvertes jusqu'à ce qu'une clôture protectrice explicite, manuelle, de l'échange ou autorisée par la stratégie survienne, modifier ou annuler/recréer des ordres de protection via l'adaptateur, et nettoyer les protections orphelines après la clôture de la position. LIVE_POSITION_SYNC_INTERVAL_MS est par défaut à 30 secondes ; les imports d'historique d'ordres de l'échange et le tableau de bord Live Trading sont limités aux 20 ordres les plus récents, tandis que les positions et les vérifications de sécurité/protection ne sont pas tronquées. Verrous de sécurité. TRADING_MODE=DEMO est le défaut sécurisé. Avant l'exécution, le système vérifie GLOBAL_TRADING_ENABLED, LIVE_TRADING_ENABLED, l'état de connexion vérifié, la permission de connexion de production, l'authentification récente, le TTL d'approbation du risque, les limites d'exposition, les limites de levier, le cooldown et l'état du kill-switch. Le mode LIVE nécessite LIVE_TRADING_ENABLED=true, et les connexions d'échange de production restent désactivées sauf si elles sont explicitement activées. Le README conseille d'utiliser des identifiants demo/testnet dédiés lors de la validation du comportement et de ne jamais utiliser de clés API capables d'effectuer des retraits. Configuration et opérations. Les prérequis sont Node.js 22.13 ou plus récent (requis par pnpm 11), pnpm 11 ou plus récent, et Docker Desktop avec Docker Compose. La configuration locale copie .env.example dans la racine, ainsi que dans les emplacements apps/api et apps/web, installe les dépendances, démarre Postgres, Redis et Adminer via Compose, génère le client Prisma, applique les migrations et lance les serveurs de développement ; la pile complète peut également être démarrée avec docker compose up -d --build. Les services documentés incluent l'application web sur le port 3000, l'API sur 3001 avec /api, /docs et /api/health, et Adminer sur 8080. Les scripts couvrent le dev, build, lint, le typage TypeScript strict, les suites unitaires Vitest, les tests d'intégration API, les tests de bout en bout, les vérifications de formatage, et Prisma generate, migrate et studio. Une documentation supplémentaire est référencée dans ARCHITECTURE.md, API_CONTRACT.md, DATABASE.md, DIRECTORY_STRUCTURE.md, ROADMAP.md, PROJECT_CONTEXT.md, DEFINITION_OF_DONE.md et PROJECT_RULES.md. Limites connues énoncées par le projet. Des enregistrements paper/shadow existent et supportent l'évaluation et l'auto-apprentissage, mais il n'y a pas d'API d'exécution de paper-trading autonome comparable au Live Trading. Les backtests, les exécutions demo et la confiance du modèle ne garantissent pas la rentabilité en production, et une promotion nécessite des échantillons adéquats et une revue du drawdown. Les mises à jour du code n'affectent pas les conteneurs en cours d'exécution jusqu'à ce que les services API et web soient reconstruits ou redémarrés.