Faire tourner vos stratégies sur votre propre serveur cloud
Pourquoi faire tourner ses stratégies sur son propre VPS : disponibilité, latence, contrôle et confidentialité, région et taille, sécurité, surveillance et coûts.
Une stratégie automatisée ne vaut que ce que vaut l'ordinateur qui l'exécute. Un PC personnel qui s'éteint, se met à jour en pleine journée de trading ou perd sa connexion internet peut laisser une position ouverte sans que personne ne la surveille. C'est pourquoi de nombreux traders déplacent leur moteur de trading sur un serveur cloud, un VPS, dans leur propre compte. Cet article explique pourquoi, comment choisir et comment garder le serveur sécurisé et surveillé.
Qu'est-ce qu'un VPS et pourquoi les traders s'y intéressent
Un VPS, ou serveur privé virtuel, est un ordinateur virtuel qui tourne dans le centre de données d'un fournisseur cloud. Vous disposez de processeur, de mémoire, de stockage et d'une connexion réseau, et vous payez le fournisseur à l'usage, généralement au mois ou à l'heure. Le serveur tourne en permanence, se trouve sur un réseau rapide et stable, et ne dépend ni de l'électricité ni d'internet chez vous.
Les principales raisons d'en utiliser un :
- Disponibilité : le serveur ne s'éteint pas quand vous fermez votre ordinateur portable, et il ne lance pas de mises à jour surprises en pleine séance si vous les gérez correctement.
- Latence : un serveur situé dans une région proche de la bourse ou des serveurs du courtier raccourcit le temps d'arrivée d'un ordre.
- Contrôle : le serveur est dans votre compte. Vous choisissez la région, la taille et le moment de l'éteindre.
- Confidentialité et séparation : votre stratégie et vos données tournent dans un environnement distinct, pas sur une machine qui sert aussi à naviguer, jouer et travailler.
La latence : quelle importance réelle
La plupart des traders particuliers n'ont pas besoin d'une vitesse à la milliseconde. Mais la différence entre un PC personnel sur un Wi-Fi instable et un serveur dans un centre de données professionnel peut être notable, surtout en période de forte volatilité. Chaque délai dans la chaîne, de la réception du signal à l'envoi de l'ordre, laisse au prix le temps de bouger. Le lien entre temps et prix d'exécution est expliqué dans l'article sur le slippage et les coûts d'exécution.
Les marchés de CME Group sont principalement basés dans la région de Chicago, et les serveurs des courtiers et des plateformes se trouvent généralement aux États-Unis. Une région du centre ou de l'est des États-Unis est donc souvent un choix raisonnable. Vérifiez néanmoins où se trouvent les serveurs de votre courtier ou de votre plateforme, car c'est ce qui tranche.
Choisir la région et la taille
Quand vous créez un serveur chez un fournisseur cloud, deux décisions principales s'imposent :
- La région : choisissez le centre de données le plus proche des serveurs d'exécution. En cas de doute, demandez à l'équipe support de la plateforme que vous utilisez ce qu'elle recommande.
- La taille : la quantité de processeur et de mémoire. Un moteur qui fait tourner une stratégie sur quelques symboles n'a pas besoin d'un serveur énorme. Commencez modestement, surveillez l'utilisation et n'augmentez que si nécessaire. Un serveur trop petit qui atteint 100 % de processeur provoquera des retards ; un serveur trop grand coûte simplement plus cher.
Il est aussi judicieux de choisir une version du système d'exploitation bénéficiant d'un support à long terme, et de garder de l'espace disque libre pour les journaux.
Les bases de la sécurité
Un serveur connecté à un compte de trading est une cible. Les règles de base :
- Mises à jour : installez régulièrement les mises à jour de sécurité, mais planifiez-les en dehors de vos heures de trading.
- Clés SSH plutôt que mots de passe : se connecter avec une clé cryptographique est bien plus sûr qu'un mot de passe. Désactivez la connexion par mot de passe si possible.
- Moindre privilège : chaque service tourne avec les droits dont il a besoin, pas plus. Ne faites pas tout tourner sous l'utilisateur administrateur.
- Pare-feu : n'ouvrez que les ports nécessaires. Tout le reste reste fermé.
- Secrets : les identifiants et clés du courtier ne sont pas conservés dans des fichiers en clair ni dans des captures d'écran, et ne sont pas envoyés par messagerie.
- Sauvegardes : gardez une sauvegarde de votre configuration pour pouvoir reconstruire un serveur rapidement.
Certaines plateformes connectent votre compte cloud en vous faisant donner votre autorisation sur le site même du fournisseur, sans transmettre de mot de passe ni de jeton. C'est la meilleure approche, car vous pouvez révoquer l'autorisation à tout moment depuis votre compte chez le fournisseur.
La surveillance : savoir avant que ça fasse mal
Le serveur tourne seul, et c'est précisément pourquoi vous devez savoir ce qui s'y passe. Points à surveiller :
- Le moteur tourne-t-il : une vérification périodique que le processus est actif et connecté au courtier.
- Ressources : utilisation du processeur, de la mémoire et du disque. Un disque plein est une cause fréquente de plantage.
- Connexion au courtier : des déconnexions répétées sont un signe de problème.
- Positions : rapprochement entre ce que le moteur croit avoir ouvert et ce qui l'est réellement sur le compte.
- Alertes : soyez prévenu quand quelque chose d'inhabituel se produit, et pas seulement quand il vous arrive de regarder.
Le plus important : ayez un plan pour le jour où quelque chose tourne mal. Comment clôturer les positions manuellement, comment arrêter le moteur et qui contacter. Ces principes font partie de tout dispositif de trading algorithmique.
Les coûts
Le serveur se trouve dans votre compte chez le fournisseur cloud, la facture vient donc directement du fournisseur. Le coût dépend de la taille du serveur, de la région et du trafic. Quelques points :
- Consultez les tarifs en vigueur du fournisseur avant de choisir une taille.
- Un serveur allumé continue d'être facturé même quand vous ne tradez pas ; si vous ne l'utilisez plus, supprimez-le depuis votre compte chez le fournisseur.
- Les sauvegardes et snapshots peuvent être facturés séparément.
- Définissez une alerte de budget dans votre compte fournisseur pour éviter les surprises.
Check-list de mise en place
- Avez-vous choisi une région proche des serveurs d'exécution ?
- La taille est-elle adaptée à la charge, avec de la marge ?
- Connexion uniquement par clé SSH, et pare-feu actif ?
- Mises à jour planifiées en dehors des heures de trading ?
- Surveillance et alertes actives ?
- Un plan d'urgence pour clôturer manuellement ?
- Une alerte de budget configurée chez le fournisseur ?
À retenir
- Un serveur cloud offre disponibilité, latence réduite, contrôle et séparation par rapport à un PC personnel.
- Choisissez une région proche des serveurs d'exécution et une taille modérée, à augmenter si besoin.
- Sécurité de base : mises à jour, clés SSH, moindre privilège, pare-feu.
- La surveillance et un plan d'urgence font partie du système, ce ne sont pas des options.
- Le coût est réglé au fournisseur cloud ; un serveur allumé continue d'être facturé.
WeCore peut faire tourner votre moteur de trading sur un serveur cloud dans votre propre compte DigitalOcean ou Linode, connecté en donnant votre autorisation sur le site du fournisseur, le serveur étant facturé par ce dernier. Détails dans le guide pour faire tourner WeCore sur votre propre serveur.