Rassembler les pièces d’un système de trading algorithmique

 

Voici la traduction d’un post de Tito Ingargiola du blog “Hack the market” dont des articles ont déjà été traduits sur le site (cf la série intitulée le miroir aux alouettes de l’optimisation). Tito Ingargiola a décidé de quitter en 2005 sa position de spécialiste en technologie a Wall Street pour créer Puppetmaster Trading et poursuivre ainsi à temps plein son intérêt croissant pour le trading algorithmique.

Article Original : Putting the pieces together

J’ai parcouru lors de mes derniers posts un ensemble important de choses liées au trading algorithmique. Jugeant par l’expression faciale de quelques professionnels très intelligents et expérimentés de Wall Street lorsque j’ai évoqué les mêmes sujet, tout ceci ne doit pas être évident.

Commençons avec la stratégie de trading. Qu’est ce qu’un contexte de trading algorithmique. Conceptuellement, c’est une chose assez simple. C’est quelque chose qui peut étudier les données du  marché et peut manager des positions. C’est réellement ça. Ses “yeux ” surveillent une ou plusieurs sources de données de marché et ses “mains” s’occupent d’un Système de Management des Ordres (OMS Order Management System). Il y a un potentiel évident de complexité avec cette simple définition et nous passons même au dessus d’éléments importants, mais nous nous tiendrons à ça pour le moment.

Les données de marché peuvent être un simple flux de “barres” ou “bougies” représentant des données Open-High-Low-Close-Volume (OHLCV). Ca peut être un flux de ticks datés et peut aussi inclure des informations sur la profondeur du marché ou le carnet d’ordre. Cela peut être de nombreux flux de données compréssées ou des flux directs. Le flux peut comprendre les nouvelles ainsi qu’une sorte de couche, un moteur de traitement des évènements complexes (Complex Event Processing engine – CEP), qui aide à donner du sens aux flux lors de leur arrivée. Qu’importe. La stratégie reçoit un ou plusieurs flux de données. Comment elle utilise ces données (pour annoter un modèle financier complexe de l’univers, ou simplement créer une graine de générateur de nombres aléatoires qui lance une pièce virtuelle pour acheter, vendre, garder ou se délester) n’est pas important ici.

Quand la stratégie déclencher une action, elle interagit avec son Système de Management des Ordres (OMS). Du coté vendeur, un OMS peut être un système de serveurs qui écoute les ordres des clients et les route vers les divers marchés ou contre-parties et ensuite en acquitte les résultats (exécution, annulation, etc). J’ai construit et travaillé autours de réels monstres, et ils peuvent être complexes et intéressants mais ce n’est pas réellement le sujet de notre discution.

Nous sommes plus concernés par l’aspect acheteur des OMS qui siègent typiquement sur la station de travail du trader et leur procure un accès à un ou plusieurs marchés, un carnet de trading et plusieurs fonctions incluant le management de portefeuilles, du management des risques, du reporting,de la régulation et encore beaucoup d’autres. Mais la fonction basique de l’OMS est de procurer des moyens de manager ses positions: entrée, annulation et modification des ordres et création et mise à jour des positions à la réception des rapports d’exécution. Ce coté client des OMS ont typiquement un interface graphique (GUI) qui est assez sophistiqué et peut inclure toutes sortes d’alarmes. Petit à petit, les OMS s’ouvrent eux mêmes à des interactions de programmation aux travers des APIs propriétaires ou des standards communs comme le protcole FIX.

C’est de cette manière que la stratégie de trading électronique peut interagir avec l’OMS (au travers des APIs). C’est aussi petit à petit la manière avec laquelle il interagira avec les données de marché. Il s’abonnera typiquement à un ensemble de données et recevra passivement des notifications de changement. Une stratégie de trading aura donc au moins une relation avec le service de données de marché basé sur l’abonnement et un fonctionnement étroit avec un OMS. Il aura peut être beaucoup d’autres relations, mais ces deux sont le minimum nécessaire.

Il est important de noter que cet environnement de base pour le trading algorithmique est aussi requis pour un trader manuel. En effet, dans tous les cas on a besoin de savoir où les marchés que l’on trade se trouvent et être capable de placer des ordres et de recevoir des réponses. Commes les OMS se sont ouverts à une l’intéraction de programmation, une nouvelle sorte de logiciel a émergé: l’Exectution Management System (EMS). Les EMS sont très variables mais ils sont importants dans notre cas car uns stratégie de trading automatique a besoin d’une place ou d’un conteneur dans lequel travailler. Cette place est l’EMS. La ligne de séparation entre l’OMS et l’EMS est floue, mais l’OMS procure les fonctionnalités de base (et peut être beaucoup plus) tandis que l’EMS reposera sur l’OMS et procurera certaines fonctionnalités spécifiques. C’est pourquoi, dans ce sens, la plupart des produits de trading algorithmique sont des EMS.

[…]

Traduction: Nicolas Vitale

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>