Reinforcement Learning, M2 ISF App, 2021+

Instructor: Gabriel TURINICI


1/ Introduction to reinforcement learning
2/ Theoretical formalism: Markov decision processes (MDP), value function ( Belman and Hamilton- Jacobi – Bellman equations) etc.
3/ Common strategies, building from the example of « multi-armed bandit »
4/ Strategies in deep learning: Q-learning and DQN
5/ Strategies in deep learning: SARSA and variants
6/ Strategies in deep learning: Actor-Critic and variants
7/ During the course: various Python and gym/gymnasium implementations
8/ Perspectives.


Principal document for the theoretical presentations: (no distribution autoried without WRITTEN consent from the author)

Multi Armed Bandit codes (MAB) : play MAB, solve MAB , solve MAB v2., policy grad from chatGPT to correct., policy grad corrected.

Bellman iterations: code to correct here, solution code here

Gym: play Frozen Lake (v2023) (version 2022)

Q-Learning : with Frozen Lake, python version or notebook version

-play with gym/Atari-Breakout: python version or notebook version

Deep Q Learning (DQN) : Learn with gym/Atari-Breakout: version 2023 : python or notebook

Old version (2022): python or notebook

Projets : cf. Teams



Statistiques et dynamique des produits dérivés, M2 ISF App, 2020+

Responsable: Gabriel TURINICI

Contenu

  • probabilité historique (gestion de portefeuille classique), portefeuilles optimaux, beta, arbitrage, APT
  • Valuation de produits dérivés et probabilité risque neutre
  • Trading de volatilité, volatilité locale
  • Assurance du portefeuille: stop-loss, options, CPPIs, Constant Mix
  • Options exotiques ou cachées: ETF short, etc.

Documents (support de cours, autres documents, …)

NOTA BENE: Tous des documents sont soumis au droit d’auteur, et ne peuvent pas être distribués sauf accord préalable ECRIT de l’auteur.

Nom chapitrePartie théoriqueImplémentationRésultats
Gestion classique
de portefeuille
(proba historique)
slidesData python: format CSV et format PICKLE
Autres données : CSV court (30/40)
Programme: tests statistiques de normalité (version 2023)
(version précédente).
Programme: portefeuille optimal vs. pris au hasard,
version 2023 (versions anciennes: v1, v2 )
optimalCAC40 30_p5optimalCAC40 30_p15
optimalCAC40 30_p30
produits dérivés et
probabilité risque neutre
livre du cours de M1 « Mouvement
Brownien et évaluation d’actifs dérivés »
slides: rappels dérivées
Code: génération de brownien, version Euler-Maruyama à corriger et calcul MC ;
calcul Monte Carlo d’options ;
Codes: prix et delta des options vanilles
(Black & Scholes)
Code delta hedging, version Bachelier
Trading de volatilitédocument pdfCode: trading de volatilité (ancienne version)Résultats
Assurance du portefeuille:
stop-loss, options,
CPPIs, Constant Mix
slides,
livre du cours de M1, sections 6.2 ;
Notes manuscrites
Vidéo Youtube sur le CPPI:
partie 1/2, partie 2/2
Beta slippage: présentation.
Code: stop loss, code CPPI, code CPPI v2
code Constant-Mix
dataC40
Résultat stop-loss, résultat CPPI,
résultat constant-mix
Deep learning pour pricing d’optionsCode a compléter:
version python notebook
ou
— version python simple (renommer le fichier de *.txt à *.py)
Code corrigé : version python notebook
Outilscode
exemple téléchargement de données
avec Yahoo ! Finance
Divers:Projet (ancienne version)

Note historique: nom du cours 2019/21: « Approches déterministes et stochastiques pour la valuation d’options »

Analyse numérique: évolution (M1 Math, Université Paris Dauphine – PSL, 2005-11, 2019+

Responsable de cours: Gabriel TURINICI
Contenu:
1 Introduction
2 EDO
3 Calcul de dérivée et contrôle
4 EDS
Bibliographie: poly distribué

Documents de support de cours, autres documents

NOTA BENE: Tous des documents sont soumis au droit d’auteur, et ne peuvent pas être distribués sauf accord préalable ECRIT de l’auteur.

Supports de cours:   livre « Simulations numériques des problèmes dépendant du temps: appliquées à l’épidémiologie, l’intelligence artificielle et les finances« 

 

          Seances de TD: 2022/23

 

Implementations TP:

Cours Deep Learning, M2 Dauphine (ISF App : depuis 2019/20, Math : depuis 2023/24)

Responsable: Gabriel TURINICI (voir aussi les interventions de C. Vincent)


Contenu:
1/ Deep learning : applications majeures, références, culture
2/ Types d’approches: supervisé, renforcement, non-supervisé
3/ Réseaux neuronaux: présentation des objets: neurones, opérations, fonction loss, optimisation, architecture
4/ Algorithmes d’optimisation stochastique et preuve de convergence de SGD
5/ Calcul du gradient par « back-propagation »
6/ Implémentation en “pure Python” d’un réseau à couches denses
7/ Réseaux convolutifs (CNN) : filtres, couches, architectures. 
8/ Implémentation Keras d’un CNN.
9/ Techniques: régularisation, hyperparamètres, réseaux particuliers: réseaux récurrents (RNN) et LSTM; 
10/ Deep learning non supervisé:  réseaux génératifs et IA générative (GAN, VAE), Stable diffusion.
11/ Implémentation Keras d’un VAE. Utilisation “Hugginface” de Stable Diffusion.
(12/ Si le temps permet: LLM et NLP: word2vec and Glove: exemples d’utilisation : femme-homme+roi = reine)


Implémentations
Code approximation de fonctions par NN : version notebook, version py
Resultats (approximation et convergence)

Le même après 5 fois plus d’époques
Référence « officielle » du code: https://doi.org/10.5281/zenodo.7220367
Implementation keras/Iris

Autres implémentations:
exemple « à la main » A CORRIGER sans Keras ni tf ni pytorch : couches denses (bd=iris), version corrigée
– autres implementations : cf. doc.
Si besoin : le dataset Iris est ici
VAE: version avec visualisation espace latent: CVAE version python (renommer *.py) , CVAE version ipynb
Stable diffusion: exemple qui marche le 19/1/2024 sur Google collab: version notebook, (ici la version python, changer le nom en *.py). ATTENTION l’exécution initiale prend autour de 10 minutes, ensuite c’est plus rapide (juste changer le prompt).


VERSIONS 2020/22

NOTA BENE: Tous des documents sont soumis au droit d’auteur, et ne peuvent pas être distribués sauf accord préalable ECRIT de l’auteur.
petit sondage (8 min) sur l’IA et médecine: répondre ICI.
Document principal de présentation: courspoly du cours de M1 – évolution (pour back-propagation)
Preuve convergence SGD (anglais)
Implementation keras/Iris Autres implémentations: cf. doc.

Gestion de risques et portefeuille M2 ISF 2020+

Responsable: Gabriel TURINICI

Contenu Rappels du cadre classique: critère moyenne-variance, Markowitz, CAPM / MEDAF

En fonction du temps: introduction à l’allocation tactique à travers l’analyse et les indicateurs techniques

Bibliographie

  • Z. Bodie, A. Kane A.J. Marcus « Investments » McGraw Hill 7th Edition 2008
  • J.C. Hull « Options, futures and other derivatives », Pearson Prentice Hall 2006, 6th edition
  • R.B. Litterman « Mordern investment management: an equilibrium approach », Goldman Sachs 2003
  • R. Portait, P. Poncet « Finance de marché » Dalloz 2008
  • P. Wilmott « Paul Wilmott introduces quantitative finance » John Wiley & and Sons, 2007

Documents (support de cours, autres documents, …)

NOTA BENE: Tous des documents sont soumis au droit d’auteur, et ne peuvent pas être distribués sauf accord préalable ECRIT de l’auteur.

pour théorie de gestion de portefeuille
« actions » classique
(proba historique)
livre du cours de M1 Mouvement
Brownien et évaluation d’actifs dérivés
Data python: format CSV et format PICKLEProgrammes :
exemple de programme pour télécharger les données (yfinance) ; a faire : ajouter ‘CAC 40’ à la liste, dessiner plutôt ‘adjusted close’ à la place de ‘close’
tests statistiques de normalité et plot du portefeuille optimal vs. portefeuilles au hasard (version 2022 , v 2021)

Faire : pareil mais avec « softmax »
optimal pour 5 actifsoptimalCAC40 30_p15optimalCAC40 30_p30
Documents: rappels théorie classique produits dérivés (options)Code simulations scénarios Brownien / prix: version 2022, (version 2021), calcul Monte Carlo d’options ; autre version

Codes: prix et delta des options vanilles (Black & Scholes)
Code delta hedging: version a remplir
version 2022, version 2021
Trading de volatilité

ref: cf. section 6.1.2 du cours M1 (poly pdf non-distributable ici)

code trading volatilité : version 2022/23 ,version 2021-22 (version ancienne)
Résultats exécution
vol trading
Explication théorique: cf. poly ou document pdf
Code: stop loss (P23) (version P22), code CPPI a remplir, code CPPI v2
code Constant-Mix
dataC40, code Ornstein-Uhlenbeck+CM

Résultat stop-loss, résultat CPPI,
résultat constant-mix
Théorie
slides,
livre du cours de M1, sections 6.2 ;
Notes manuscrites
Vidéo Youtube sur le CPPI: partie 1/2, partie 2/2
Beta slippage: présentation.
Projet

Autres ressources pour le cours :

« Reinforcement learning in finance: portfolio allocation, value functions and policy gradients flows », ACDSDE conference sept 2023

This is a talk presented at ACDSDE conference held Sept 28-30 2023 at the Romanian Academy (Iasi station), Octav Mayer Institute of mathematics.

Talk materials: the slides of the presentation.