Quand on fait de la recherche avec l’IA, il est facile de manquer le moment de s’arrêter. On teste une idée, puis une autre condition nous intrigue. On la vérifie, puis on veut essayer sur un autre marché. On demande à l’IA, et il y a généralement un moyen d’avancer. Il suffit de modifier le code et de le relancer.
Voilà environ un an que j’étudie le trading systématique de cette manière.
J’y ai pris plaisir. Pouvoir tester une idée qui n’existait jusque-là que dans ma tête me plaisait. Si chaque question m’avait d’abord obligé à me demander si j’étais capable de l’implémenter, j’en aurais probablement laissé beaucoup de côté. Avec l’IA, davantage de choses devenaient accessibles à l’expérimentation.
Mais cette multiplication des possibilités avait aussi un coût. Il me revenait de décider quoi ne pas essayer.
Si le résultat d’un backtest ne me plaît pas, par exemple, les ajustements possibles ne manquent pas. Je peux modifier une condition d’entrée, examiner une période particulièrement mauvaise ou appliquer la stratégie à un autre marché. L’IA peut aider à chaque tentative. Une explication convaincante accompagne souvent le tout.
C’est là que la recherche devient floue. Corriger une hypothèse erronée et modifier les conditions jusqu’à obtenir un résultat satisfaisant peuvent beaucoup se ressembler pendant le travail. Dans les deux cas, on modifie du code et on le relance.
J’ai donc eu de plus en plus de choses à noter. Avant une expérience : ce que je cherche à vérifier et le résultat qui me ferait abandonner l’idée. Après : les conditions changées une fois les résultats connus. C’est fastidieux, mais sans ces notes, je risque de me souvenir plus tard de raisons bien plus solides qu’elles ne l’étaient réellement.
Le code posait un problème semblable. Quand l’exécution se termine et produit des chiffres, on se sent rassuré. Pourtant, des chiffres ne garantissent pas un calcul juste. Le moment où le signal est créé et celui où l’ordre est envoyé peuvent être mal alignés. L’arrondi d’une quantité peut faire disparaître une opération prévue. Une courbe de capital ne montre pas facilement ces détails.
Mes demandes à l’IA devaient donc être précises. Au-delà de l’implémentation d’une stratégie, il fallait vérifier pourquoi un ordre apparaissait à une date donnée, quelles données avaient été lues et comment la quantité avait été calculée. Une discussion sur les résultats d’ensemble finissait par nous ramener à une opération ou à une ligne de calcul.
Vu de l’extérieur, ce travail peut sembler bien modeste. Une journée entière peut aboutir à la conclusion qu’il faut encore vérifier le résultat. Mais si je saute cette vérification, je ne sais plus sur quoi je m’appuie pour passer à l’expérience suivante.
L’IA m’a été assez utile sur ce point. Je pouvais relire du code existant avec elle, comparer plusieurs exécutions et chercher les hypothèses oubliées. Elle ne pouvait toutefois pas prendre ma responsabilité de vérifier si j’orientais mes questions vers la réponse souhaitée. Cette partie restait à ma charge.
C’est aussi pour cela que je souhaite commencer ce blog. Pendant la recherche, une nouvelle tâche arrivait toujours, laissant peu d’occasions d’expliquer le chemin parcouru. Le mettre par écrit devrait m’aider à distinguer ce que j’ai compris de ce que j’ai laissé dans le vague.
Je compte traiter une expérience ou une question à la fois : pourquoi elle me paraissait intéressante, ce qui a été différent en pratique et ce que j’ai changé ensuite.
En regardant les notes de cette dernière année, je ne pense pas manquer de sujets de sitôt. J’ai simplement un peu de retard dans le rangement.