À propos du projet

OpenPit est un espace de travail pour des composants de risque pré-négociation intégrables, conçu pour les systèmes de trading algorithmique et électronique. Avant qu'un ordre n'atteigne une plateforme, il passe par un pipeline de risque déterministe qui peut rejeter des demandes, réserver de l'état, et ensuite absorber les résultats post-négociation dans le même système de contrôle. Le moteur est en mémoire et déterministe, destiné à être intégré dans un système de trading plus vaste plutôt qu'à le remplacer. Il fournit une gamme de politiques intégrées, notamment des vérifications de solvabilité des fonds au comptant, la validation des ordres, la limitation du débit, les limites de taille d'ordre (plafonds anti-erreur de saisie), et un interrupteur de pertes et profits. Des politiques personnalisées peuvent être implémentées en Go, Python, JavaScript, C++ ou Rust. Les fonctionnalités clés incluent des groupes de comptes pour la ramification des politiques, le blocage de comptes, la copie de dépôt pour enregistrer les ordres exécutés, les ajustements de comptes et la réconciliation des soldes, le support des données de marché, la reconfiguration dynamique des politiques en direct, et un moteur asynchrone avec des files d'attente par compte en Go et C++. Les contrats de stockage et de threading sont sélectionnés une fois lors de la construction du moteur. OpenPit propose des SDK pour plusieurs langages : Rust (crate `openpit`), Go (module `go.openpit.dev/openpit`), Python (paquet `openpit`), JavaScript/TypeScript (paquet `@openpit/engine`, une compilation WebAssembly), C++ (paquet CMake C++17 header-only), et C (via l'ABI C). Tous les SDK exposent le même pipeline dans leurs idiomes respectifs. Avant la version 1.0, OpenPit suit un versionnage sémantique assoupli où les versions mineures peuvent introduire des changements d'API cassants. Le projet comprend une documentation complète sur son wiki, des références API générées, et des exemples de bout en bout. Il prend en charge la construction et les tests sur les systèmes POSIX et Windows, avec des instructions détaillées pour chaque liaison de langage.