Hébergement de son programme de trading

 

Voici une petite vidéo présentant succinctement l’intérêt de l’utilisation des VPS (Serveurs Privés Virtuels) pour héberger vos applications de trading automatique.  Le sujet est approfondie sur la page spéciale qui y est consacrée: Hébergement VPS pour EA.

A noter que ceci ne s’applique évidemment pas seulement aux Expert Advsisors de la plateforme Metatrader. Le concept d’hébergement VPS est valable pour n’importe quel programme.

 

 

Forex Aggrégation

 

Face à la quantité de flux disponibles sur le Forex et à la dispersion des liquidités, il est très difficile d’avoir une bonne visibilité du marché. La conséquence est généralement une augmentation du nombre de trades pour de petits volumes, ce qui augmente les couts d’exécution.

Les organisations qui sont actives sur le Forex ont donc besoin d’outils qui permettent d’aggréger les diverses sources et leur carnet d’ordres. Des outils permettent alors d’aggréger les carnets d’ordre, de trouver des opportunités d’arbitrage parmi les diverses sources Forex et d’envoyer des ordres en sélectionnant le flux offrant le meilleur spread.

Voici à ce propos une présentation d’une plateforme développée par la société StreamBase et réalisant tout cela. Le point de vue est surement commercial, mais il est intéressant de voir ce que propose ces outils. La vidéo est disponible à l’origine sur la page Forex Aggregation de Streambase.

Protocole FIX

 

De nombreux protocoles ont été développés dans l’industrie financière pour permettre l’échange d’informations financières. Une entreprise doit donc mettre en oeuvre de nombreux protocoles  pour pouvoir faire fonctionner ses systèmes de trading, management des risques ainsi que tous ses systèmes de back office au sens large. Certains sont basés sur le standard XML et d’autres non. Voici une liste non exhaustive des protocoles basés sur le XML :

  •  Financial Information Exchange (FIX)/FAST/FIXML: FIXML est la version XML de FIX.
  •  FpML: Financial Products Markup Language.
  •  Swift/SwiftML: SwiftML is the XML version of Swift.
  •  RIXML: Research Information Exchange Markup Language.
  •  MDDL: Market Data Definition Language;
  •  FinXML.
  •  SFXL: Securities Financing Extensible Markup Language.
  •  OFX: Open Financial Exchange.
  •  XBRL: Extensible Business Reporting Language.
  •  IFX: Interactive Financial Exchange.
  •  IRML: Investment Research Markup Language.
  •  XFRML: Extensible Financial Research Markup Language.
  •  MDML: Market Data Markup Language.
  •  WeatherML: Weather Markup Language.
  •  STPML: Straight Through Processing Markup Language.

 

Un des standards le plus utilisé n’est cependant pas basé sur le XML. C’est le protocole FIX promu par Protocol, Ltd. (FPL). Les institutions financières utilisent le protocole FIX pour communiquer rapidement les trades (et les informations s’y rapportant) de manière électronique entre les Bourses et les Contre Parties. Le protocole a d’ailleurs été adopté par la majorité des places boursières actions, Futures, Obligations, etc, ainsi que par les entreprise y traitant. Le protocole FIX est donc désormais un incontournable du secteur du trading en temps réel et fait donc partie intégrante des systèmes de trading.

L’un des avantages de FIX, en plus du fait qu’il soit totalement ouvert et gratuit, est qu’il possède une grosse communauté commerciale et qu’il est donc possible de le mettre en place sans vraiment comprendre de quoi il est fait. Il suffit alors d’acheter une license d’un logiciel mettant en place le moteur FIX (FIX engine). Un moteur FIX est un bloc de logiciel qui permet de générer les messages FIX sortants et de lire les messages FIX rentrants et s’utilise donc pour connecter vos applications au monde exterieur. Le moteur FIX permets de gérer à la fois les couches sessions et applicatives de vos applications de trading ou de management. Le niveau session a pour mission d’assurer la bonne réception des données quand le niveau applicatif définit le contenu relatif aux échanges commerciaux.

Pour les entreprise préférant mettres les mains dans le code, il existe (au moins) un moteur FIX Open Source (QuickFIX) compatible avec la plupart des systèmes d’exploitation Windows, Linux, Solaris, FreeBSD et Mac OS X. Les API sont disponibles pour le C++, Java, .NET, Python et Ruby.

Construire un Système de Management des Ordres (OMS System Management Order) est un énorme travail à la fois en terme de planification et design qu’en terme d’investissement financier en logiciel et hardware. D’après Benjamin Van Vliet et son livre “Building Automated Trading Systems“, utiliser le protocol FIX dans un tel cadre à une petite échelle peut ne pas être très cher (quelques milliers d’euros), par contre avec une implémentation complète à grande échelle les prix flambent rapidement pour atteindre le million de dollars.

 

FIX

 

 

 

Liste des différentes plateformes de trading automatique

 

Cet article a pour objectif de répertorier toutes les différentes plateformes de trading automatique les plus utilisées et leurs caractéristiques. Ceci est donc pour le moment qu’une ébauche qui sera complétée au fur et à mesure.

 

  • AlphaTrader

    • La plateforme d’Alpha Novae / Trading Automatique. Plus d’information ici.
    • Langage: C# avec Visual Studio
    • Plateforme gratuite (sous conditions) ou payante
    • Marchés visés: Forex, CFD, Futures, Actions
    • Avantages: Plateforme d’exécution optimisée pour trading live. Fonctionalités rajoutées à la demande. Environnement de développement professionnel (C# .NET avec Visual Studio) et donc très ouvert.
    • Défauts: Pas encore de possibilités de backtests (à venir avec AlphaTrader 3). Nombre limité de brokers (ajout à la demande pour les licenses pro).

 

  • MetaTrader

    • Langage: MQL4 proche du C et MQL5 à venir proche du C++
    • Plateforme gratuite
    • Marchés visés: Forex principalement et CFD (MT5 : ajoute futures, actions et options)
    • Avantages: Plateforme répandue avec une grande communauté, gratuité, beaucoup d’éléments disponibles sur internet
    • Défauts: Fiabilité du backtest en mode classique (échelle de temps la plus petite disponible en historique est M1) et dépendant du broker.

     

  • MultiCharts

    • Clone/Successeur de TradeStation
    • Langage : EasyLanguage ou C# pour la nouvelle version .NET
    • Plateforme payante
    • Avantages : Bonne plateforme de backtests (nombreux rapports). Backtest portfolio et import de data sous fichier txt facile. Multi-Brokers.
    • Défauts: Position Centric seulement. Plateforme un peu “lourde” et pas optimale pour le trading automatique live. Des simplifications pour le trader qui empêchent le trading de précision. Beaucoup (trop) de choses doivent être parametrés en dehors du code.

     

  • NinjaTrader

    • Langage: C#
    • Avantages : Multi Brokers. Gratuite pour les backtests. Langage évolué. Existence d’un écosystème.
    • Défauts: Position Centric. Redémarrage automatique des stratégies impossible (pas optimal pour le live). Des limitations un peu incomprehensibles.

 

  • Tradestation

    • Langage: EasyLanguage
    • Plateforme payante
    • Marchés visés: Forex, Options, Futures, …
    • Un seul broker possible : TradeStation Securities
    • Avantages: Plus de marchés pouvant être tradés que MetaTrader 4
    • Défauts: Mais tout est payant et la communauté n’est pas très active par rapport à Metatrader et surtout un seul choix de broker possible et qui profite de cette position de monopole.

 

  • VisualChart

    • Langage: VB avec tous ses avantages
    • Flux temps réel payant mais accès gratuit pour données en fin de journée
    • Module de Backtest gratuit

 

  • AmiBroker

    • Langage: Possibilité de programmation par “drag and drop”.
    • vitesse rapide pour les optimisations et les backtests
    • bien adapté pour certaines tâches comme le screening ou le calcul de force relative (donc idéal pour les marchés d’actions)
    • peut faire du walk-forward et du backtest multi-instruments avec rotation de portefeuille
    • existence d’une communauté et support technique réactif.
    • Inconvénients:
      – langage AFL un peu déroutant dès qu’on sort des stratégies simplettes;
      – ne s’interface pour l’instant qu’avec Interactive Broker pour le passage et le suivi d’ordres.

 

  • WealthLab

    • Langage: C# pour les développeurs ou “click and drop” graphique pour les autres

 

  • SmartQuant (OpenQuant)

    • Langage: C# ou VB .NET
    • Plateforme payante
    • Marchés visés: tous
    • Avantage: Orienté quant avec de nombreuses librairies mathématiques. Possède une implémentation FIX. Pas de script, exécute que du langage compilé (augmente la vitesse).
    • Défauts: Prix de la licence pour certains, backtests et optimisations lents d’après certains

 

  • Strategy Runner Business

    • update: Strategy Runner n’existe plus…
    • Model très fermé pour le développement des stratégies et obligation de payer (cher) même pour les développeurs
    • Collocation des stratégies sur les serveurs brokers
    • Utilisation gratuite rémunérée en commission

 

  • Plateformes maison

    • Excel, projets open source, ou tout ce que votre imagination vous autorise.
    • Avantages: Pas de limitations.
    • Défauts: Nécessite une expertise technique et du temps pour le développement.