Et si on parlait crypto ?

Il y a presqu’un mois, j’ai profité d’un inter contrat pour lancer un projet que me tenait à cœur: développer mon robot de trading en crypto monnaies.

J’étais resté sur un échec et j’avais perdu pas mal d’argent quand nous étions en bear market (le marché ne fait que descendre pendant un an).

Pour ce projet fou (faire une appli en moins d’un mois), j’ai recruté un expert pour développer avec moi David Pepin .

Personnellement, j’ai pris plaisir à faire l’analyse de A à Z de ce projet, me remettre en question sur les choix, se poser des questions comme « comment mettre en oeuvre différentes stratégies de trading? comment développer un moteur ? Quelles type de prédictions ? Que choisir ? ».

Ah les cryptos monnaies… Un mois de travail, des doutes, de l’analyse… Nous sommes dans le domaine de la recherche, il faut être engagé profondément, développer, tester, analyser, refaire…

Ce qui est bien c’est que je remets bcp en question les approches universitaires sur la datascience, en tout cas dans ce domaine compliqué qui s’appelle la prédiction.

Et oui l’avenir est incertain, changeant, difficile à prédire. S’il suffisait de faire ce que tt le monde fait, nous serions tous riches.

Quand vous entraînez un modèle, vous mesurez sa capacité à se souvenir précisément du passé… Mais lorsque vous cherchez l’avenir, ce n’est pas donné. J’ai complètement changé d’approche sur la façon de mesurer un modèle aujourd’hui.

Comme tout le monde, j’ai beaucoup travaillé avec chatgpt et plus récemment son cousin chinois deepseek. Ce superbe assistant vous dépanne sur plein de sujets.

Cependant, si vous l’utilisez vous savez de quoi je parle, il n’y a pas un sujet où il est bon si vous ne le challengez pas.

Je ne vais pas donner ici toutes les ficelles pour développer son robot, je vais aborder plutôt les métriques

L’entrainement

Vous réfléchissez à une liste de métriques, vous mettez cela dans une table puis vous entraînez un modèle machine learning ou intelligence artificielle type tensorflow.

En entrée vous aurez au moins les métriques de base d’une synthèse horaire du marché

date, open, high, low, close, volume, trades

Curieusement les modèles ne connaissent pas les dates, vous transformerez donc la date en annee, mois, jour, heure

Vous vous débrouillerez pour récupérer 3 ans d’historique au minimum (première action pas forcément simple).

Vous entrainez votre modèle; il y a le principe de convergence et vous avez un nombre qui indique si votre modèle comprend les données

Contenu de l’article
concept de loss, mesure de congergence

Vu que les données sont, en général, je vulgarise, entre 0 et 1, à l’échelle d’un BTC à 100 000$ il devrait trouver sa valeur (le champ close, cours à la fermeture de la période d’une heure) avec une erreur de 10$.

J’ai alors développé quelques visualisations qui mettent les prédictions au même niveau que la date pour voir si ce que le modèle prédit s’est vérifié.

Dans le tableau ci dessous, vous voyez que les prédictions collent bien à la réalité… passée.

A droite quand nous arrivons au présent, le modèle est plus approximatif mais donne une tendance de l’avenir. Il est rassurant de voir que le modèle entrainé est très cohérent sur le passé (ça reflète le loss vu précédemment)

Contenu de l’article
prédictions ramenées au présent

Ensuite, j’ai développé la partie stratégie et le jeu était de représenter les ordres sur cette courbe afin de voir si mon moteur « tenait la route »

Cette fois ci, les traits rouges représentent un ordre de type long ou short. Le trait est au niveau de son prix d’achat et finit au moment de la vente. Mon robot a l’air prometteur, il ne passe pas d’ordre quand le marché est incertain et il « tient » les positions quand il « sait » qu’il y a plus à gagner. Par exemple au début, il ne vend pas dès que ça baisse un peu parce qu’il sait que ça va monter d’avantage.

Contenu de l’article
mesurer mon robot et les stratégies

Bon parlons du futur!

Au lieu de mettre les prédictions à postériori en face du mesuré, je suis parti sur l’idée de lui faire croire qu’il a raison et de regarder où ça le mène. Je trouve que c’est un bon moyen de mesurer si en plus d’être précis, le modèle a compris où il va… et là, j’ai eu un passage à vide face à certain modèles.

Voici par exemple ce que donne le modèle le plus complexe réalisé basé sur les transformers, une couche d’entrée, une couche d’adaptation, 4 couches intermédiaires et une couche de sortie; le top de la complexité et un gpu tout neuf pour le calculer 😉

L’idée est d’avoir le modèle à 4h qui sort une journée, suivi du modèle à 1 jour qui sort la journée suivant, etc. Vous pouvez constater que mon transformer est très optimiste et si on lui dit qu’il a raison à chaque prédiction, l’Etherum monte à 3900$ alors que le réel a, à peine, dépassé les 3400$. Ici la date d’étude est le 15/01. Patatras 1 mois de dev pour aboutir à la conclusion que ces super réseaux de neurones ne comprennent rien !

Contenu de l’article
predire en roue libre

Bon, je n’ai pas testé que transformer mais je voulais pointer ce concept de mesure… vous pouvez avoir un loss à 1e-6 et une prédiction très mauvaise

Allez, je vous montre mon champion du moment. Même période; cette fois on observe un modèle étonnant, une zone d’erreur un peu avant le 18, ça veut dire que le modèle prédit 2 jours et demi correctement et retombe sur ses pattes à 3 jours… C’est beau

Contenu de l’article
bonne prédiction

Développer ce genre de graphiques n’est pas simple mais il a le mérite de challenger les modèles entrainés. Sait il vraiment ce qu’il est en train de prédire ?

A bientôt

Share this :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Inscrivez-vous à notre newsletter pour recevoir des actus et des infos gratuites.