{"id":15733,"date":"2026-10-31T20:42:04","date_gmt":"2026-10-31T20:42:04","guid":{"rendered":"https:\/\/bjftradinggroup.com\/?p=15733"},"modified":"2026-10-31T20:42:04","modified_gmt":"2026-10-31T20:42:04","slug":"forex-tick-data-backtesting","status":"publish","type":"post","link":"https:\/\/bjftradinggroup.com\/fr\/forex-tick-data-backtesting\/","title":{"rendered":"Donn\u00e9es tick forex pour le backtesting : sources, contr\u00f4les qualit\u00e9 et pi\u00e8ges"},"content":{"rendered":"<p><\/p>\n<div class=\"ftd-page\">\n<div class=\"ftd-hero\">\n<span class=\"ftd-hero-tag\">BJF TRADING GROUP \u00b7 BACKTESTING FOREX<\/span><\/p>\n<h2>Donn\u00e9es tick forex pour le backtesting : <span class=\"ftd-gold\">sources, contr\u00f4les qualit\u00e9 et pi\u00e8ges<\/span><\/h2>\n<p class=\"ftd-hero-sub\">Un backtest ne peut \u00eatre plus honn\u00eate que les prix que vous lui fournissez. Pour le scalping, l\u2019arbitrage et toute strat\u00e9gie qui \u00e9volue \u00e0 l\u2019int\u00e9rieur de quelques pips, les barres d\u2019une minute ne suffisent pas : il vous faut la s\u00e9quence r\u00e9elle des cotations bid et ask. Ce guide explique d\u2019o\u00f9 viennent les donn\u00e9es tick forex, pourquoi deux jeux de donn\u00e9es pour la m\u00eame paire ne concordent jamais, quels contr\u00f4les qualit\u00e9 effectuer avant de faire confiance \u00e0 un r\u00e9sultat, et comment transformer des ticks bruts en un test proche du trading r\u00e9el.<\/p>\n<\/div>\n<div class=\"ftd-toc\">\n<strong>Dans ce guide<\/strong><\/p>\n<ol>\n<li><a href=\"#ftd-what\">Ce que sont les donn\u00e9es tick forex<\/a><\/li>\n<li><a href=\"#ftd-bars\">Donn\u00e9es tick ou donn\u00e9es en barres : ce que cache l\u2019interpolation<\/a><\/li>\n<li><a href=\"#ftd-sources\">D\u2019o\u00f9 viennent les donn\u00e9es tick forex<\/a><\/li>\n<li><a href=\"#ftd-feeds\">Le flux de votre broker face \u00e0 un flux de r\u00e9f\u00e9rence<\/a><\/li>\n<li><a href=\"#ftd-time\">Horodatages, fuseaux horaires et heure d\u2019\u00e9t\u00e9<\/a><\/li>\n<li><a href=\"#ftd-quality\">Contr\u00f4les qualit\u00e9 avant de faire confiance \u00e0 un jeu de donn\u00e9es<\/a><\/li>\n<li><a href=\"#ftd-steps\">\u00c9tape par \u00e9tape : pr\u00e9parer des donn\u00e9es tick pour un backtest<\/a><\/li>\n<li><a href=\"#ftd-spread\">Spread variable : le co\u00fbt que cache un spread fixe<\/a><\/li>\n<li><a href=\"#ftd-impact\">\u00c0 quel point l\u2019hypoth\u00e8se sur les donn\u00e9es change le r\u00e9sultat<\/a><\/li>\n<li><a href=\"#ftd-exec\">Les ticks sont n\u00e9cessaires, mais pas suffisants : le temps d\u2019ex\u00e9cution<\/a><\/li>\n<li><a href=\"#ftd-storage\">Stockage, formats et manipulation<\/a><\/li>\n<li><a href=\"#ftd-pitfalls\">Pi\u00e8ges courants<\/a><\/li>\n<li><a href=\"#ftd-faq\">Questions fr\u00e9quentes<\/a><\/li>\n<\/ol>\n<\/div>\n<h2 id=\"ftd-what\">Ce que sont les donn\u00e9es tick forex<\/h2>\n<p class=\"ftd-answer\"><strong>R\u00e9ponse courte :<\/strong> les donn\u00e9es tick forex sont l\u2019enregistrement de chaque changement de cotation d\u2019une paire de devises : un horodatage (g\u00e9n\u00e9ralement en millisecondes), le prix bid, le prix ask et parfois le volume cot\u00e9 de chaque c\u00f4t\u00e9. Contrairement aux donn\u00e9es en barres, qui ne conservent que l\u2019ouverture, le plus haut, le plus bas et la cl\u00f4ture de chaque p\u00e9riode, les donn\u00e9es tick pr\u00e9servent l\u2019ordre, le moment et le spread de chaque mise \u00e0 jour de prix, c\u2019est-\u00e0-dire ce sur quoi une strat\u00e9gie court terme trade r\u00e9ellement.<\/p>\n<p>Une ligne typique ressemble \u00e0 ceci :<\/p>\n<div class=\"ftd-code\">2026.10.14 08:00:00.137, 1.08512, 1.08519, 1.50, 2.25<\/div>\n<p>On y trouve l\u2019heure, le bid, l\u2019ask, et le volume disponible au bid et \u00e0 l\u2019ask (en millions, si la source le fournit). Le spread de ce tick est de 0.7 pip. Une seconde plus tard, il peut y avoir cinq lignes de plus, ou aucune.<\/p>\n<p>Il faut comprendre une chose avant tout : <strong>le march\u00e9 forex au comptant n\u2019a pas de bande centrale<\/strong>. Les actions et les contrats \u00e0 terme disposent d\u2019une bourse qui publie la s\u00e9quence officielle des transactions. Le forex se n\u00e9gocie de gr\u00e9 \u00e0 gr\u00e9 entre de nombreuses banques, ECN et brokers, et chacun diffuse ses propres cotations. Chaque jeu de donn\u00e9es tick forex est donc la vision du march\u00e9 d\u2019une plateforme ou d\u2019un agr\u00e9gateur. Deux sources peuvent diverger d\u2019une fraction de pip et de dizaines de millisecondes au m\u00eame instant, et toutes deux peuvent \u00eatre exactes pour leur propre plateforme.<\/p>\n<p>Ce fait structure l\u2019essentiel de ce guide. \u00ab Ces donn\u00e9es tick sont-elles exactes ? \u00bb est la mauvaise question. Les questions utiles sont : exactes <em>pour quelle plateforme d\u2019ex\u00e9cution<\/em>, enregistr\u00e9es <em>comment<\/em>, et nettoy\u00e9es <em>comment<\/em> ?<\/p>\n<h3>Ticks de cotation et ticks de transaction<\/h3>\n<p>La plupart des jeux de donn\u00e9es forex sont des <strong>ticks de cotation<\/strong> : des changements du meilleur bid ou du meilleur ask. Ce ne sont pas des transactions. Une cotation peut changer dix fois sans qu\u2019aucune affaire ne soit conclue, et une grosse transaction peut ne pas modifier du tout le haut du carnet. Certaines donn\u00e9es FX issues des contrats \u00e0 terme ou n\u00e9goci\u00e9es en bourse contiennent des <strong>ticks de transaction<\/strong> (dernier prix et taille), mais pour le backtesting du forex au comptant, vous voulez des cotations bid et ask, car c\u2019est contre elles que vos ordres seront ex\u00e9cut\u00e9s : les achats \u00e0 l\u2019ask, les ventes au bid.<\/p>\n<h2 id=\"ftd-bars\">Donn\u00e9es tick ou donn\u00e9es en barres : ce que cache l\u2019interpolation<\/h2>\n<p>De nombreux outils de backtesting qui pr\u00e9tendent tester \u00ab chaque tick \u00bb n\u2019utilisent en r\u00e9alit\u00e9 aucun tick enregistr\u00e9. Ils prennent des barres d\u2019une minute et <strong>g\u00e9n\u00e8rent<\/strong> des ticks synth\u00e9tiques \u00e0 l\u2019int\u00e9rieur de chaque barre, g\u00e9n\u00e9ralement un chemin lisse de l\u2019ouverture vers le plus haut et le plus bas, puis jusqu\u2019\u00e0 la cl\u00f4ture. Le r\u00e9sultat ressemble \u00e0 des donn\u00e9es tick, mais il ne contient aucune information que la barre n\u2019avait pas d\u00e9j\u00e0.<\/p>\n<figure class=\"ftd-figure\"><img decoding=\"async\" src=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/interpolated-vs-recorded-ticks-forex-tick-data-backtesting-1760x800-1.webp\" alt=\"Ticks forex enregistr\u00e9s compar\u00e9s \u00e0 des ticks synth\u00e9tiques interpol\u00e9s \u00e0 partir d\u2019une barre OHLC d\u2019une minute (illustratif)\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>En l\u2019espace d\u2019une minute : les ticks bid enregistr\u00e9s sautent, marquent une pause et s\u2019inversent ; les ticks g\u00e9n\u00e9r\u00e9s \u00e0 partir de l\u2019OHLC de la barre suivent un chemin lisse et inventent l\u2019ordre du plus haut et du plus bas. Donn\u00e9es illustratives.<\/figcaption><\/figure>\n<p>Voici pourquoi c\u2019est important. Prenons une barre EUR\/USD d\u2019une minute : ouverture 1.08500, plus haut 1.08540, plus bas 1.08480, cl\u00f4ture 1.08520. Une position longue est ouverte avec un take-profit \u00e0 1.08530 et un stop-loss \u00e0 1.08485. Les deux niveaux se trouvent \u00e0 l\u2019int\u00e9rieur de la barre. Le trade a-t-il gagn\u00e9 ou perdu ?<\/p>\n<ul class=\"ftd-checks\">\n<li><strong>Si le plus bas est venu en premier<\/strong>, le stop a \u00e9t\u00e9 touch\u00e9 \u00e0 1.08485 et le trade a perdu 1.5 pip.<\/li>\n<li><strong>Si le plus haut est venu en premier<\/strong>, le take-profit a \u00e9t\u00e9 touch\u00e9 \u00e0 1.08530 et le trade a gagn\u00e9 3 pips.<\/li>\n<\/ul>\n<p>La barre ne peut pas vous le dire. Le g\u00e9n\u00e9rateur choisit un ordre (souvent selon une r\u00e8gle fixe, comme \u00ab une barre haussi\u00e8re va d\u2019abord au plus bas \u00bb), et le backtest affiche avec assurance un r\u00e9sultat qui rel\u00e8ve en partie du pile ou face. Pour une strat\u00e9gie swing avec un objectif de 100 pips, cela compte rarement. Pour une strat\u00e9gie dont les objectifs et les stops se situent \u00e0 quelques pips de l\u2019entr\u00e9e, cela d\u00e9cide d\u2019une grande partie des trades.<\/p>\n<p>L\u2019interpolation efface aussi trois \u00e9l\u00e9ments que les ticks enregistr\u00e9s conservent :<\/p>\n<div class=\"ftd-table-wrap\">\n<table class=\"ftd-table\">\n<thead>\n<tr>\n<th>Ce dont la strat\u00e9gie a besoin<\/th>\n<th>Ticks enregistr\u00e9s<\/th>\n<th>Ticks g\u00e9n\u00e9r\u00e9s \u00e0 partir des barres<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Ordre du plus haut et du plus bas au sein d\u2019une minute<\/td>\n<td>Exact<\/td>\n<td>Devin\u00e9 selon une r\u00e8gle<\/td>\n<\/tr>\n<tr>\n<td>Sauts de prix (un mouvement de 1.5 pip en une seule cotation)<\/td>\n<td>Pr\u00e9sents<\/td>\n<td>Liss\u00e9s en petits pas<\/td>\n<\/tr>\n<tr>\n<td>Spread de chaque cotation<\/td>\n<td>Pr\u00e9sent (bid et ask)<\/td>\n<td>En g\u00e9n\u00e9ral un spread fixe ou une valeur par barre<\/td>\n<\/tr>\n<tr>\n<td>Intervalle entre les cotations (secondes calmes ou agit\u00e9es)<\/td>\n<td>Pr\u00e9sent<\/td>\n<td>R\u00e9guli\u00e8rement espac\u00e9 ou invent\u00e9<\/td>\n<\/tr>\n<tr>\n<td>Activit\u00e9 des cotations autour des annonces et du rollover<\/td>\n<td>Pr\u00e9sente<\/td>\n<td>Perdue<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Les sauts sont le point critique pour l\u2019<a href=\"https:\/\/bjftradinggroup.com\/latency-arbitrage\/\">arbitrage de latence<\/a> : le signal <em>est<\/em> le saut. Un chemin synth\u00e9tique qui va de 1.08500 \u00e0 1.08515 en quinze petits pas ne produit aucun signal, si bien qu\u2019une strat\u00e9gie qui traderait en r\u00e9el para\u00eet morte dans le test, ou qu\u2019une strat\u00e9gie qui ach\u00e8te les replis para\u00eet meilleure qu\u2019elle ne l\u2019est.<\/p>\n<h2 id=\"ftd-sources\">D\u2019o\u00f9 viennent les donn\u00e9es tick forex<\/h2>\n<p>Il existe cinq sources r\u00e9alistes. Elles diff\u00e8rent par leur co\u00fbt, leur profondeur et, surtout, par leur degr\u00e9 de correspondance avec les prix auxquels vous traderez r\u00e9ellement.<\/p>\n<div class=\"ftd-table-wrap\">\n<table class=\"ftd-table\">\n<thead>\n<tr>\n<th>Source<\/th>\n<th>Ce que vous obtenez<\/th>\n<th>Points forts<\/th>\n<th>Limites<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Votre propre enregistrement<\/strong> (via l\u2019API du broker ou une session FIX)<\/td>\n<td>Chaque cotation re\u00e7ue par votre compte, avec votre heure de r\u00e9ception locale<\/td>\n<td>Correspondance exacte avec votre plateforme d\u2019ex\u00e9cution ; vous ma\u00eetrisez les horodatages et le format<\/td>\n<td>Ne commence qu\u2019\u00e0 partir du moment o\u00f9 vous lancez l\u2019enregistrement ; n\u00e9cessite une machine stable ; trous en cas de coupure de connexion<\/td>\n<\/tr>\n<tr>\n<td><strong>T\u00e9l\u00e9chargement de l\u2019historique du broker<\/strong><\/td>\n<td>Bid\/ask historiques issus du flux propre du broker<\/td>\n<td>Proche de votre plateforme ; souvent des ann\u00e9es d\u2019historique<\/td>\n<td>Qualit\u00e9 variable ; certains brokers all\u00e8gent ou filtrent les anciens ticks ; les horodatages peuvent \u00eatre en heure serveur<\/td>\n<\/tr>\n<tr>\n<td><strong>Archives publiques gratuites<\/strong> (propos\u00e9es par certains brokers ECN et agr\u00e9gateurs, p. ex. Dukascopy, TrueFX, HistData.com)<\/td>\n<td>Ticks bid\/ask pour les paires majeures, souvent depuis les ann\u00e9es 2000<\/td>\n<td>Gratuites, long historique, adapt\u00e9es \u00e0 la recherche et aux tests de robustesse<\/td>\n<td>Vision d\u2019une plateforme ou d\u2019un agr\u00e9gateur, pas la v\u00f4tre ; spreads et fr\u00e9quence de cotation diff\u00e9rents de ceux de votre broker ; v\u00e9rifiez la convention de fuseau horaire de chaque source<\/td>\n<\/tr>\n<tr>\n<td><strong>Fournisseurs de donn\u00e9es commerciaux<\/strong><\/td>\n<td>Historique tick multi-plateformes nettoy\u00e9 et normalis\u00e9<\/td>\n<td>M\u00e9thodologie document\u00e9e, formats coh\u00e9rents, support<\/td>\n<td>Co\u00fbteux ; ce n\u2019est toujours pas le flux de votre broker<\/td>\n<\/tr>\n<tr>\n<td><strong>Flux de r\u00e9f\u00e9rence \/ flux rapides<\/strong> (p. ex. l\u2019historique tick de BJF Feed depuis les n\u0153uds de Londres, Tokyo et New York)<\/td>\n<td>Un flux de prix de r\u00e9f\u00e9rence rapide et ind\u00e9pendant<\/td>\n<td>Indispensable pour tester les strat\u00e9gies qui comparent un flux lent \u00e0 un flux rapide<\/td>\n<td>Doit \u00eatre associ\u00e9 aux ticks propres du broker pour les tests d\u2019arbitrage<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>La r\u00e8gle pratique : <strong>utilisez l\u2019historique propre le plus long possible pour la recherche, et les donn\u00e9es les plus proches de votre plateforme pour la d\u00e9cision finale.<\/strong> Une strat\u00e9gie qui ne fonctionne que sur une archive gratuite et \u00e9choue sur les ticks enregistr\u00e9s de votre broker ne fonctionne pas. Une strat\u00e9gie qui tient sur les deux, avec des co\u00fbts r\u00e9alistes, a pass\u00e9 un test significatif.<\/p>\n<p>Si vous pr\u00e9voyez de faire tourner une strat\u00e9gie pendant des mois, commencez d\u00e8s aujourd\u2019hui \u00e0 enregistrer les ticks de votre broker, avant m\u00eame que la strat\u00e9gie soit termin\u00e9e. Trois mois de votre propre flux valent davantage pour la v\u00e9rification finale que dix ans du flux de quelqu\u2019un d\u2019autre.<\/p>\n<h2 id=\"ftd-feeds\">Le flux de votre broker face \u00e0 un flux de r\u00e9f\u00e9rence<\/h2>\n<p>Comme chaque plateforme diffuse ses propres cotations, un m\u00eame instant appara\u00eet l\u00e9g\u00e8rement diff\u00e9rent selon l\u2019endroit d\u2019o\u00f9 on l\u2019observe. Ces diff\u00e9rences ont une structure :<\/p>\n<ul class=\"ftd-checks\">\n<li><strong>D\u00e9calage de prix.<\/strong> Les prix m\u00e9dians concordent g\u00e9n\u00e9ralement \u00e0 une fraction de pip pr\u00e8s pendant les heures liquides et s\u2019\u00e9cartent sur les march\u00e9s peu liquides, au rollover et autour des annonces.<\/li>\n<li><strong>D\u00e9calage temporel.<\/strong> Un broker qui agr\u00e8ge les prix de fournisseurs de liquidit\u00e9, applique sa propre marge et effectue des contr\u00f4les de risque affichera souvent un mouvement plus tard qu\u2019un flux de r\u00e9f\u00e9rence rapide. Le retard peut aller de quelques millisecondes \u00e0 plusieurs centaines.<\/li>\n<li><strong>Fr\u00e9quence des cotations.<\/strong> Certains flux envoient chaque changement, d\u2019autres les limitent (par exemple, au plus une mise \u00e0 jour toutes les 100 ms par symbole). Un flux limit\u00e9 comporte moins de ticks et des sauts plus importants.<\/li>\n<li><strong>Profil de spread.<\/strong> Un flux ECN brut et un flux de d\u00e9tail avec marge peuvent diff\u00e9rer d\u2019un pip entier en spread moyen, et de bien plus au rollover.<\/li>\n<\/ul>\n<figure class=\"ftd-figure\"><img decoding=\"async\" src=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/broker-vs-reference-feed-forex-tick-data-backtesting-1760x800-1.webp\" alt=\"Deux flux forex pour la m\u00eame minute : le flux de r\u00e9f\u00e9rence en avance sur le flux du broker, avec la distribution du retard (illustratif)\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>M\u00eame paire, m\u00eame minute, deux flux. Le flux du broker reproduit les mouvements de la r\u00e9f\u00e9rence avec un retard et moins de mises \u00e0 jour ; le panneau de droite montre la distribution de ce retard. Donn\u00e9es illustratives, pas une mesure d\u2019un broker en particulier.<\/figcaption><\/figure>\n<p>Pour la plupart des strat\u00e9gies, cela signifie que vous devez tester sur le flux sur lequel vous traderez. Pour l\u2019arbitrage de latence, cela va plus loin : l\u2019avantage de la strat\u00e9gie <em>est<\/em> la diff\u00e9rence entre deux flux, vous avez donc besoin des deux, enregistr\u00e9s avec des horodatages provenant de la m\u00eame horloge. Tester une strat\u00e9gie d\u2019arbitrage sur les ticks d\u2019un seul fournisseur n\u2019a aucun sens. Nous expliquons comment comparer des flux tick par tick dans notre article sur la <a href=\"https:\/\/bjftradinggroup.com\/the-critical-role-of-tick-comparison-in-forex-arbitrage-and-high-frequency-trading-hft\/\">comparaison des ticks en arbitrage forex et en HFT<\/a>, et pourquoi le c\u00f4t\u00e9 r\u00e9f\u00e9rence doit \u00eatre rapide dans le guide des <a href=\"https:\/\/bjftradinggroup.com\/fast-feed-for-arbitrage\/\">flux de donn\u00e9es rapides pour l\u2019arbitrage<\/a>.<\/p>\n<h2 id=\"ftd-time\">Horodatages, fuseaux horaires et heure d\u2019\u00e9t\u00e9<\/h2>\n<p>Les probl\u00e8mes d\u2019horodatage provoquent davantage d\u2019erreurs silencieuses de backtest que les mauvais prix. Quatre points \u00e0 v\u00e9rifier :<\/p>\n<h3>1. Dans quel fuseau horaire sont les donn\u00e9es ?<\/h3>\n<p>Les conventions courantes sont UTC\/GMT, l\u2019heure de l\u2019Est des \u00c9tats-Unis (avec ou sans heure d\u2019\u00e9t\u00e9) et l\u2019\u00ab heure serveur \u00bb du broker, que de nombreux brokers r\u00e8glent sur GMT+2 en hiver et GMT+3 en \u00e9t\u00e9 afin que la journ\u00e9e de trading se termine \u00e0 17:00 heure de New York. Si votre strat\u00e9gie dit \u00ab trader l\u2019ouverture de Londres \u00e0 08:00 \u00bb, un d\u00e9calage d\u2019une heure signifie qu\u2019elle trade un autre r\u00e9gime de march\u00e9.<\/p>\n<h3>2. L\u2019heure d\u2019\u00e9t\u00e9 est-elle appliqu\u00e9e, et laquelle ?<\/h3>\n<p>L\u2019Europe et les \u00c9tats-Unis changent d\u2019heure \u00e0 des dates diff\u00e9rentes. Pendant environ trois semaines en mars et une semaine entre fin octobre et d\u00e9but novembre, l\u2019\u00e9cart entre Londres et New York est de quatre heures au lieu de cinq. Un jeu de donn\u00e9es converti avec la mauvaise r\u00e8gle d\u00e9cale la logique bas\u00e9e sur les sessions d\u2019une heure pendant ces semaines. L\u2019erreur est faible, saisonni\u00e8re et tr\u00e8s difficile \u00e0 rep\u00e9rer sur une courbe de capital.<\/p>\n<h3>3. O\u00f9 l\u2019horodatage a-t-il \u00e9t\u00e9 pris ?<\/h3>\n<p>Un tick peut porter l\u2019heure \u00e0 laquelle la plateforme a g\u00e9n\u00e9r\u00e9 la cotation, l\u2019heure \u00e0 laquelle celle-ci a quitt\u00e9 son serveur, ou l\u2019heure \u00e0 laquelle votre machine l\u2019a re\u00e7ue. Pour une strat\u00e9gie de tendance, la diff\u00e9rence est sans importance. Pour les strat\u00e9gies sensibles \u00e0 la latence, c\u2019est toute la question : deux flux ne peuvent \u00eatre compar\u00e9s que s\u2019ils sont horodat\u00e9s sur la m\u00eame horloge, id\u00e9alement votre propre heure de r\u00e9ception synchronis\u00e9e par NTP ou PTP.<\/p>\n<h3>4. R\u00e9solution et ordre<\/h3>\n<p>Des horodatages \u00e0 la seconde ne suffisent pas pour le travail court terme : des dizaines de cotations peuvent partager la m\u00eame seconde, et leur ordre interne peut \u00eatre perdu apr\u00e8s un tri. Utilisez une r\u00e9solution \u00e0 la milliseconde (ou plus fine) et conservez l\u2019ordre d\u2019origine du fichier comme crit\u00e8re de d\u00e9partage.<\/p>\n<h2 id=\"ftd-quality\">Contr\u00f4les qualit\u00e9 avant de faire confiance \u00e0 un jeu de donn\u00e9es<\/h2>\n<p>Les donn\u00e9es tick brutes contiennent toujours des erreurs. L\u2019objectif n\u2019est pas la perfection, mais de savoir ce que contiennent les donn\u00e9es et de retirer ce qui fausserait le test. Voici les contr\u00f4les que nous effectuons sur tout nouveau jeu de donn\u00e9es avant de l\u2019utiliser dans une optimisation :<\/p>\n<div class=\"ftd-table-wrap\">\n<table class=\"ftd-table\">\n<thead>\n<tr>\n<th>Contr\u00f4le<\/th>\n<th>Ce qu\u2019il faut rep\u00e9rer<\/th>\n<th>Action habituelle<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Temps monotone<\/td>\n<td>Horodatages qui reculent<\/td>\n<td>Retrier uniquement si la cause est connue ; sinon, signaler le fichier<\/td>\n<\/tr>\n<tr>\n<td>Doublons<\/td>\n<td>Lignes identiques (m\u00eame heure, bid, ask)<\/td>\n<td>Supprimer les doublons exacts ; conserver les prix r\u00e9p\u00e9t\u00e9s \u00e0 des heures diff\u00e9rentes<\/td>\n<\/tr>\n<tr>\n<td>Spread crois\u00e9 ou nul<\/td>\n<td>Ask &le; bid<\/td>\n<td>Supprimer ; des cas fr\u00e9quents indiquent une source d\u00e9faillante ou des flux fusionn\u00e9s<\/td>\n<\/tr>\n<tr>\n<td>Spread anormal<\/td>\n<td>Spread sup\u00e9rieur, disons, \u00e0 10&times; la m\u00e9diane horaire en dehors des \u00e9v\u00e9nements connus<\/td>\n<td>Signaler ; conserver s\u2019il correspond au rollover ou \u00e0 une annonce, supprimer s\u2019il est isol\u00e9<\/td>\n<\/tr>\n<tr>\n<td>Pics de prix<\/td>\n<td>Un saut du prix m\u00e9dian de plusieurs fois la volatilit\u00e9 r\u00e9cente qui s\u2019inverse en quelques ticks<\/td>\n<td>Supprimer les pics isol\u00e9s ; ne jamais filtrer les vrais mouvements li\u00e9s aux annonces<\/td>\n<\/tr>\n<tr>\n<td>Trous<\/td>\n<td>Aucun tick pendant plus de 60 secondes aux heures liquides<\/td>\n<td>Cartographier les trous ; exclure ces p\u00e9riodes du test ou marquer les trades qui s\u2019y trouvent<\/td>\n<\/tr>\n<tr>\n<td>Cotations fig\u00e9es<\/td>\n<td>Le m\u00eame bid\/ask r\u00e9p\u00e9t\u00e9 pendant des minutes alors que les autres sources bougent<\/td>\n<td>Traiter comme un trou<\/td>\n<\/tr>\n<tr>\n<td>Ticks du week-end et des jours f\u00e9ri\u00e9s<\/td>\n<td>Cotations entre la cl\u00f4ture du vendredi et l\u2019ouverture du dimanche<\/td>\n<td>Supprimer, ou v\u00e9rifier le fuseau horaire si une heure enti\u00e8re y appara\u00eet<\/td>\n<\/tr>\n<tr>\n<td>Densit\u00e9 des ticks<\/td>\n<td>Ticks par heure compar\u00e9s \u00e0 la m\u00eame heure les autres jours<\/td>\n<td>Une chute soudaine sugg\u00e8re une limitation du flux ou un probl\u00e8me d\u2019enregistrement<\/td>\n<\/tr>\n<tr>\n<td>\u00c9chelle de prix et nombre de d\u00e9cimales<\/td>\n<td>Cotations \u00e0 4 ou 5 d\u00e9cimales, paires JPY \u00e0 3 d\u00e9cimales<\/td>\n<td>Normaliser avant de fusionner des sources<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Une r\u00e8gle simple et robuste pour les pics : calculez l\u2019\u00e9cart absolu m\u00e9dian (MAD) glissant des variations du prix m\u00e9dian sur les 200 derniers ticks ; signalez tout tick dont la variation d\u00e9passe environ 15&times; le MAD <em>et<\/em> qui s\u2019inverse en grande partie dans les trois ticks suivants. Un vrai mouvement d\u2019annonce ne s\u2019inverse pas en trois ticks ; une cotation erron\u00e9e, g\u00e9n\u00e9ralement si. Ajustez les seuils pour chaque paire et examinez ce que vous supprimez, car un filtre trop z\u00e9l\u00e9 efface pr\u00e9cis\u00e9ment les mouvements dont une strat\u00e9gie d\u2019arbitrage ou d\u2019annonces a besoin.<\/p>\n<div class=\"ftd-box\"><strong>Tenez un journal.<\/strong> Notez combien de lignes chaque contr\u00f4le a supprim\u00e9es ou signal\u00e9es par mois. Si un mois perd 8% de ses ticks alors que les autres en perdent 0.1%, ce mois a un probl\u00e8me de source, et tout r\u00e9sultat de strat\u00e9gie qui en d\u00e9pend est suspect.<\/div>\n<h2 id=\"ftd-steps\">\u00c9tape par \u00e9tape : pr\u00e9parer des donn\u00e9es tick pour un backtest<\/h2>\n<figure class=\"ftd-figure\"><img decoding=\"async\" src=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/tick-data-cleaning-pipeline-forex-tick-data-backtesting-1760x800-1.webp\" alt=\"Cha\u00eene de nettoyage des donn\u00e9es tick forex, des fichiers bruts \u00e0 un jeu de donn\u00e9es de backtest valid\u00e9\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>Des fichiers bruts \u00e0 un jeu de donn\u00e9es fiable : chaque \u00e9tape corrige un probl\u00e8me connu ou le consigne.<\/figcaption><\/figure>\n<div class=\"ftd-steps\">\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">1<\/span><\/p>\n<div><strong>Choisissez la source selon la question.<\/strong> Un long historique gratuit pour la recherche et la robustesse ; les ticks enregistr\u00e9s de votre broker pour la v\u00e9rification finale ; un flux de r\u00e9f\u00e9rence en plus si la strat\u00e9gie compare des flux.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">2<\/span><\/p>\n<div><strong>Normalisez les horodatages.<\/strong> Convertissez tout en UTC avec une r\u00e9solution \u00e0 la milliseconde, appliquez la bonne r\u00e8gle d\u2019heure d\u2019\u00e9t\u00e9 de la source et conservez l\u2019ordre d\u2019origine comme crit\u00e8re de d\u00e9partage.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">3<\/span><\/p>\n<div><strong>Normalisez les prix.<\/strong> M\u00eame nombre de d\u00e9cimales par symbole, bid et ask dans des colonnes s\u00e9par\u00e9es, pas de donn\u00e9es uniquement m\u00e9dianes si la strat\u00e9gie paie le spread.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">4<\/span><\/p>\n<div><strong>Supprimez les erreurs \u00e9videntes.<\/strong> Doublons exacts, spreads crois\u00e9s ou nuls, ticks du week-end, pics isol\u00e9s qui s\u2019inversent.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">5<\/span><\/p>\n<div><strong>Cartographiez les trous et les p\u00e9riodes fig\u00e9es.<\/strong> Enregistrez-les sous forme de liste d\u2019intervalles exclus au lieu de les combler avec des prix invent\u00e9s.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">6<\/span><\/p>\n<div><strong>Comparez avec une seconde source.<\/strong> Comparez les prix m\u00e9dians et les spreads horaires avec un autre jeu de donn\u00e9es ; des diff\u00e9rences importantes et persistantes indiquent un probl\u00e8me d\u2019\u00e9chelle, de fuseau horaire ou de flux.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">7<\/span><\/p>\n<div><strong>D\u00e9coupez la p\u00e9riode.<\/strong> R\u00e9servez une fen\u00eatre hors \u00e9chantillon (par exemple les derniers 25%) et un calendrier walk-forward avant d\u2019optimiser quoi que ce soit.<\/div>\n<\/div>\n<div class=\"ftd-step\"><span class=\"ftd-step-n\">8<\/span><\/p>\n<div><strong>D\u00e9finissez les hypoth\u00e8ses d\u2019ex\u00e9cution.<\/strong> Spread variable issu des ticks, votre temps d\u2019ex\u00e9cution r\u00e9el en millisecondes, commission par lot. Lancez ensuite le test.<\/div>\n<\/div>\n<\/div>\n<h2 id=\"ftd-spread\">Spread variable : le co\u00fbt que cache un spread fixe<\/h2>\n<p>De nombreux tests utilisent une valeur de spread unique, par exemple 0.8 pip pour l\u2019EUR\/USD. Les spreads r\u00e9els varient toute la journ\u00e9e : serr\u00e9s pendant le chevauchement Londres\u2013New York, plus larges pendant la session asiatique, larges de plusieurs pips pendant quelques minutes autour du rollover quotidien et des publications majeures. Les causes sont d\u00e9taill\u00e9es dans notre guide expliquant <a href=\"https:\/\/bjftradinggroup.com\/forex-spread-widening\/\">pourquoi les spreads forex s\u2019\u00e9largissent<\/a>.<\/p>\n<p>Un spread fixe est faux de mani\u00e8re syst\u00e9matique, car les strat\u00e9gies ne tradent pas \u00e0 des moments al\u00e9atoires. Une strat\u00e9gie de cassure a tendance \u00e0 se d\u00e9clencher quand la volatilit\u00e9 augmente, pr\u00e9cis\u00e9ment quand les spreads s\u2019\u00e9largissent. Une strat\u00e9gie de retour \u00e0 la moyenne qui trade la session asiatique calme rencontre des spreads sup\u00e9rieurs \u00e0 la moyenne journali\u00e8re. Avec des ticks bid\/ask enregistr\u00e9s, chaque trade paie le spread r\u00e9ellement cot\u00e9 \u00e0 cet instant.<\/p>\n<p><strong>Exemple chiffr\u00e9 (chiffres illustratifs).<\/strong> Une strat\u00e9gie de scalping effectue 400 allers-retours par mois sur l\u2019EUR\/USD avec 1 lot standard (environ $10 par pip).<\/p>\n<div class=\"ftd-cards\">\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">0.8 pip<\/span><span class=\"ftd-card-l\">Spread fixe dans le test<\/span><span class=\"ftd-card-n\">400 trades &times; 0.8 &times; $10 = $3,200 par mois en co\u00fbts de spread<\/span><\/div>\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">1.1 pip<\/span><span class=\"ftd-card-l\">Spread moyen r\u00e9ellement pay\u00e9<\/span><span class=\"ftd-card-n\">la strat\u00e9gie trade plus souvent pendant les minutes volatiles : 400 &times; 1.1 &times; $10 = $4,400<\/span><\/div>\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">$1,200<\/span><span class=\"ftd-card-l\">Co\u00fbt mensuel ignor\u00e9 par le test<\/span><span class=\"ftd-card-n\">par lot ; si l\u2019avantage brut est de 1.5 pip par trade, une erreur de 0.3 pip en supprime 20%<\/span><\/div>\n<\/div>\n<p class=\"ftd-note\">Le chiffre de 1.1 pip est un exemple destin\u00e9 \u00e0 illustrer le m\u00e9canisme, et non une valeur mesur\u00e9e chez un broker. Mesurez dans les donn\u00e9es tick le spread moyen que rencontrent r\u00e9ellement les trades de votre strat\u00e9gie.<\/p>\n<h2 id=\"ftd-impact\">\u00c0 quel point l\u2019hypoth\u00e8se sur les donn\u00e9es change le r\u00e9sultat<\/h2>\n<p>Pour montrer l\u2019effet de chaque hypoth\u00e8se, le graphique ci-dessous prend une strat\u00e9gie court terme hypoth\u00e9tique et ne modifie que les donn\u00e9es et le mod\u00e8le d\u2019ex\u00e9cution. Les chiffres sont illustratifs, construits pour refl\u00e9ter le sens et l\u2019ordre de grandeur des effets que nous observons r\u00e9guli\u00e8rement en passant de tests sur barres \u00e0 des tests sur ticks avec une ex\u00e9cution r\u00e9aliste. Ce ne sont pas les r\u00e9sultats d\u2019une strat\u00e9gie particuli\u00e8re.<\/p>\n<figure class=\"ftd-figure\"><img decoding=\"async\" src=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/data-assumption-impact-forex-tick-data-backtesting-1760x800-1.webp\" alt=\"R\u00e9sultat net moyen par trade d\u2019une strat\u00e9gie selon quatre hypoth\u00e8ses de donn\u00e9es et d\u2019ex\u00e9cution, des barres interpol\u00e9es aux ticks r\u00e9els avec temps d\u2019ex\u00e9cution (illustratif)\" width=\"1760\" height=\"800\" loading=\"lazy\"><figcaption>Chaque \u00e9tape ajoute une part de r\u00e9alit\u00e9 : ticks enregistr\u00e9s, spread variable, puis temps d\u2019ex\u00e9cution. Chiffres illustratifs.<\/figcaption><\/figure>\n<p>C\u2019est la tendance qui compte. Chaque hypoth\u00e8se r\u00e9aliste retire une partie de l\u2019avantage, et la derni\u00e8re \u00e9tape, le temps d\u2019ex\u00e9cution, est souvent celle qui en retire le plus pour les strat\u00e9gies court terme. Si une strat\u00e9gie franchit les quatre \u00e9tapes avec un r\u00e9sultat positif et un nombre de trades raisonnable, elle m\u00e9rite un petit test en r\u00e9el. Si elle ne para\u00eet bonne que dans la premi\u00e8re colonne, l\u2019avantage appartient au mod\u00e8le de donn\u00e9es, pas au march\u00e9.<\/p>\n<h2 id=\"ftd-exec\">Les ticks sont n\u00e9cessaires, mais pas suffisants : le temps d\u2019ex\u00e9cution<\/h2>\n<p>M\u00eame un jeu de donn\u00e9es tick parfait donne un test optimiste si chaque ordre est ex\u00e9cut\u00e9 au prix du tick qui l\u2019a d\u00e9clench\u00e9. En r\u00e9el, il y a toujours un d\u00e9lai entre la d\u00e9cision et l\u2019ex\u00e9cution : votre plateforme, le r\u00e9seau, le traitement par le broker. Pendant ce d\u00e9lai, le march\u00e9 continue d\u2019avancer. Un jour calme, l\u2019effet est d\u2019une fraction de pip ; lors d\u2019un mouvement rapide, c\u2019est la diff\u00e9rence entre un trade gagnant et un trade perdant.<\/p>\n<p>Le bon mod\u00e8le avance dans le flux de ticks de la dur\u00e9e correspondant \u00e0 la partie requ\u00eate de votre temps d\u2019ex\u00e9cution et ex\u00e9cute au bid ou \u00e0 l\u2019ask cot\u00e9 \u00e0 cet instant ult\u00e9rieur. Cela produit un slippage r\u00e9aliste, positif comme n\u00e9gatif, sans avoir \u00e0 deviner une valeur de slippage. Nous expliquons ce mod\u00e8le, les quatre composantes de la latence et un exemple chiffr\u00e9 dans l\u2019article sur <a href=\"https:\/\/bjftradinggroup.com\/latency-arbitrage-backtest-execution-time-gap\/\">l\u2019\u00e9cart de temps d\u2019ex\u00e9cution dans les backtests d\u2019arbitrage de latence<\/a>, et comment mesurer le slippage sur les ex\u00e9cutions r\u00e9elles dans <a href=\"https:\/\/bjftradinggroup.com\/forex-slippage-explained\/\">le slippage forex expliqu\u00e9<\/a>.<\/p>\n<p>C\u2019est aussi la r\u00e9ponse la plus fr\u00e9quente \u00e0 la question \u00ab pourquoi mes r\u00e9sultats r\u00e9els diff\u00e8rent-ils du backtest ? \u00bb. Les donn\u00e9es \u00e9taient correctes ; le mod\u00e8le d\u2019ex\u00e9cution supposait un d\u00e9lai nul. Une bonne r\u00e8gle empirique consiste \u00e0 tester avec votre temps d\u2019ex\u00e9cution mesur\u00e9, puis \u00e0 nouveau avec 1.5 \u00e0 2 fois cette valeur. Une strat\u00e9gie qui s\u2019effondre avec la valeur la plus \u00e9lev\u00e9e est fragile.<\/p>\n<h2 id=\"ftd-storage\">Stockage, formats et manipulation<\/h2>\n<p>Les donn\u00e9es tick sont volumineuses, et le format choisi influe \u00e0 la fois sur l\u2019espace disque et sur la vitesse \u00e0 laquelle un optimiseur peut les rejouer. Une estimation approximative pour une paire majeure active :<\/p>\n<div class=\"ftd-cards\">\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">~39 M<\/span><span class=\"ftd-card-l\">Ticks par an<\/span><span class=\"ftd-card-n\">\u00e0 raison d\u2019environ 150,000 cotations par jour de trading &times; 260 jours (les flux actifs en envoient plus, les flux limit\u00e9s moins)<\/span><\/div>\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">~2 GB<\/span><span class=\"ftd-card-l\">En texte CSV<\/span><span class=\"ftd-card-n\">environ 50 octets par ligne avec une cha\u00eene date-heure compl\u00e8te, le bid et l\u2019ask<\/span><\/div>\n<div class=\"ftd-card\"><span class=\"ftd-card-v\">~0.6 GB<\/span><span class=\"ftd-card-l\">En binaire compact<\/span><span class=\"ftd-card-n\">horodatage de 8 octets + deux prix entiers de 4 octets en points = 16 octets par tick, avant compression<\/span><\/div>\n<\/div>\n<p class=\"ftd-note\">Estimations d\u2019ordre de grandeur. Les formats en colonnes compress\u00e9s r\u00e9duisent g\u00e9n\u00e9ralement encore plusieurs fois la taille des fichiers tick.<\/p>\n<ul class=\"ftd-checks\">\n<li><strong>Stockez les prix sous forme d\u2019entiers en points<\/strong> (1.08512 &rarr; 108512). Cela \u00e9vite les arrondis en virgule flottante lors de la comparaison des prix et divise la taille par deux.<\/li>\n<li><strong>Partitionnez par symbole et par jour.<\/strong> Un fichier par symbole et par jour simplifie les contr\u00f4les de trous, les rechargements partiels et l\u2019optimisation en parall\u00e8le.<\/li>\n<li><strong>Ne modifiez jamais les fichiers bruts.<\/strong> Nettoyez dans un jeu de donn\u00e9es s\u00e9par\u00e9 et conservez le journal de nettoyage, afin de pouvoir reproduire n\u2019importe quel r\u00e9sultat.<\/li>\n<li><strong>Gardez le CSV pour les \u00e9changes.<\/strong> Un format simple avec horodatage, bid et ask est ce que la plupart des outils importent. SharpTrader Optimizer, par exemple, accepte vos propres donn\u00e9es tick au format CSV avec horodatage, bid et ask.<\/li>\n<\/ul>\n<h2 id=\"ftd-pitfalls\">Pi\u00e8ges courants<\/h2>\n<ul class=\"ftd-checks\">\n<li><strong>Appeler \u00ab donn\u00e9es tick \u00bb des barres interpol\u00e9es.<\/strong> V\u00e9rifiez si votre outil rejoue des cotations enregistr\u00e9es ou les g\u00e9n\u00e8re \u00e0 partir de barres.<\/li>\n<li><strong>Tester sur des prix m\u00e9dians.<\/strong> Un jeu de donn\u00e9es uniquement m\u00e9dian ignore totalement le spread ; les co\u00fbts doivent provenir du bid et de l\u2019ask.<\/li>\n<li><strong>M\u00e9langer les sources dans un m\u00eame test.<\/strong> Assembler les fichiers de deux fournisseurs cr\u00e9e des sauts artificiels \u00e0 la jonction et des r\u00e9gimes de spread diff\u00e9rents au sein d\u2019une m\u00eame p\u00e9riode.<\/li>\n<li><strong>Ignorer le fuseau horaire et l\u2019heure d\u2019\u00e9t\u00e9.<\/strong> Les filtres de session et la logique de rollover quotidien se d\u00e9calent sans bruit.<\/li>\n<li><strong>Combler les trous avec des prix invent\u00e9s.<\/strong> Une strat\u00e9gie peut \u00ab trader \u00bb pendant une interruption o\u00f9 il n\u2019y a jamais eu de vraies cotations. Excluez plut\u00f4t les trous.<\/li>\n<li><strong>Nettoyer \u00e0 l\u2019exc\u00e8s.<\/strong> Supprimer chaque mouvement important \u00e9limine les pics li\u00e9s aux annonces et les sauts que certaines strat\u00e9gies sont con\u00e7ues pour trader.<\/li>\n<li><strong>Ex\u00e9cutions \u00e0 latence nulle.<\/strong> Des ex\u00e9cutions parfaites au tick du signal font para\u00eetre rentable presque n\u2019importe quelle strat\u00e9gie court terme.<\/li>\n<li><strong>Optimiser sur toutes les donn\u00e9es.<\/strong> Sans p\u00e9riode hors \u00e9chantillon ni contr\u00f4les walk-forward, une grande grille de param\u00e8tres trouvera une courbe qui \u00e9pouse le pass\u00e9 et rien d\u2019autre.<\/li>\n<\/ul>\n<h2 id=\"ftd-tools\">Les donn\u00e9es tick dans SharpTrader Optimizer<\/h2>\n<p>Nous avons con\u00e7u <a href=\"https:\/\/bjftradinggroup.com\/product\/sharptrader-optimizer\/\">SharpTrader Optimizer<\/a> autour des points de ce guide. Il rejoue de vrais ticks bid\/ask historiques au lieu de barres interpol\u00e9es, prend le spread de chaque tick et vous permet de d\u00e9finir le temps d\u2019ex\u00e9cution de vos ordres en millisecondes, afin que chaque ex\u00e9cution provienne du flux de ticks apr\u00e8s ce d\u00e9lai. Vous pouvez utiliser l\u2019historique tick de BJF Feed enregistr\u00e9 sur les n\u0153uds de Londres, Tokyo et New York, ou importer les ticks de votre propre broker au format CSV. Les grilles de param\u00e8tres s\u2019ex\u00e9cutent sur tous les c\u0153urs du CPU, ce qui compte quand une ann\u00e9e d\u2019une seule paire repr\u00e9sente des dizaines de millions de ticks.<\/p>\n<p>Si vous disposez d\u00e9j\u00e0 de votre propre strat\u00e9gie, l\u2019article sur <a href=\"https:\/\/bjftradinggroup.com\/optimize-your-own-trading-bot-sharptrader\/\">le test de votre propre robot dans SharpTrader<\/a> pr\u00e9sente le processus complet, du code \u00e0 l\u2019optimisation au niveau du tick.<\/p>\n<div class=\"ftd-cta\">\n<h3>Testez sur les ticks que votre strat\u00e9gie rencontrera r\u00e9ellement<\/h3>\n<p>De vrais ticks bid\/ask, un spread variable sur chaque cotation et le temps d\u2019ex\u00e9cution de votre broker en millisecondes : les trois donn\u00e9es qui d\u00e9cident si une strat\u00e9gie court terme survit au trading r\u00e9el.<\/p>\n<p><a class=\"ftd-btn\" href=\"https:\/\/bjftradinggroup.com\/product\/sharptrader-optimizer\/\">D\u00e9couvrir SharpTrader Optimizer<\/a><a class=\"ftd-btn ftd-btn-alt\" href=\"https:\/\/bjftradinggroup.com\/latency-arbitrage-backtest-execution-time-gap\/\">\u00c0 lire : l\u2019\u00e9cart de temps d\u2019ex\u00e9cution<\/a>\n<\/div>\n<div class=\"bjf-ff-wrap\"><div class=\"bjf-ff\" id=\"bjfff3843\" style=\"max-width:640px;margin:28px auto;padding:24px 26px;border:1px solid #d9e1ec;border-radius:12px;background:#f6f8fb\">\n<p style=\"margin:0 0 6px;font-size:20px;font-weight:700;color:#0f1b2d\">Scanner d\u2019arbitrage gratuit + mini-cours par e-mail<\/p>\n<p style=\"margin:0 0 16px;font-size:15px;line-height:1.55;color:#44505f\">Recevez le lien du scanner gratuit et quelques e-mails courts et pratiques de Boris : ce que signifie vraiment un \u00e9cart de prix apr\u00e8s les co\u00fbts, comment tester une strat\u00e9gie avant de risquer de l\u2019argent r\u00e9el et quels outils conviennent \u00e0 votre march\u00e9. Sans promesses exag\u00e9r\u00e9es. Les e-mails sont r\u00e9dig\u00e9s en anglais.<\/p>\n<form method=\"post\" novalidate>\n<input type=\"hidden\" name=\"market\" value=\"forex\"><input type=\"hidden\" name=\"source\" value=\"blog\"><input type=\"hidden\" name=\"ts\" value=\"1793490259\"><input type=\"hidden\" name=\"ref\" value=\"forex-tick-data-backtesting\"><input type=\"hidden\" name=\"lang\" value=\"fr\"><div style=\"position:absolute;left:-9999px\" aria-hidden=\"true\"><label>Website<input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label><\/div>\n<div style=\"display:flex;flex-wrap:wrap;gap:10px\">\n<input type=\"text\" name=\"first_name\" placeholder=\"Pr\u00e9nom\" aria-label=\"Pr\u00e9nom\" autocomplete=\"given-name\" style=\"flex:1 1 160px;min-width:0;padding:11px 12px;border:1px solid #c9d3df;border-radius:8px;font-size:15px\">\n<input type=\"email\" name=\"email\" required placeholder=\"E-mail\" aria-label=\"E-mail\" autocomplete=\"email\" style=\"flex:2 1 220px;min-width:0;padding:11px 12px;border:1px solid #c9d3df;border-radius:8px;font-size:15px\">\n<button type=\"submit\" style=\"flex:1 1 160px;padding:11px 16px;border:0;border-radius:8px;background:#c9962a;color:#0f1b2d;font-weight:700;font-size:15px;cursor:pointer\">Envoyez-le-moi<\/button>\n<\/div>\n<p style=\"margin:10px 0 0;font-size:12px;line-height:1.5;color:#6b7785\">En envoyant ce formulaire, vous acceptez de recevoir des e-mails de BJF Trading Group sur les outils d\u2019arbitrage et les logiciels de trading. D\u00e9sinscription possible \u00e0 tout moment. Consultez notre <a href=\"https:\/\/bjftradinggroup.com\/fr\/privacy-policy\/\">Politique de confidentialit\u00e9<\/a>.<\/p>\n<p class=\"bjf-ff-msg\" role=\"status\" style=\"margin:10px 0 0;font-size:15px;font-weight:600\"><\/p>\n<\/form><\/div>\n<script>(function(){var M={\"invalid\":\"Veuillez saisir une adresse e-mail valide.\",\"sending\":\"Envoi\\u2026\",\"done\":\"C\\u2019est fait ! Consultez votre bo\\u00eete de r\\u00e9ception dans quelques minutes.\",\"err\":\"Une erreur s\\u2019est produite, veuillez r\\u00e9essayer.\",\"net\":\"Erreur r\\u00e9seau, veuillez r\\u00e9essayer.\",\"srv\":false};var b=document.getElementById('bjfff3843');if(!b)return;var f=b.querySelector('form'),m=b.querySelector('.bjf-ff-msg');f.addEventListener('submit',function(e){e.preventDefault();var d=new FormData(f);if(!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(d.get('email')||'')){m.style.color='#b42318';m.textContent=M.invalid;return;}var btn=f.querySelector('button');btn.disabled=true;m.style.color='#44505f';m.textContent=M.sending;fetch('\/wp-json\/bjf\/v1\/subscribe',{method:'POST',body:d}).then(function(r){return r.json()}).then(function(j){if(j&&j.ok){m.style.color='#1a7f4b';m.textContent=M.done;f.querySelectorAll('input,button').forEach(function(x){x.disabled=true});if(window.gtag)gtag('event','generate_lead',{form_source:d.get('source')});if(window.fbq)fbq('track','Lead',{content_name:d.get('source')});}else{btn.disabled=false;m.style.color='#b42318';m.textContent=(M.srv&&j&&j.msg)||M.err;}}).catch(function(){btn.disabled=false;m.style.color='#b42318';m.textContent=M.net;});});})();<\/script>\n<\/div>\n<h2 id=\"ftd-faq\">Questions fr\u00e9quentes<\/h2>\n<div class=\"ftd-faq\">\n<h3>Que sont les donn\u00e9es tick forex ?<\/h3>\n<p>Les donn\u00e9es tick forex sont un enregistrement de chaque changement de cotation d\u2019une paire de devises, avec un horodatage, le prix bid, le prix ask et parfois le volume cot\u00e9. Elles conservent l\u2019ordre exact, le moment et le spread des mises \u00e0 jour de prix, que les donn\u00e9es en barres perdent.<\/p>\n<h3>O\u00f9 trouver des donn\u00e9es tick forex gratuites ?<\/h3>\n<p>Certains brokers ECN et agr\u00e9gateurs publient gratuitement des ticks bid\/ask historiques pour les paires majeures, et de nombreux brokers vous permettent de t\u00e9l\u00e9charger leur propre historique. Les archives gratuites sont utiles pour la recherche, mais elles refl\u00e8tent les prix d\u2019une seule plateforme : confirmez donc le r\u00e9sultat final sur les ticks enregistr\u00e9s de votre propre broker.<\/p>\n<h3>Les donn\u00e9es tick sont-elles meilleures que les donn\u00e9es \u00e0 1 minute pour le backtesting ?<\/h3>\n<p>Pour les strat\u00e9gies dont les objectifs et les stops se situent \u00e0 quelques pips, comme le scalping, le trading d\u2019annonces et l\u2019arbitrage, oui : les barres d\u2019une minute cachent l\u2019ordre du plus haut et du plus bas, les sauts de prix et le spread r\u00e9el. Pour les strat\u00e9gies swing avec des stops larges, des donn\u00e9es propres \u00e0 une minute avec un spread r\u00e9aliste suffisent souvent.<\/p>\n<h3>Pourquoi est-ce que j\u2019obtiens des r\u00e9sultats de backtest diff\u00e9rents sur deux sources de donn\u00e9es ?<\/h3>\n<p>Le forex au comptant n\u2019a pas de bande centrale : chaque source est donc la vision d\u2019une plateforme diff\u00e9rente. Les spreads, la fr\u00e9quence des cotations, les fuseaux horaires, la gestion de l\u2019heure d\u2019\u00e9t\u00e9 et les r\u00e8gles de nettoyage diff\u00e8rent tous. Comparez les prix et les spreads horaires des deux jeux de donn\u00e9es pour trouver la cause, et faites confiance \u00e0 la source la plus proche de votre plateforme d\u2019ex\u00e9cution.<\/p>\n<h3>Quel espace de stockage faut-il pour un an de donn\u00e9es tick forex ?<\/h3>\n<p>Pour une paire majeure active, environ des dizaines de millions de ticks par an : pr\u00e8s de 2 GB en texte CSV ou environ 0.6 GB dans un format binaire compact avant compression. Plusieurs paires sur plusieurs ann\u00e9es atteignent rapidement des dizaines de gigaoctets.<\/p>\n<h3>Pourquoi mon backtest sur donn\u00e9es tick affiche-t-il des ex\u00e9cutions parfaites ?<\/h3>\n<p>Parce que le test ex\u00e9cute chaque ordre au tick qui a g\u00e9n\u00e9r\u00e9 le signal. Les ordres r\u00e9els mettent du temps \u00e0 atteindre le broker, et le prix bouge entre-temps. Mod\u00e9lisez le temps d\u2019ex\u00e9cution en avan\u00e7ant dans le flux de ticks et en ex\u00e9cutant au bid ou \u00e0 l\u2019ask ult\u00e9rieur, et testez avec 1.5 \u00e0 2 fois votre d\u00e9lai mesur\u00e9.<\/p>\n<h3>Ai-je besoin du bid et de l\u2019ask, ou le prix m\u00e9dian suffit-il ?<\/h3>\n<p>Vous avez besoin des deux. Les achats sont ex\u00e9cut\u00e9s \u00e0 l\u2019ask et les ventes au bid, si bien que le spread est un co\u00fbt r\u00e9el sur chaque trade. Un jeu de donn\u00e9es uniquement m\u00e9dian supprime ce co\u00fbt et fait para\u00eetre les strat\u00e9gies court terme meilleures qu\u2019elles ne le sont.<\/p>\n<\/div>\n<p class=\"ftd-note\">Cet article a une vis\u00e9e \u00e9ducative et ne constitue pas un conseil financier. Les exemples, graphiques et chiffres indiqu\u00e9s comme illustratifs ne sont pas des mesures d\u2019un broker ou d\u2019une strat\u00e9gie en particulier ; les sources de donn\u00e9es, les conventions et les co\u00fbts diff\u00e8rent d\u2019un fournisseur \u00e0 l\u2019autre et \u00e9voluent dans le temps.<\/p>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@graph\": [\n    {\n      \"@type\": \"Article\",\n      \"headline\": \"Donn\u00e9es tick forex pour le backtesting : sources, contr\u00f4les qualit\u00e9 et pi\u00e8ges\",\n      \"description\": \"D\u2019o\u00f9 viennent les donn\u00e9es tick forex, pourquoi deux jeux de donn\u00e9es ne concordent jamais, contr\u00f4les qualit\u00e9 avant de faire confiance \u00e0 un backtest, fuseaux horaires, spread variable et temps d\u2019ex\u00e9cution.\",\n      \"image\": \"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\",\n      \"author\": {\n        \"@type\": \"Organization\",\n        \"name\": \"BJF Trading Group\",\n        \"url\": \"https:\/\/bjftradinggroup.com\/\"\n      },\n      \"publisher\": {\n        \"@type\": \"Organization\",\n        \"name\": \"BJF Trading Group\",\n        \"url\": \"https:\/\/bjftradinggroup.com\/\"\n      },\n      \"datePublished\": \"2026-10-31\",\n      \"dateModified\": \"2026-10-31\",\n      \"mainEntityOfPage\": \"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/\"\n    },\n    {\n      \"@type\": \"HowTo\",\n      \"name\": \"Comment pr\u00e9parer des donn\u00e9es tick forex pour un backtest\",\n      \"step\": [\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 1,\n          \"name\": \"Choisissez la source selon la question\",\n          \"text\": \"Choisissez la source selon la question. Un long historique gratuit pour la recherche et la robustesse ; les ticks enregistr\u00e9s de votre broker pour la v\u00e9rification finale ; un flux de r\u00e9f\u00e9rence en plus si la strat\u00e9gie compare des flux.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 2,\n          \"name\": \"Normalisez les horodatages\",\n          \"text\": \"Normalisez les horodatages. Convertissez tout en UTC avec une r\u00e9solution \u00e0 la milliseconde, appliquez la bonne r\u00e8gle d\u2019heure d\u2019\u00e9t\u00e9 de la source et conservez l\u2019ordre d\u2019origine comme crit\u00e8re de d\u00e9partage.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 3,\n          \"name\": \"Normalisez les prix\",\n          \"text\": \"Normalisez les prix. M\u00eame nombre de d\u00e9cimales par symbole, bid et ask dans des colonnes s\u00e9par\u00e9es, pas de donn\u00e9es uniquement m\u00e9dianes si la strat\u00e9gie paie le spread.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 4,\n          \"name\": \"Supprimez les erreurs \u00e9videntes\",\n          \"text\": \"Supprimez les erreurs \u00e9videntes. Doublons exacts, spreads crois\u00e9s ou nuls, ticks du week-end, pics isol\u00e9s qui s\u2019inversent.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 5,\n          \"name\": \"Cartographiez les trous et les p\u00e9riodes fig\u00e9es\",\n          \"text\": \"Cartographiez les trous et les p\u00e9riodes fig\u00e9es. Enregistrez-les sous forme de liste d\u2019intervalles exclus au lieu de les combler avec des prix invent\u00e9s.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 6,\n          \"name\": \"Comparez avec une seconde source\",\n          \"text\": \"Comparez avec une seconde source. Comparez les prix m\u00e9dians et les spreads horaires avec un autre jeu de donn\u00e9es ; des diff\u00e9rences importantes et persistantes indiquent un probl\u00e8me d\u2019\u00e9chelle, de fuseau horaire ou de flux.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 7,\n          \"name\": \"D\u00e9coupez la p\u00e9riode\",\n          \"text\": \"D\u00e9coupez la p\u00e9riode. R\u00e9servez une fen\u00eatre hors \u00e9chantillon (par exemple les derniers 25%) et un calendrier walk-forward avant d\u2019optimiser quoi que ce soit.\"\n        },\n        {\n          \"@type\": \"HowToStep\",\n          \"position\": 8,\n          \"name\": \"D\u00e9finissez les hypoth\u00e8ses d\u2019ex\u00e9cution\",\n          \"text\": \"D\u00e9finissez les hypoth\u00e8ses d\u2019ex\u00e9cution. Spread variable issu des ticks, votre temps d\u2019ex\u00e9cution r\u00e9el en millisecondes, commission par lot. Lancez ensuite le test.\"\n        }\n      ]\n    },\n    {\n      \"@type\": \"FAQPage\",\n      \"mainEntity\": [\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Que sont les donn\u00e9es tick forex ?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Les donn\u00e9es tick forex sont un enregistrement de chaque changement de cotation d\u2019une paire de devises, avec un horodatage, le prix bid, le prix ask et parfois le volume cot\u00e9. Elles conservent l\u2019ordre exact, le moment et le spread des mises \u00e0 jour de prix, que les donn\u00e9es en barres perdent.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"O\u00f9 trouver des donn\u00e9es tick forex gratuites ?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Certains brokers ECN et agr\u00e9gateurs publient gratuitement des ticks bid\/ask historiques pour les paires majeures, et de nombreux brokers vous permettent de t\u00e9l\u00e9charger leur propre historique. Les archives gratuites sont utiles pour la recherche, mais elles refl\u00e8tent les prix d\u2019une seule plateforme : confirmez donc le r\u00e9sultat final sur les ticks enregistr\u00e9s de votre propre broker.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Les donn\u00e9es tick sont-elles meilleures que les donn\u00e9es \u00e0 1 minute pour le backtesting ?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Pour les strat\u00e9gies dont les objectifs et les stops se situent \u00e0 quelques pips, comme le scalping, le trading d\u2019annonces et l\u2019arbitrage, oui : les barres d\u2019une minute cachent l\u2019ordre du plus haut et du plus bas, les sauts de prix et le spread r\u00e9el. Pour les strat\u00e9gies swing avec des stops larges, des donn\u00e9es propres \u00e0 une minute avec un spread r\u00e9aliste suffisent souvent.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Pourquoi est-ce que j\u2019obtiens des r\u00e9sultats de backtest diff\u00e9rents sur deux sources de donn\u00e9es ?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Le forex au comptant n\u2019a pas de bande centrale : chaque source est donc la vision d\u2019une plateforme diff\u00e9rente. Les spreads, la fr\u00e9quence des cotations, les fuseaux horaires, la gestion de l\u2019heure d\u2019\u00e9t\u00e9 et les r\u00e8gles de nettoyage diff\u00e8rent tous. Comparez les prix et les spreads horaires des deux jeux de donn\u00e9es pour trouver la cause, et faites confiance \u00e0 la source la plus proche de votre plateforme d\u2019ex\u00e9cution.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Quel espace de stockage faut-il pour un an de donn\u00e9es tick forex ?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Pour une paire majeure active, environ des dizaines de millions de ticks par an : pr\u00e8s de 2 GB en texte CSV ou environ 0.6 GB dans un format binaire compact avant compression. Plusieurs paires sur plusieurs ann\u00e9es atteignent rapidement des dizaines de gigaoctets.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Pourquoi mon backtest sur donn\u00e9es tick affiche-t-il des ex\u00e9cutions parfaites ?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Parce que le test ex\u00e9cute chaque ordre au tick qui a g\u00e9n\u00e9r\u00e9 le signal. Les ordres r\u00e9els mettent du temps \u00e0 atteindre le broker, et le prix bouge entre-temps. Mod\u00e9lisez le temps d\u2019ex\u00e9cution en avan\u00e7ant dans le flux de ticks et en ex\u00e9cutant au bid ou \u00e0 l\u2019ask ult\u00e9rieur, et testez avec 1.5 \u00e0 2 fois votre d\u00e9lai mesur\u00e9.\"\n          }\n        },\n        {\n          \"@type\": \"Question\",\n          \"name\": \"Ai-je besoin du bid et de l\u2019ask, ou le prix m\u00e9dian suffit-il ?\",\n          \"acceptedAnswer\": {\n            \"@type\": \"Answer\",\n            \"text\": \"Vous avez besoin des deux. Les achats sont ex\u00e9cut\u00e9s \u00e0 l\u2019ask et les ventes au bid, si bien que le spread est un co\u00fbt r\u00e9el sur chaque trade. Un jeu de donn\u00e9es uniquement m\u00e9dian supprime ce co\u00fbt et fait para\u00eetre les strat\u00e9gies court terme meilleures qu\u2019elles ne le sont.\"\n          }\n        }\n      ]\n    }\n  ]\n}\n<\/script>\n<\/div>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>D\u2019o\u00f9 viennent les donn\u00e9es tick forex, pourquoi deux jeux de donn\u00e9es pour la m\u00eame paire ne concordent jamais, et comment v\u00e9rifier et nettoyer les ticks avant de faire confiance \u00e0 un backtest : barres interpol\u00e9es ou ticks enregistr\u00e9s, flux du broker ou flux de r\u00e9f\u00e9rence, fuseaux horaires et heure d\u2019\u00e9t\u00e9, contr\u00f4les qualit\u00e9, spread variable, temps d\u2019ex\u00e9cution et stockage.<\/p>\n","protected":false},"author":1,"featured_media":15734,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[53,221],"tags":[],"class_list":["post-15733","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arbitrage-software","category-forex-trading"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.7 (Yoast SEO v28.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Donn\u00e9es tick forex pour backtest : sources et contr\u00f4les<\/title>\n<meta name=\"description\" content=\"D\u2019o\u00f9 viennent les donn\u00e9es tick forex, pourquoi elles diff\u00e8rent, et les contr\u00f4les qualit\u00e9, fuseaux horaires et spreads qu\u2019exige un backtest r\u00e9aliste.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bjftradinggroup.com\/fr\/forex-tick-data-backtesting\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Donn\u00e9es tick forex pour backtest : sources et contr\u00f4les\" \/>\n<meta property=\"og:description\" content=\"D\u2019o\u00f9 viennent les donn\u00e9es tick forex, pourquoi elles diff\u00e8rent, et les contr\u00f4les qualit\u00e9, fuseaux horaires et spreads qu\u2019exige un backtest r\u00e9aliste.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bjftradinggroup.com\/fr\/forex-tick-data-backtesting\/\" \/>\n<meta property=\"og:site_name\" content=\"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/bjftradinggroup\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-31T20:42:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Boris Fesenko\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Boris Fesenko\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/\"},\"author\":{\"name\":\"Boris Fesenko\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#\\\/schema\\\/person\\\/293df6ddb1f30db046ca9cd8928138a9\"},\"headline\":\"Donn\u00e9es tick forex pour le backtesting : sources, contr\u00f4les qualit\u00e9 et pi\u00e8ges\",\"datePublished\":\"2026-10-31T20:42:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/\"},\"wordCount\":45133,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\",\"articleSection\":[\"Arbitrage Software\",\"Forex trading\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#respond\"]}],\"name\":\"Donn\u00e9es tick forex pour backtest : sources et contr\u00f4les\",\"description\":\"D\u2019o\u00f9 viennent les donn\u00e9es tick forex, pourquoi elles diff\u00e8rent, et les contr\u00f4les qualit\u00e9, fuseaux horaires et spreads qu\u2019exige un backtest r\u00e9aliste.\",\"publisher\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/\",\"name\":\"Donn\u00e9es tick forex pour backtest : sources et contr\u00f4les\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\",\"datePublished\":\"2026-10-31T20:42:04+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#\\\/schema\\\/person\\\/293df6ddb1f30db046ca9cd8928138a9\"},\"description\":\"D\u2019o\u00f9 viennent les donn\u00e9es tick forex, pourquoi elles diff\u00e8rent, et les contr\u00f4les qualit\u00e9, fuseaux horaires et spreads qu\u2019exige un backtest r\u00e9aliste.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#primaryimage\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\",\"contentUrl\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/article-cover-forex-tick-data-backtesting-1200x630-1.webp\",\"width\":1200,\"height\":630,\"caption\":\"Forex tick data for backtesting: bid and ask quote ticks\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/forex-tick-data-backtesting\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bjftradinggroup.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Forex Tick Data for Backtesting: Sources, Quality Checks and Pitfalls\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#website\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/\",\"name\":\"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.\",\"description\":\"FX Software pioneer since 2000\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bjftradinggroup.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#\\\/schema\\\/person\\\/293df6ddb1f30db046ca9cd8928138a9\",\"name\":\"Boris Fesenko\",\"pronouns\":\"He\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g\",\"caption\":\"Boris Fesenko\"},\"description\":\"Born in 1971 in Ukraine, I graduated from East Ukrainian State University and later completed postgraduate studies at the same university, where I also wrote my PhD dissertation. In 2006, I moved to Canada. I am the founder of BJF Trading Group and specialize in the development and implementation of advanced arbitrage trading systems for the Forex and cryptocurrency markets, as well as other trading solutions.\",\"sameAs\":[\"https:\\\/\\\/bjftradinggroup.com\\\/about-boris-fesenko\",\"https:\\\/\\\/www.facebook.com\\\/bjftradinggroup\",\"https:\\\/\\\/www.instagram.com\\\/bjftradinggroup\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/bjftradinggroup\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCapi2ct0Iv7axHJ93wN_bsQ\"],\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/fr\\\/author\\\/boris\\\/\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/#organization\",\"name\":\"BJF Trading Group Inc.\",\"legalName\":\"BJF Trading Group Inc.\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/bjftradinggroup.com\\\/wp-content\\\/uploads\\\/logo.png\",\"width\":512,\"height\":512},\"foundingDate\":\"2000\",\"founder\":{\"@id\":\"https:\\\/\\\/bjftradinggroup.com\\\/about-boris-fesenko\\\/#person\"},\"address\":{\"@type\":\"PostalAddress\",\"addressRegion\":\"Ontario\",\"addressCountry\":\"CA\"},\"contactPoint\":[{\"@type\":\"ContactPoint\",\"contactType\":\"customer support\",\"email\":\"support@bjftradinggroup.com\",\"availableLanguage\":[\"English\",\"German\",\"Japanese\",\"Korean\",\"Spanish\",\"Portuguese\",\"Arabic\",\"Indonesian\",\"Vietnamese\"]}],\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/bjftradinggroup\",\"https:\\\/\\\/twitter.com\\\/BjfGroup\",\"https:\\\/\\\/www.youtube.com\\\/@bjftradinggroup\",\"https:\\\/\\\/t.me\\\/bjftradinggroup\",\"https:\\\/\\\/instagram.com\\\/bjftradinggroup\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/bjf-trading-group\\\/\"],\"knowsAbout\":[\"Forex arbitrage\",\"Cryptocurrency arbitrage\",\"Latency arbitrage\",\"News trading\",\"FIX API trading\",\"High-frequency trading\",\"Lock arbitrage\",\"Hedge arbitrage\",\"Pair trading\",\"Algorithmic trading software\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Donn\u00e9es tick forex pour backtest : sources et contr\u00f4les","description":"D\u2019o\u00f9 viennent les donn\u00e9es tick forex, pourquoi elles diff\u00e8rent, et les contr\u00f4les qualit\u00e9, fuseaux horaires et spreads qu\u2019exige un backtest r\u00e9aliste.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bjftradinggroup.com\/fr\/forex-tick-data-backtesting\/","og_locale":"fr_FR","og_type":"article","og_title":"Donn\u00e9es tick forex pour backtest : sources et contr\u00f4les","og_description":"D\u2019o\u00f9 viennent les donn\u00e9es tick forex, pourquoi elles diff\u00e8rent, et les contr\u00f4les qualit\u00e9, fuseaux horaires et spreads qu\u2019exige un backtest r\u00e9aliste.","og_url":"https:\/\/bjftradinggroup.com\/fr\/forex-tick-data-backtesting\/","og_site_name":"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.","article_author":"https:\/\/www.facebook.com\/bjftradinggroup","article_published_time":"2026-10-31T20:42:04+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp","type":"image\/webp"}],"author":"Boris Fesenko","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Boris Fesenko","Dur\u00e9e de lecture estim\u00e9e":"19 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#article","isPartOf":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/"},"author":{"name":"Boris Fesenko","@id":"https:\/\/bjftradinggroup.com\/#\/schema\/person\/293df6ddb1f30db046ca9cd8928138a9"},"headline":"Donn\u00e9es tick forex pour le backtesting : sources, contr\u00f4les qualit\u00e9 et pi\u00e8ges","datePublished":"2026-10-31T20:42:04+00:00","mainEntityOfPage":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/"},"wordCount":45133,"commentCount":0,"image":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#primaryimage"},"thumbnailUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp","articleSection":["Arbitrage Software","Forex trading"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#respond"]}],"name":"Donn\u00e9es tick forex pour backtest : sources et contr\u00f4les","description":"D\u2019o\u00f9 viennent les donn\u00e9es tick forex, pourquoi elles diff\u00e8rent, et les contr\u00f4les qualit\u00e9, fuseaux horaires et spreads qu\u2019exige un backtest r\u00e9aliste.","publisher":{"@id":"https:\/\/bjftradinggroup.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/","url":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/","name":"Donn\u00e9es tick forex pour backtest : sources et contr\u00f4les","isPartOf":{"@id":"https:\/\/bjftradinggroup.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#primaryimage"},"image":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#primaryimage"},"thumbnailUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp","datePublished":"2026-10-31T20:42:04+00:00","author":{"@id":"https:\/\/bjftradinggroup.com\/#\/schema\/person\/293df6ddb1f30db046ca9cd8928138a9"},"description":"D\u2019o\u00f9 viennent les donn\u00e9es tick forex, pourquoi elles diff\u00e8rent, et les contr\u00f4les qualit\u00e9, fuseaux horaires et spreads qu\u2019exige un backtest r\u00e9aliste.","breadcrumb":{"@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#primaryimage","url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp","contentUrl":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/2026\/10\/article-cover-forex-tick-data-backtesting-1200x630-1.webp","width":1200,"height":630,"caption":"Forex tick data for backtesting: bid and ask quote ticks"},{"@type":"BreadcrumbList","@id":"https:\/\/bjftradinggroup.com\/forex-tick-data-backtesting\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bjftradinggroup.com\/"},{"@type":"ListItem","position":2,"name":"Forex Tick Data for Backtesting: Sources, Quality Checks and Pitfalls"}]},{"@type":"WebSite","@id":"https:\/\/bjftradinggroup.com\/#website","url":"https:\/\/bjftradinggroup.com\/","name":"Forex &amp; Cryptocurrencies Arbitrage Software | BJF Trading Group Inc.","description":"FX Software pioneer since 2000","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bjftradinggroup.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/bjftradinggroup.com\/#\/schema\/person\/293df6ddb1f30db046ca9cd8928138a9","name":"Boris Fesenko","pronouns":"He","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/007a433de26ad3eca139ef7f314d6081bf1b619eceb1e5d1f590b8e06f95f05c?s=96&r=g","caption":"Boris Fesenko"},"description":"Born in 1971 in Ukraine, I graduated from East Ukrainian State University and later completed postgraduate studies at the same university, where I also wrote my PhD dissertation. In 2006, I moved to Canada. I am the founder of BJF Trading Group and specialize in the development and implementation of advanced arbitrage trading systems for the Forex and cryptocurrency markets, as well as other trading solutions.","sameAs":["https:\/\/bjftradinggroup.com\/about-boris-fesenko","https:\/\/www.facebook.com\/bjftradinggroup","https:\/\/www.instagram.com\/bjftradinggroup\/","https:\/\/www.linkedin.com\/in\/bjftradinggroup\/","https:\/\/www.youtube.com\/channel\/UCapi2ct0Iv7axHJ93wN_bsQ"],"url":"https:\/\/bjftradinggroup.com\/fr\/author\/boris\/"},{"@type":"Organization","@id":"https:\/\/bjftradinggroup.com\/#organization","name":"BJF Trading Group Inc.","legalName":"BJF Trading Group Inc.","url":"https:\/\/bjftradinggroup.com\/","logo":{"@type":"ImageObject","url":"https:\/\/bjftradinggroup.com\/wp-content\/uploads\/logo.png","width":512,"height":512},"foundingDate":"2000","founder":{"@id":"https:\/\/bjftradinggroup.com\/about-boris-fesenko\/#person"},"address":{"@type":"PostalAddress","addressRegion":"Ontario","addressCountry":"CA"},"contactPoint":[{"@type":"ContactPoint","contactType":"customer support","email":"support@bjftradinggroup.com","availableLanguage":["English","German","Japanese","Korean","Spanish","Portuguese","Arabic","Indonesian","Vietnamese"]}],"sameAs":["https:\/\/www.facebook.com\/bjftradinggroup","https:\/\/twitter.com\/BjfGroup","https:\/\/www.youtube.com\/@bjftradinggroup","https:\/\/t.me\/bjftradinggroup","https:\/\/instagram.com\/bjftradinggroup","https:\/\/www.linkedin.com\/company\/bjf-trading-group\/"],"knowsAbout":["Forex arbitrage","Cryptocurrency arbitrage","Latency arbitrage","News trading","FIX API trading","High-frequency trading","Lock arbitrage","Hedge arbitrage","Pair trading","Algorithmic trading software"]}]}},"_links":{"self":[{"href":"https:\/\/bjftradinggroup.com\/fr\/wp-json\/wp\/v2\/posts\/15733","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bjftradinggroup.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bjftradinggroup.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/fr\/wp-json\/wp\/v2\/comments?post=15733"}],"version-history":[{"count":37,"href":"https:\/\/bjftradinggroup.com\/fr\/wp-json\/wp\/v2\/posts\/15733\/revisions"}],"predecessor-version":[{"id":15775,"href":"https:\/\/bjftradinggroup.com\/fr\/wp-json\/wp\/v2\/posts\/15733\/revisions\/15775"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bjftradinggroup.com\/fr\/wp-json\/wp\/v2\/media\/15734"}],"wp:attachment":[{"href":"https:\/\/bjftradinggroup.com\/fr\/wp-json\/wp\/v2\/media?parent=15733"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bjftradinggroup.com\/fr\/wp-json\/wp\/v2\/categories?post=15733"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bjftradinggroup.com\/fr\/wp-json\/wp\/v2\/tags?post=15733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}