Construire ou acheter des plateformes de trading

 

Mon précédent post portant sur l’agrégation du Forex avec la présentation d’une plateforme de la société StreamBase n’étant pas tombée dans l’oreille d’un sourd, j’ai eu droit à une conférence privée de StreamBase (que je remercie d’ailleurs) qui m’a présentée ses systèmes. Les plateformes de Streambase ne se limitent d’ailleurs pas au Forex et permettent de réaliser l’ensemble des opérations d’une société de trading allant de l’acquisition des données à la programmation d’automates de trading en passant par l’analyse et la sauvegarde des données, leur représentation, les backtests, etc.

L’échange a été très intéressant et a terminé sur une question classique du domaine… vaut-il mieux construire ses applications de trading de zéro ou en acheter les bases pour n’avoir à développer que la partie métier (comme les algorithmes de trading, les indicateurs des traders, etc)? Les clients de StreamBase et d’autres sociétés du même genre étant des banques d’investissement et des hedge funds, ils y ont forcément vu un intérêt à ne pas avoir à réinventer la roue.

Ces sociétés proposent en effet des plateformes “ouvertes”, c’est à dire qui autorisent à leur client de développer, via les APIs proposés, leurs propres opérateurs, analyseurs, indicateurs, algorithmes, etc. Pour ce qui concerne StreamBase, l’environnement de développement classique et utilise la fameuse plateforme pour le développement Java Eclipse. Mais rassurez vous, il est possible de programmer en utilisant les langages classiques autre que le Java comme le C++ par exemple.

Le principe est simple: c’est du cliquer et déposer graphique. On sélectionne un opérateur parmi la multitude proposée (somme, moyenne mobile, etc) puis on le pose sur nos diagrammes. A l’entrée du diagramme on retrouve bien sûr les données du marché et en sortie, des indicateurs à afficher, des ordres de trading, etc. Cette programmation graphique m’a clairement rappelée celle utilisée par le logiciel Labview que vous connaissez probablement si vous êtes ingénieur… Évidemment, le client peut développer lui même ses propres opérateurs, lui laissant une grande liberté d’action dans son métier.

Ces plateformes peuvent être aussi pilotées et contrôlées par les équipes de support des clients, tout comme des plateformes maison. Les intégrer dans son propre système, en gérant ensuite de son coté, par exemple, les systèmes de gestion de risque semble être une solution intéressante.

Il y a donc évidemment un grand intérêt à utiliser de tels logiciels qui nécessiteraient en interne de nombreuses années de développement et de recherche. Ces plateformes sont même déjà optimisées pour avoir une latence minimum dans les passations d’ordres et les traitements.

Mais, car il y a toujours un “mais”, en faisant abstraction du prix d’achat par rapport au coût d’un développement interne, il reste un point que j’aimerais aborder. Dans le contexte actuel, où le marché devient de plus en plus technique, on s’aperçoit que la différence se fait souvent au détail. Par exemple, le premier arrivant sur le marché saisit l’opportunité d’arbitrage, ce qui explique cette course effrénée à la vitesse de traitement et d’exécution d’ordre que se livrent les diverses banques d’investissement et les hedge funds.

Dans un tel marché, ce n’est plus l’aspect “économique” qui fait gagner de l’argent, mais bien l’aspect technologique. Le métier des banques d’investissement historiquement économique passe donc de plus en plus au domaine technologique. Et dans ces conditions, est ce bien raisonnable de sous traiter son cœur de métier?

Certes cela risque de représenter un investissement financier initial important, mais puisque c’est ce qui doit nous donner un avantage compétitif sur nos concurrents, il ne faut pas voire à court terme…

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>