http://www.margincall.fr/
Les
algorithmes vont-ils vous tuer ? - Episode I
Ce n'est pas le titre d'une mauvaise
série B de science fiction des années 60, mais bien
une question essentielle que la communauté du trading doit
considérer :
Un algorithme peut-il remplacer
efficacement un trader ?
HFT
Cette interrogation s'illustre
aujourd'hui dans la pratique du HFT ( High Freqency Trading ou
algo-trading) et dans les réactions nombreuses, parfois
irrationnelles, souvent justifiées, qu'elle suscite :Faut-il encadrer HFT en incluant des bornes artificielles de vitesses au sein des algorithmes ?
Faut-il intégrer une dose de « viscosité » programmée qui lissera les épiphénomènes inévitables dans ce type de dynamique ?
HFT déforme-t-il le marché et l'économie ?
Toujours est-il que sa progression est constante (9% des volumes quotidiens sur les marchés actions européens en 2007 contre 40% en 2011) cette progression est encore plus forte sur les marchés non européens!
On retrouve invariablement ce type de questions, dès lors qu'une nouvelle technologie investit un domaine: les accidents , dérapages, effets collatéraux accompagnent toujours son déploiement.
(voir l'affaire Sergei Alaynikov VS Goldman Sachs).
HFT ne fait que préfigurer ce que seront les outils numériques de demain.
C'est en quelque sorte l'éclaireur devant la longue marche des machines engagée il y a un demi-siècle maintenant.
Il est inutile de craindre ou de lutter contre cette évolution, il faut l'accompagner en anticipant les changements à venir : « ressentir » au sens physique du terme les nouveaux algorithmes.
Dressons un panorama non exhaustif des orientations et évolutions algorithmiques qui risquent de modifier en profondeur l'informatique appliquée à la finance dans un proche avenir.
Je remercie d'avance le lecteur de ce billet d'accepter de m'accompagner pour une balade sur les chemins escarpés de la logique et de l'IA - intelligence artificielle.
Intelligence
– Test de Turing
On peut avantageusement reformuler la
question du titre en se demandant si un programme ou une machine est
en mesure de réussir le test de Turing face à un trader
humain.En 1950, le mathématicien britanique Alan Turing a proposé le jeu de l'imitation appelé depuis « test de Turing »
La règle de ce jeu est la suivante :
Un juge dialogue par écrit avec un interlocuteur , à l'issu de ce dialogue, il doit reconnaître si celui-ci est une machine ou un être humain.
Le juge ne voit pas son interlocuteur qui doit quant à lui toujours répondre aux questions du juge.
La machine (lorsque c'est elle !) essaie de se faire passer pour un être humain et l'être humain tente de se faire reconnaitre comme humain.
Lorsque le juge se trompe dans 50% des cas ou plus, alors on considère que la machine présente une forme d' intelligence, qu'elle pense , à sa façon, et que le test de Turing est réussi.
En 1990, Hugh Loebner a créé un concours visant à passer le test de Turing; une récompense de 100.000 USD est prévue pour le premier code passant avec succès ce test.
Beaucoup de chercheurs en informatique théorique pensent que l'on est proche en terme d'années d'un succès à ce test.
En restreignant l'environnement de ce test et en le spécialisant à un domaine (le trading par exemple), on simplifie grandement l'épreuve et l'on s'approche encore plus d'une réussite.
Concrètement, il faut envisager un programme capable de fournir des réponses de niveau équivalent à celles d'un opérateur humain; le code doit donc comporter un niveau d'IA suffisant pour passer inaperçu dans l'ensemble des réactions humaines.
A titre d'illustration, on pourra aller discuter avec Alice (à l'adresse suivante) :
http://www.pandorabots.com/pandora/talk?botid=f5d922d97e345aa1
et ici : http://alicebot.blogspot.fr/
Alice est une adolescente dont le code évolue depuis plus de 16 ans.
Son père Richard S Wallace a remporté trois fois le prix Loebner, il a utilisé au niveau algorithmique certaines méthodes de « langue de bois » que l'on retrouve en politique.
Explorons à présent
quelques ingrédients de l'IA
Complexité
Algorithmique
Il existe aux limites des
mathématiques et de l'informatique une théorie dite
théorie de la complexité , initiée par le
mathématicien russe Andrei Kolmogorov (1903-1987).Celle-ci embrasse quasiment toutes les disciplines modernes , elle permet notamment de formaliser efficacement l'aléatoire et l'organisé. L'idée est la suivante :
Toute information finie ( un mot, un texte , une image, une vidéo, l'ensemble de tous les livres écrits sur cette planète, ou encore le code ADN de nos cellules...) peut se représenter, via un certain codage,sous forme d'une chaîne binaire , c'est-à-dire une suite finie de 0 et de 1.
La complexité de Kolmogorov notée K(C) de cette chaine C est définie comme la longueur du plus court programme , fonctionnant sur une machine de Turing donnée (un ordinateur ou un langage classique par exemple), et produisant cette chaine C en sortie.
Si l'on considère ensuite le temps d'éxécution de ce plus court programme, on définit alors la profondeur logique de Bennet de cette chaîne C.
Ces deux mesures sont simples à définir (cela nous a pris quelques lignes !).
Les résultats qu'elles induisent sont quant à eux d'une grande profondeur.
Elles permettent en particulier de formaliser le degré d'aléatoire ou d'organisation d'une chaîne :
une chaîne issue par exemple d'un pile ou face répété 1000 fois (O pour Pile et 1 pour face) aura une complexité maximale (en d'autres termes, le hasard ne se résume pas !)
Une chaîne régulière du genre C = 010101.....0101 aura une complexité faible : je peux la coder en écrivant le programme très court : « répéter 500 fois le motif 01 , puis afficher le résultat»
Pour la chaîne issue de mon pile ou face , par exemple C = 0001011001...., je suis obligé de décrire chaque bit dans mon programme produisant C, donc sa complexité est grande, proche de sa longueur , on dit que la chaîne C est incompressible.
Les deux oeuvres suivantes présentent
des complexités différentes :
Mondrian – complexité C1
Tehos – complexité C2
Je peux donner une description courte
et complète du tableau de Mondrian, alors que celle de
l'oeuvre de Tehos sera beaucoup plus longue , d'où C1 < C2.
Un même objet peut voir sa
complexité augmenter rapidement : au repos, une flute à
champagne possède une complexité propre, celle ci va
augmenter brusquement lorsque j'aurai laissé tomber cette
flute sur le sol!
Un des ingrédients de l'intelligence humaine réside dans notre capacité à reconnaître des similarités entre objets pourtant très différents.
La complexité nous permet de
transmettre cette faculté à une machine :Un des ingrédients de l'intelligence humaine réside dans notre capacité à reconnaître des similarités entre objets pourtant très différents.
Si l'on cherche à mesurer l'information partagée entre deux objets A et B , on peut considérer le plus court programme qui permet de transformer l'objet A en l'objet B, puis le plus court programme effectuant la transformation inverse (de B vers A), on additionne ces deux longueurs de code et l'on obtient une mesure très efficace d'information partagée qui a donné récemment de beaux succès en classement intelligent automatisé de grosses bases de données génétiques.
Enfin, la complexité engendre
des démonstrations courtes de résultats extrèmement
profonds :
Le célèbre théorème
de Gödel (en simplifiant, il dit qu'il existe dans tout système
logique des vérités -théorèmes qui sont
indémontrables dans ce système ) admet lui-même
une démonstration très courte en utilisant la
complexité de Kolmogorov.
Cette approche « complexité »
est en train de fournir une gamme d'outils IA tres prometteuse.
L'informatique ,quant à elle,
tente de canaliser cette complexité; elle le fait à une
vitesse qui double tous les 18 mois (loi de Gordon Moore) ; on parle
ici de l'informatique conventionnelle et pas encore de l'informatique
quantique qui nous réserve de belles surprises !
Si le lecteur le souhaite, il
poursuivra avec moi cette balade du coté de la simulation
multi-agents, de l'Emergence ,des big datas et des capacités
de calcul , ceci lors d' un prochain article.
Peut-être qu'après la
lecture de ce premier billet, vous ne regarderez plus votre machine
avec le même oeil.Au fait, qui a rédigé ce billet ? Un humain ? Une guenon ? Une machine ?
Aucun commentaire:
Enregistrer un commentaire