Les systèmes que nous avons conçus pour négocier nos propres capitaux

Notre technologie de négociation n'est pas une vitrine, mais l'infrastructure que la société exploite chaque jour avec ses propres fonds.

Une ingénierie développée en interne

Nous n'achetons pas de robots de négociation tiers et ne dépendons d'aucune plateforme d'exécution externe. Chaque composant — du connecteur d'échange à la couche de contrôle des risques — est développé en interne.

Cette approche implique que chaque défaut du code nous coûte nos propres fonds. Notre exigence d'ingénierie est donc plus élevée que sur un projet ordinaire : code à typage statique, tests, tests obligatoires sur données historiques (backtesting) et une période de négociation simulée (paper trading) avant tout engagement de capital réel.

Notre ingénierie couvre l'ensemble de la boucle : stratégies de négociation et moteur d'exécution, connecteurs de plateforme, chaîne de recherche et de tests sur données historiques, couche de contrôle des risques, allocation du capital, supervision et coffre à clés. Ce qui suit détaille ces composants, les interfaces par lesquelles ils se connectent aux plateformes d'échange, et les règles selon lesquelles nous les écrivons.

Ce dont se compose l'infrastructure de négociation

Les composants de la boucle de production, de la logique de négociation au coffre à clés. La logique de négociation est illustrée par une stratégie en grille, l'une de celles que la société exploite avec ses propres capitaux.

  1. Définit la plage de prix, l'espacement entre les niveaux et la taille par niveau ; reconstruit la grille lorsque le prix sort de la plage.

  2. Place, annule et repositionne les ordres, suit les exécutions et réessaie correctement lorsque la plateforme rejette une requête.

  3. Calcule la volatilité et les bornes de la plage afin que les paramètres de la grille correspondent au régime de marché courant.

  4. Plafonne la position agrégée et arrête une stratégie lorsqu'elle dépasse le repli maximal (drawdown) autorisé.

  5. Répartit les fonds disponibles entre les instruments et les stratégies selon des règles définies.

  6. Masquent les différences entre les API des plateformes d'échange derrière une interface interne unique.

  7. Exécute une stratégie sur des données historiques, en tenant compte des frais, du glissement (slippage) et de la latence d'exécution.

  8. Affiche l'état des stratégies et signale les défaillances avant qu'elles ne deviennent visibles dans le résultat.

  9. La plage, l'espacement, la taille et les limites sont définis par des paramètres — sans modifier ni redéployer le code.

  10. Stockage chiffré des clés d'API avec autorisations limitées à la négociation et restrictions d'adresse.

Plateformes et protocoles

Les interfaces externes par lesquelles les composants décrits ci-dessus se connectent aux plateformes de négociation.

Normes d'ingénierie

  • La logique de négociation est écrite en code à typage statique : une incohérence entre le prix, la taille et l'identifiant d'instrument est détectée à la compilation, non sur le marché en direct. Le dimensionnement des positions, la conformation d'un ordre aux règles de la plateforme et les transitions d'état des ordres sont couverts par des tests — une modification sans test n'atteint pas la production.

  • Une nouvelle stratégie franchit trois étapes : une exécution sur l'historique, puis un fonctionnement sur un flux en direct sans envoi d'ordres, et seulement ensuite une taille de position minimale sur les capitaux propres de la société. Une étape est réputée franchie si l'écart entre la simulation et les exécutions réelles demeure dans des bornes prédéfinies.

  • Avant la mise en service, une modification est revue par un second ingénieur, et tout ce qui touche aux accès, à la signature des requêtes et au maniement des clés est examiné comme un point distinct. Les autorisations de la clé sur la plateforme, les limites de l'accès réseau du nœud, ainsi que le fait que les secrets ne parviennent ni aux journaux ni aux messages d'erreur, sont tous vérifiés.

  • L'autorisation de retrait est désactivée du côté de la plateforme, non dans notre code : même un accès complet à un nœud de négociation ne permet pas de faire sortir des actifs. La clé est en outre liée à des adresses sortantes fixes, de sorte qu'au-delà de notre périmètre une paire dérobée est inutilisable.

  • Chaque ordre est conservé avec les données d'entrée et la version de configuration sous lesquelles il a été passé. Cela suffit à reconstituer ultérieurement la décision dans son intégralité et à répondre à la question de savoir pourquoi, à une minute précise, le système a agi exactement comme il l'a fait.

  • La conception des systèmes, la procédure de déploiement et les actions à mener en cas de défaillance sont documentées et tenues à jour. Aucune boucle ne dépend du savoir d'une seule personne : tout ingénieur de l'équipe peut arrêter la négociation, reconstruire l'environnement depuis zéro et enquêter sur un incident.

Champ d'application

Cette section décrit la base technologique propre à la société. La société ne fournit pas de services de conservation d'actifs, ne gère pas de comptes de tiers et ne connecte pas ses systèmes à des fonds de tiers.