[developement]Outil de backtest & live de stratégies

par cimourdain » 29 Déc 2019 15:01

Bonjour à tous

Introduction
Après quelques années à m'interesser de près au trading, grace à ce forum j'ai beaucoup travaillé sur ma psychologie ces derniers temps. De ma conclusion, le constat est sans appel, le trading ce n'est pas pour moi :(

En revanche, au travers de mon introspection sur ce qui me plaisait en trading, j'ai découvert que ce qui me plaisait le plus c'est ce que j'ai appris en développant des outils quand j'essayais de faire de robots. Je suis bien plus interessé par faire des programmes informatiques qui marchent que par des robots qui gagnent de l'agent. Tout cela a été un vrai changement de vie pour moi, j'ai tout plaqué, je me suis reconverti et maintenant je suis développeur informatique et totalement heureux. :D

Ceci-dit, je me perd pas de vue mon interêt pour le trading car je trouve que c'est une intarissable source d'idée de programmes développer. Je vous présente un outil que j'ai bien avancé dans ce topic, mais je suis totalement ouvert à d'autres idées/besoins que vous auriez.

Présentation
L'idée de base de cet outil est que je suis plus à l'aise avec les langages de programmation que les 'pseudo-languages' offerts par les PRT, MT4 et autres. Aussi, je trouvais ça passionnant de reprendre et réfléchir à la mechanique. Et pour finir, c'est aussi pour le fun.

L'outil a pour objectif de pouvoir définir simplement des strategies, de les backtester et de passer en live avec le même code. Vous définissez les epics (indices, actions etc.) les UT, les indicateurs dont vous avez besoin, ensuite vous définissez les stratégies d'ouverture/clôture à appliquer à chaque tick ou à chaque ouverture de bougie, et voila.

Aussi, j'ai voulu essayer de rendre l'outil le plus modulable possible, vous pouvez définir:
- vos propres sources de ticks
- vos propres api (selon vos brookers)
- vos propres modes de reporting

Remarque technique: l'outil se présente sous forme d'une librairie python.


La suite
J'espère ne pas vous décevoir, mais je ne vous donne volontairement pas le code. D'abord, il n'est pas encore assez bien fini pour une première version que vous pourriez utiliser (mais j'en suis très proche). Ensuite, je voulais avoir vos avis sans que vous puissez être biaisés par ce que j'ai déja fait.

L'objectif de ce post est de vous demander ce qui vous semble indispensable ou au contraire ce que vous aimeriez avoir pour vos backtest ou pour piloter vos robots.

J'essayerai de m'efforcer de rentrer un maximum de choses.


Remarque finale: si certains d'entre vous sont interessés par de la relecture/participation au code n'hésitez pas à me faire signe.

Bonnes fêtes de fin d'année à tous,