Logiciel de bourse SystemTrader

 Navigation:  4. Systèmes de trading >

4.2 Processus de simulation

Previous page Return to chapter overviewNext page

Une simulation permet de déterminer à posteriori les performances passées d'un système de trading. Il ne s'agit donc pas de prédire les performances futures, car le marché peut évoluer. Simuler un système permet en revanche d'en évaluer le potentiel, les risques, et d'estimer sa probabilité de succès.

Lors d'une simulation, le système de trading testé génère des ordres d'achat et de vente en se basant sur les données historiques des marchés. Un compte virtuel tel que celui d'un broker en ligne est associé à cette simulation, et permet d'en tirer des informations sur l'évolution du capital, la régularité des gains ou encore les pertes qui auraient été subies. Ces informations sont alors accessibles sous plusieurs formes : des feuilles de résultats, des courbes d'évolution de ces résultats, ainsi qu'une liste des prises de position et de leurs performances individuelles.

Le processus

La simulation d'un système de trading se fait en plusieurs itérations. Chaque itération concerne une donnée (qui représente un jour pour SystemTrader EOD) d'un cours. Pour chacune de ces itérations, SystemTrader effectue les tâches suivantes, dans l'ordre :

Lire (physiquement, à partir du fichier) la donnée en question
Fermer les positions dont le stop-loss ou le take-profit a été dépassé
Faire évoluer les trailing-stops s'il y a lieu
Exécuter le système manager de position pour chaque position ouvertes (c'est à dire N exécutions pour N positions ouvertes). Celui-ci pourra alors envoyer des ordres de fermeture partielle ou totale d'une position, ou de renforcement de celle-ci.
Exécuter le système d'entrée en position, qui pourra envoyer des ordres d'achat et de vente

Le processus de simulation de SystemTrader ne permet pas à un système de trading de regarder dans le "futur", c'est à dire de baser ses décisions sur des évolutions postérieures du cours. Il est par exemple impossible qu'un système regarde si le cours d'un actif va évoluer à la hausse avant de décider d'effectuer un achat. Cette limitation volontaire du logiciel évite certains doutes quant au réalisme des résultats de la simulation : si ceux-ci sont positifs, cela ne peut être dû à l'utilisation de données qui n'auraient pas dû être accessibles.

Exécution du système d'entrée

Le système d'entrée décide d'entrer ou non sur le marché, en se basant sur les informations à sa disposition, c'est à dire l'ensemble des données d'un cours depuis le début de la simulation jusqu'à la dernière donnée lue.

Si la simulation se fait sur plusieurs valeurs simultanément, le système sera exécuté exactement une fois par valeur pour chaque jour de simulation. A chacune de ces exécutions, les données de la valeur en question sont utilisées.

Par exemple, pour une simulation sur 3 valeurs, le système d'entrée sera exécuté exactement 3 fois à chaque itération. A chacune de ces exécutions, les données d'une des valeurs sont utilisées : Close[0] signifie d'abord le cours de fermeture de Valeur1, puis celui de Valeur2 et enfin celui de Valeur3. Si le système d'entrée choisit de transmettre un ordre d'achat (par un appel à la fonction "buy") lorsque les données de Valeur3 sont utilisées, l'ordre sera un achat de Valeur3.

Exécution du manager de position

Le manager de position décide de sortir d'une position, ou bien d'alléger ou de renforcer celle-ci, en se basant sur les données historiques du cours, ainsi que sur l'état de la position en question.

A chaque itération du processus de simulation, le système de gestion de position est exécuté une fois par position ouverte. A chacune de ces exécutions, les données utilisées sont celles de la valeur sur laquelle la position a été prise, ainsi que les informations sur l'état de la position en question.



Plan du site | Mentions Légales | Conditions Générales de Vente | Soutiens | Contact
Copyright (c) 2008 Edge S.A.R.L. - Tous droits réservés.