Les algorithmes, outils de décision automatique.

Links: notebook, html, python, slides, GitHub

L’exemple du trading algorithmique.

Introduction

Plan

from jyquickhelper import add_notebook_menu
add_notebook_menu(last_level=2, menu_id="main")

A propos de moi

  • Senior Data Scientist chez Microsoft

  • Professeur à l’ENSAE depuis 2000

  • Professeur dans la voie data science depuis 2014

  • Formation Data Science de l’Institut des Actuaires

  • lesenfantscodaient.fr

  • Passage en finance (hedge funds), travail sur des algorithmes de trading automatiques (2007)

A qui s’adresse cette présentation

  • au plus grand nombre

Raccourcis d’histoire financière et technique

  • On débute en 1971.

  • L’informatique et les mathématiques.

  • Automatisation.

Bretton Woods 1971 : le début de la technique

  • Source : Comment j’ai détesté les maths

  • Arrêt de la politique du taux de change unique.

  • Volonté des sociétés multinationales de s’assurer contre le risque de change.

  • Début de la modélisation mathématique.

Informatisation

  • 1984 : dématérialisation des titres à la bourse française

  • 1986 : CAC (Compagnie de Agents de Changes) devient la Cotation Assistée en Continu.

  • 1988 : les ordres sont tous passés depuis des ordinateurs

  • 1997 : les ECN (Electronic Communication Network) sont conçus. Il s’agit de centres informatiques qui mettent en relation les professionnels et les brokers pour effectuer des transactions informatisées.

  • 1997-2002 : premiers algorithmes de trading

  • 2003 : début du trading haute fréquence

  • 2010 : Flash Crash, probablement dû au trading haute fréquence

La finance est numérisée

  • Un des premiers domaines économique entièrement numérisée.

  • Un des plus profitables.

  • Capable de recruter les meilleurs talents.

Hedge Fund

Ces sociétés emploient beaucoup de docteurs en mathématiques et physiques.

Formation

Et tout autour du monde et principalement dans les universités anglo-saxonnes :

Automatisation possible

Tout est prêt pour l’automatisation

  • Tout est numérique.

  • Les meilleurs ingénieurs.

  • Les meilleurs finances.

  • Le retour sur investissement est très rapide.

Intérêt de l’automatisation

  • Traiter plus de données.

  • Traiter autant de données mais plus vite.

Pour être meilleur que le concurrent.

Problème à taille humaine

Combien avez-vous d’amis sur Facebook ?

La règle des 150.

Un cas concret

  • Un exemple d’algorithme de trading algorithmique : trend following.

  • Notion de back test

  • Trading haute fréquence ?

  • Machine learning

  • Pas un inventaire des stratégies existantes.

Une série financière

from pyensae.finance import StockPrices
prices = StockPrices(tick="MSFT", url='yahoo_new')
prices.dataframe.tail()
Date Open High Low Close Adj Close Volume
Date
2018-05-14 2018-05-14 97.919998 98.690002 97.309998 98.029999 97.606934 19454100
2018-05-15 2018-05-15 97.239998 97.849998 96.339996 97.320000 96.900002 24594000
2018-05-16 2018-05-16 97.360001 97.400002 96.620003 97.150002 97.150002 17384700
2018-05-17 2018-05-17 96.760002 97.540001 95.830002 96.180000 96.180000 17246700
2018-05-18 2018-05-18 96.010002 96.930000 96.010002 96.360001 96.360001 17128900
%matplotlib inline
prices.plot(figsize=(14,4));
../_images/automation_finance_trading_19_0.png
prices[-20:].plot(figsize=(14,4), field="ohlc");
../_images/automation_finance_trading_20_0.png

Stratégie : trend following

Le principe : trend following.

from pyquickhelper.helpgen import NbImage
NbImage("images/trend.png", width=800)
../_images/automation_finance_trading_22_0.png

La mise au point

De nombreux paramètres :

Les stratégies ont souvent plus d’une dizaine de paramètres.

Deux paramètres en rouge : longueur de la moyenne mobile et la hauteur des bandes de Bollinger

NbImage("images/trendp.png", width=400)
../_images/automation_finance_trading_25_0.png

Optimisation

  • Choisir les meilleurs paramètres

  • Backtest : simuler la performance de la stratégie sur le passé

NbImage("images/backtest.png", width=400)
../_images/automation_finance_trading_27_0.png

Comparaison de plusieurs jeux de paramètres (source Backtesting a Simple Stock Trading Strategy)

NbImage("images/backtest2.png", width=500)
../_images/automation_finance_trading_29_0.png

Tests exhaustifs

  • Tester de nombreux jeux de paramètres

  • Tester sur un grand nombre de séries financières

  • Tester la résistance aux crises

  • Prise en compte de défaut de simulation : coût de transaction, slippage

Portefeuille de stratégies

  • Implémenter une seule stratégie est risqué.

  • Construction de portefeuilles de stratégies (plus d’une centaine)

Importance de l’informatique

  • Puissance de calcul

  • Agilité

  • Passage en production

  • Résistance aux pannes

  • Utilisation de stop-order

Trading daily, intraday

  • Daily : calcul des décisions chaque jour

  • Intraday : calcul des décisions chaque minute

  • Haute Fréquence : calcul d’une décision en quelques millisecondes

Plus la vitesse de trading est importante, plus l’informatique joue un grand rôle, plus le boulot est technique.

Réflexions sur la finance

  • Machine learning, exploitation des news, signaux autres que financiers

  • Côté éthique

  • Parallèle avec le real-time-bidding

Pourquoi le machine learning ?

  • Back test : méthode issue du machine learning

  • Boîte noire : une façon d’utiliser l’information qu’on ne sait pas utiliser de manière évidente

  • Traitement des news : celle-ci ont une influence non négligeable sur les cours mais ce n’est pas une informatique numérique.

  • Deep learning : le deep learning fonctionne sur des images, du son, du texte, pourquoi pas sur des cours financiers.

Ethique

  • Trading haute fréquence : quelques millisecondes d’avance sur les concurrents

  • plus de 50% des échanges issus du trading haute fréquence

  • Une plus grande fluidité (possibilité d’acheter et de vendre à tout moment)

  • Quelle utilité économique ?

  • Recrutement des meilleurs talents

Un parallèle avec Bitcoin

  • Le principe de Bitcoin : miner

  • La course à la puissance

Un parallèle avec le Real Time Bidding

  • Real Time Bidding, plate-formes d’échanges, enchères

  • Publicité sur Internet

  • Un champion national : Criteo

  • Mécanisme des enchères

  • Différence avec la finance : utilisation des données

Ingéniérisation de la finance

  • Popularisation du trading automatique.

  • La finance n’est plus aussi attractive.

  • Des traders qui passent de la finance à la data science.

Conclusion

  • Le rôle prépondérant de l’informatique

  • L’exécution n’est plus manuelle, trop rapide, en trop grand nombre

  • Le savoir est converti sous forme d’algorithmes.

  • La finance en dehors de la finance : Chine: la finance de l’ombre atteint un record