En matière de prédiction, rien n’est plus important que de disposer de données de qualité, et en quantité suffisante. Pour réaliser un robot robuste, c’est à dire adapté au plus grand nombre de situations de marché différentes, un test réalisé sur 1 ou 2 ans sera loin d’être suffisant.
Si vous avez opté pour une stratégie dont le principe est volontairement de générer des trades de manière quasi aléatoire, en espérant une balance plutôt positive in fine, ce point aura peut-être moins d’importance, mais vous devriez tout de même être curieux de savoir si vos réglages fonctionnent de manière générale, ou si ils sont adaptés juste sur ces derniers mois, avec par exemple un contexte de croissance forte et régulière.
Si votre robot est basé sur des signaux d’achat/vente clairement identifiés par une stratégie donnée, l’analyse des tendances aux différentes échelles de temps va alors permettre d’identifier les configurations de marché favorables à notre stratégie, de celles qui le sont beaucoup moins, et bien entendu, d’agir en conséquence.
Pour cela, il est important de regarder les tendances hebdomadaires et mensuelles qui ont un impact très important (que vous vous en soyez rendu compte ou pas encore…), et qui ne peuvent s’étudier que sur plusieurs années.
Restreindre son analyse à 1 ou 2 années comme beaucoup le font fait perdre une quantité d’informations pourtant très utile.
La récupération d’historiques suffisants est donc l’une des premières préoccupations à avoir, mais malheureusement, c’est un sujet rarement évoqué sur les forums.
Voyons donc tout cela en détail.
Tout d’abord, il est important de comprendre que par défaut, les historiques disponibles sur Metatrader sont largement incomplets. Si par exemple en mensuel vous allez pouvoir remonter 20 années au-delà, en hebdomadaire vous n’aurez peut-être plus que 10 années, puis au fur et à mesure que vous allez baisser dans les échelles de temps, la taille de l’historique va diminuer. Ces valeurs vont en outre varier d’un actif à un autre, et d’un broker à l’autre.
Sur l’échelle à 1 minute, vous n’aurez plus que quelques mois.
Et si vous descendez jusqu’aux ticks, il faut savoir que Metatrader inclut un système de simulation de ticks. Vous n’aurez donc probablement pas des ticks réels mais des ticks simulés.
Voyons maintenant comment améliorer le fonctionnement de base de Metatrader concernant les historiques de données.
Tick Data Suite et Tick Story sont 2 fournisseurs d’historiques de données financières parmi les plus cités. Tick Data Suite est un service payant (mais accessible), avec une version d’essai gratuite de 15 jours qui vous permet déjà de télécharger pas mal de données. Tick Story est un service gratuit, mais avec une version payante permettant notamment d’accélérer grandement les téléchargements qui sinon peuvent prendre facilement plusieurs heures.
Je vais par la suite utiliser Tick Story pour les explications, mais la procédure est quasiment la même pour Tick Data Suite, seule change l’interface de téléchargement.
Dans les 2 cas, il est possible de récupérer des historiques de 10 à 20 ans selon les actifs. Est-ce suffisant? Pas évident, nous verrons dans un autre comment y remédier en réalisant des optimisations sur plusieurs actifs.
Après avoir installer l’interface Tick Story proposée depuis leur site, vous avez rapidement accès à l’ensemble des actifs disponibles, forex, indices, crypto, commodities, etc… si vous ne trouvez pas votre bonheur, vous pouvez toujours essayer auprès d’un autre fournisseur de datas.
L’étape suivante consiste, avec un clic droit, à sélectionner votre actif, puis choisissez “Exporter vers MT5”, puis l’option “Bar” ou “Tick”. Les fichiers Ticks sont bien évidemment beaucoup plus volumineux que les simples Bars. Nous verrons dans un prochain article que les simulations sur Ticks sont également beaucoup plus lentes que sur les Bars. Vous pouvez dans un premier temps prendre l’option “Bar”, et si vous avez besoin plus tard de confirmer votre stratégie de manière plus précise en utilisant les Ticks, vous saurez où les trouver.
Une fois l’option “Bar” choisie, l’utilitaire de téléchargement apparaît. La période proposée par défaut est la période totale disponible. Ici, pour le DAX40, on a accès aux données depuis 2011, ce qui fait un peu plus de 10 années de données. Est-ce suffisant? Probablement pas, mais c’est tout ce qu’il est possible d’avoir pour commencer en gratuit.
Dans la ligne “Calendrier”, vous pouvez choisir le timeframe à télécharger. Je vous conseille le 1 minute ou le 5 minutes mais il vaut mieux ne pas aller au-delà.
La ligne “Régler le fuseau horaire” a une importance capitale que je n’ai comprise que tardivement malheureusement. Si vous laissez la valeur par défaut, sans chercher à vous aligner avec le fuseau horaire du serveur de votre broker, vous risquez d’avoir des décalages entre les courbes “temps réel” et les courbes issues de vos historiques. Cela peut avoir plusieurs incidences. Par exemple si votre stratégie doit respecter à des heures précises, vous n’allez tout simplement pas tester sur les bonnes tranches d’heures. Une autre incidence sur laquelle on peut facilement passer à côté pendant des années, est qu’un décalage d’une heure seulement entre les heures de votre historiques et les heures de votre broker peut provoquer l’apparition d’une bougie le dimanche (absente sur les courbes temps réel), ce qui va venir chambouler tous vos calculs d’indicateurs, positionnement dans votre stratégie, optimisation, etc… Autant dire que vous n’aurez qu’à tout reprendre depuis le début.
Pour ne pas vous tromper, il est préférable de télécharger seulement les derniers jours, de charger sur metatrader (nous allons voir maintenant comment faire), puis de comparer avec vos courbes réelles. Si vos bougies sont décalées, c’est que vous n’avez pas le bon fuseau horaire. Une fois que vous êtes certain du bon fuseau horaire à télécharger, vous n’avez plus qu’à lancer le téléchargement et à patienter!
Chargement des données dans Metatrader
La procédure est assez simple, quand on sait comment s’y prendre.
L’idée consiste à créer un nouveau symbole que l’on va venir alimenter avec nos historiques. Ce symbole sera ensuite utilisable directement depuis le testeur de stratégie comme si il s’agissait d’un symbole fourni par votre broker.
Depuis la barre d’outils, en haut à gauche, ou depuis l’onglet “Voir / Symboles”, vous lancez la fenêtre “Symboles”. Vous choisissez l’actif désiré, ici le DAX, en cliquant dessus, les informations relatives à cet actif apparaissent en bas. Puis vous cliquez sur “Créer un symbole”. Le fait de pré-sélectionner votre actif va permettre de récupérer toutes les informations qui lui sont relatives, et donc d’éviter de les saisir par la suite.
La fenêtre “Symbole personnalisé” apparaît alors. Il est préférable d’ajouter une extension “_ts” par exemple pour “tickstory” au nom de votre symbole afin de tracer l’origine des données et ne pas risquer de le confondre avec un symbole “réel”.
Une fois créé, votre symbole apparaîtra dans la rubrique “Custom”.
La dernière étape consiste à uploader votre historique. Pour cela, il vous suffit de cliquer sur le bouton “Barres” en haut de cette même fenêtre, puis sur le bouton “Importer des Barres”.
Une fois arrivé là, vous avez presque fini, mais une dernière vérification très importante s’impose: le montant des spreads. Les historiques contiennent en effet en dernière colonne le montant du spread applicable, mais il peut arriver un que cette valeur, qui dépend notamment du tickvalue configuré sur votre symbole, ne corresponde pas du tout aux spreads réels appliqués par votre broker. J’ai constaté des écarts équivalents à un facteur de 10, ce qui bien sût n’est pas acceptable. Pour s’assurer qu’il n’y a pas de soucis à ce niveau, le mieux est de lancer un robot dans le testeur de stratégie qui va afficher l’écart entre votre ASK et votre BID. Vous faîtes la même chose sur votre symbole réel. Si vous avez effectivement un facteur 10 de différence, vous devez alors ouvrir votre fichier d’historique sur un bon vieux excel et modifier la valeur de la dernière colonne en conséquence.
Il va de soi que sur un historique de 10 ans, le montant du spread a forcément évolué dans le temps, en même temps que la valeur de l’actif en question. C’est donc à vous de faire le choix d’utiliser une valeur fixe, un pourcentage, ou autre. Toutefois si vous avez des stratégies en daily, avec des trades sur plusieurs journées, une valeur approximative du spread de quelques points n’aura que peu d’influence sur l’évaluation de la performance générale. Si vous faîtes du scalping, ce n’est bien évidemment pas la même histoire!
Une fois le fichier modifié, vous pouvez le téléverser à nouveau par la même procédure.