Vous êtes sur la page 1sur 29

MOHAMMDIA SCHOOL OF ENGINEERING

Rapport du Projet DATA MINING

Evaluation des produits dérivés à l’aide du


Deep Learning

Réalisé par : Encadré par :


• Abir el kharmoudi • Mr. Lamrani
Table des matières
Evaluation des produits dérivés à l’aide du Deep Learning .................................................................... 1
Table des matières ........................................................................................................................................................ 2
Remerciements ............................................................................................................................................................. 3
Abstract ......................................................................................................................................................................... 4
Résumé .......................................................................................................................................................................... 5
Introduction................................................................................................................................................................... 6
Chapitre 1 : Produits dérivés ......................................................................................................................................... 7
1. Définition ............................................................................................................................................................... 7
2. Exemples de produits dérivés................................................................................................................................ 7
3. Utilisations ............................................................................................................................................................. 7
4. Principaux types de produits dérivés .................................................................................................................... 8
5. Les options............................................................................................................................................................. 8
Définition ................................................................................................................................................................... 8
Paramètres d’options ................................................................................................................................................ 8
Option d’achat/de vente ........................................................................................................................................... 9
6. Modèle de pricing des options ............................................................................................................................ 10
7. Options de change ............................................................................................................................................... 12
Chapitre 2 : Les réseaux de Neurones ......................................................................................................................... 13
1. Généralités .......................................................................................................................................................... 13
Définition ................................................................................................................................................................. 13
Avantages et enjeux ................................................................................................................................................ 13
Description d’un réseau de neurones ..................................................................................................................... 14
2. Réseau à un Neurone – Le perceptron ................................................................................................................ 15
3. Fonction de transfert ........................................................................................................................................... 15
Etape d’agrégation .................................................................................................................................................. 16
Etape d’activation.................................................................................................................................................... 16
Remarque ................................................................................................................................................................ 16
4. Réseaux à plusieurs Neurones............................................................................................................................. 16
5. Exemple de réseau à 5 Neurones ........................................................................................................................ 17
6. L’entraînement d’un Réseau de Neurone ........................................................................................................... 17
Chapitre 3 Etude de cas : Pricing des options de change ............................................................................................ 18
1. Simulation de la base de donnée ........................................................................................................................ 18
2. Modélisation sous Python ................................................................................................................................... 20
2.1. Bibliothèques utilisées...................................................................................................................................... 20
2.2. Le modèle du réseaux de neurone artificiel ..................................................................................................... 21
2.3. Importation des bibliothèques ......................................................................................................................... 21
2.4. Importation de la base de donnée ................................................................................................................... 22
2.5. Sélection des données ...................................................................................................................................... 23
2.6. Division de la base de donnée en base de données entraînement , test et validation ................................... 23
2.7. Normalisation de la base de donnée................................................................................................................ 24
2.8. Redimensionnement de la base de donnée ..................................................................................................... 25
2.9. Création du modèle .......................................................................................................................................... 25
2.10. Ajustement du modèle ................................................................................................................................... 26
2.11. Evaluation du modèle ..................................................................................................................................... 27
2.12. Calcul de la valeur prédite ............................................................................................................................... 27
2.13. Variation du MSE en fonction du nombre d’itérations .................................................................................. 28
Conclusion ................................................................................................................................................................... 29

Remerciements

Nous tenons à saisir cette occasion et adresser nos profonds remerciements et


notre profonde reconnaissance à Monsieur Lamrani Youssef ainsi que nos
Professeurs de l’enseignement supérieur à l’EMI, du Génie Modélisation et
Informatique Scientifique, qui à travers ce travail, nous ont permis d’aborder un
sujet aussi intéressant et captivant, en l’occurrence pour les futurs lauréats
modélisateurs de l’Ecole Mohammadia d’Ingénieurs, et qui concerne le pricing
des produits dérivés en utilisant les techniques du maching learning sous
Python. Cet outil extrêmement important, certes, nous a en effet apporté un
grand bénéfice en nous rendant aptes à prédire les prix des produits financiers
de notre étude de cas à l’aide de la méthode des réseaux de neurones artificiels.
De plus, ce projet nous a certainement permis d’approfondir nos connaissances
par rapport aux techniques puissantes d’apprentissage automatique, et leur
application dans la finance quantitative ainsi que sa résolution avec les
bibliothèques de Python.
Abstract

The tremendous speedup in computing in recent years, the low data storage
costs of today, the availability of “big data” as well as the broad range of free open-
source software, have created a renaissance in the application of machine
learning tech- niques in science. However, this new wave of research is not
limited to computer science or software engineering anymore. Among others,
machine learning tools are now used in financial problem settings as well.
Therefore, this paper mentions a specific definition of machine learning in an asset
pricing context and elaborates on the usefulness of machine learning in this
context. Most importantly, this project gives the reader a theoretical overview of
the most recent academic studies in em-pirical asset pricing that employ machine
learning techniques. Overall, the project concludes that machine learning can offer
benefits for future research. However, researchers should be critical about these
methodologies as machine learning has its pitfalls and is relatively new to asset
pricing.
The goal of this project is to predict the prices of derivatives using artificial
neural networks, in particular forex options and Asian options .
Résumé

Les techniques d’intelligence artificielle sont de plus en plus déployées dans la


finance, dans des domaines tels que la gestion d’actifs, le trading, la finance quanti-
tative, rendues possibles par l’abondance de données disponibles et par une
capacité de calcul abordable...La finance computationnelle, le Machine Learning et le
Deep Learning sont des composants essentiels du secteur financier depuis de
nombreuses années. Le développement de ces techniques a permis au secteur
financier de réaliser une croissance explosive au fil des décennies et de devenir
plus efficace, pointu et lucratif pour ses participants.
Le but de ce projet est de prédire les prix des produits dérivés à l’aide des
réseaux de neurones artificiels notammemnt les options de changes et les options
asiatiques

.
Introduction

Les secteurs financiers sont en train de vivre une véritable révolution. L’analyse
prédictive, la détection de fraudes, la prédiction des prix des produits dérivés et
la personnalisation des offres permises par l’intelligence artificielle sont en train
de changerle monde.
Les métiers, comme ceux de la comptabilité, qui sont au moins partiellement
automatisables, sont directement touchés par l’évolution de l’intelligence
artificielle.
La bourse et les marchés des Forex sont bien sûr évidemment touchés par
l’intelligence artificielle, avec les trading bots permettant d’analyser des séries
temporelles et de réagirplus rapidement que les humains sur ces marchés.
Le domaine financier implique des problèmes riches en données qui ne peuvent
être résolus que grâce à la mise en œuvre des algorithmes d’apprentissage
automatique connu pour ses prédictions et ses résultats précis. Voilà quelques
raisons pour lesquelles le secteur financier opte ML : Améliorer la productivité et
les revenus, sécuriser les transactions et diminuer le cout d’exploitation grâce à
l’automatisation des processus.
C’est dans cette optique que notre projet du cours de DATA MINING s’inscrit .
Nous allons prédire le prix de quelques produits dérivés à savoir les options
asiatiques et les options de change . On va en premier lieu préparer les données
en les simulant sous Excel sous certaines hypothèses et ensuite , élaborer un
modèle du réseau de neurones artificiel en créant un modèle de régression linéaire
sous python d’évaluer les prix de ces produits dérivés .
Pour ce faire , nous allons présenter en général les produits dérivés dans le
premier chapitre en citant les différents types de ces produits , leurs intérêts ainsi
que le méthode d’évaluation de chacun .

Dans le deuxième chapitre nous allons présenter les principes du maching


learning et du deep learning et plus précisément les réseaux de neurones
artificiels et comment les programmer .

Dans le troisième chapitre nous allons appliquer les techniques du réseaux de


neurones artificiels citées précédemment pour la prédiction des options de
change et les options asiatiques en utilisant Python .
Chapitre 1 : Produits dérivés

1. Définition :
Les produits dérivés sont des produits financiers qui sont basés sur des actifs sous-
jacents tels que des actions, des indices, des devises, des matières premières, etc.
Ils sont conçus pour permettre aux investisseurs de spéculer sur la valeur future des
actifs sous-jacents, sans avoir à détenir l'actif sous-jacent lui-même. Les produits
dérivés offrent aux investisseurs des possibilités de gestion des risques et de
diversification, et sont utilisés par les investisseurs institutionnels et les traders
individuels.

2. Exemples de produits dérivés :


- Options: ce sont des contrats qui donnent aux investisseurs le droit, mais non
l'obligation, d'acheter ou de vendre un actif sous-jacent à un prix fixé à l'avance à
une date future.
- Contrats à terme: ce sont des contrats qui obligent les deux parties à acheter ou
vendre un actif à un prix fixé à l'avance à une date future.
- Contrats à différence (CFD): ce sont des contrats qui permettent aux investisseurs
de spéculer sur la valeur future d'un actif sous-jacent sans avoir à en posséder l'actif
lui-même.
- Swaps: ce sont des contrats qui permettent aux deux parties d'échanger des flux
de trésorerie basés sur des actifs sous-jacents.

3. Utilisations :
• Couverture des risques : Les produits dérivés sont utilisés pour couvrir le risque d'une
position ouverte ou d'un portefeuille. Ils peuvent être utilisés pour protéger un
investisseur contre une baisse de prix des actifs sous-jacents, une hausse des taux
d'intérêt et un risque de change.
• Spéculation : Les produits dérivés offrent aux investisseurs l'opportunité de spéculer
sur le prix des actifs sous-jacents. Les produits dérivés offrent un moyen pour les
investisseurs de prendre des positions à court terme sur une large gamme d'actifs,
sans avoir à acheter ou vendre les actifs sous-jacents.
• Arbitrage : Les produits dérivés offrent aux investisseurs la possibilité d'effectuer des
transactions d'arbitrage. Les produits dérivés peuvent être utilisés pour profiter des
différences de prix entre des marchés ou des actifs sous-jacents.
4. Principaux types de produits dérivés :
• Options: Options sont des contrats qui donnent à l'acheteur le droit, mais pas
l'obligation, d'acheter ou de vendre un produit sous-jacent à un prix spécifié à une
date future.
• Futures: Les contrats à terme sont des contrats standardisés qui obligent l'acheteur
et le vendeur à acheter ou à vendre un produit sous-jacent à un prix spécifié à une
date future.
• Contrats à terme sur taux d'intérêt: Ces contrats sont des contrats standardisés
qui obligent l'acheteur et le vendeur à acheter ou à vendre un produit sous-jacent à
un taux d'intérêt spécifié à une date future.
• Swaps de taux d'intérêt: Les swaps de taux d'intérêt sont des contrats qui obligent
les deux parties à échanger un flux de paiements basé sur le taux d'intérêt d'un
produit sous-jacent.
• Contrats à terme sur matières premières: Les contrats à terme sur matières
premières sont des contrats standardisés qui obligent l'acheteur et le vendeur à
acheter ou à vendre un produit sous-jacent à un prix spécifié à une date future.
• Swaps de devises: Les swaps de devises sont des contrats qui obligent les deux
parties à échanger des flux de paiements basés sur la différence entre deux devises.
• Contrats à terme sur indices: Les contrats à terme sur indices sont des contrats
standardisés qui obligent l'acheteur et le vendeur à acheter ou à vendre un produit
sous-jacent à un prix spécifié à une date future.
• CDS (Swaps de crédit): Les CDS (Swaps de crédit) sont des contrats qui obligent
les deux parties à échanger des flux de paiements basés sur la différence entre un
taux de crédit et un taux de référence.

5. Les options :

Définition :

Les options financières sont des instruments financiers dérivés qui donnent à
l'acheteur le droit, mais non l'obligation, d'acheter ou de vendre un actif sous-jacent à un prix
spécifié à une date spécifiée. Les options financières sont cotées sur des marchés
réglementés, et sont achetées et vendues par des investisseurs institutionnels et des traders
individuels. Les options peuvent être achetées à des fins de couverture, de spéculation ou
de négociation. Les acheteurs d'options détiennent le droit d'acheter ou de vendre l'actif
sous-jacent à un prix spécifié (prix d'exercice) à une date spécifiée (date d'expiration).
L'acheteur d'option peut exercer son droit à tout moment avant la date d'expiration, mais
aussi décider de ne pas exercer son option à tout moment avant la date d'expiration. Les
vendeurs d'options sont tenus de respecter l'obligation de livrer l'actif sous-jacent au prix
d'exercice si l'acheteur exerce son droit. Les options peuvent être achetées ou vendues à
des fins de couverture, de spéculation ou de négociation.

Paramètres d’options :

• Taux d’intérêt : le taux d’intérêt est le taux auquel un emprunteur emprunte de


l’argent et à laquelle un prêteur prête de l’argent.
• Prix d'exercice : le prix d'exercice est le prix à partir duquel l'acheteur d'une option a
le droit d'acheter ou de vendre le sous-jacent.
• Prime : la prime est le prix payé pour l'achat d'une option.
• Délai d'expiration : le délai d'expiration est la date à laquelle l'option expire.
• Strike Price : le prix d'exercice est le prix auquel le sous-jacent sera acheté ou vendu
si l'option est exercée.

Option d’achat/de vente :

• Call :
Une option d'achat (call) est un contrat qui donne le droit, mais non l'obligation, d'acheter
un actif à un prix et à une date spécifiés. En contrepartie, l'acheteur de l'option paie une
prime à l'option vendeur. Les options d'achat sont souvent utilisées pour spéculer sur le prix
d'une action ou d'un autre produit financier.
Par exemple, un investisseur peut acheter une option d'achat sur des actions de la
société ABC avec un prix d'exercice de 10 $ et une date d'expiration au 30 juin. Si le prix des
actions de la société ABC est supérieur à 10 $ à la date d'expiration, l'acheteur de l'option
peut exercer son droit d'acheter les actions à 10 $ et les revendre immédiatement à un prix
plus élevé. Dans le cas contraire, l'acheteur de l'option peut laisser expirer son option sans
avoir à exercer son droit d'achat et perdre uniquement la prime qu'il a payée pour l'option.
L'équation du payoff des options d'achat est la suivante : Payoff = Max [0, (Prix
d'exercice - Prix d'actif sous-jacent)]
L'option d'achat permet à son détenteur de recevoir une somme d'argent égale au prix
d'exercice moins le prix de l'actif sous-jacent. Si le prix de l'actif sous-jacent est inférieur au
prix d'exercice, le payoff est égal à zéro.

• Put :
Une option de vente est un contrat qui donne à l’acheteur le droit, mais non l’obligation,
d’acheter une quantité spécifique d’un actif à un prix fixé à l’avance appelé prix d’exercice.
Les options de vente sont souvent utilisées pour gérer le risque et pour spéculer sur le
mouvement des prix des actifs sous-jacents.
Par exemple, un investisseur peut acheter une option de vente sur une action pour se
protéger contre une baisse de son prix. Si le prix de l’action baisse en-dessous du prix
d’exercice de l’option, l’investisseur peut alors exercer l’option et vendre l’action à ce prix,
limitant ainsi ses pertes. D’un autre côté, un investisseur peut acheter une option de vente
pour spéculer sur une baisse des prix des actifs sous-jacents. Si le prix de l’actif baisse en-
dessous du prix d’exercice de l’option, l’investisseur peut alors exercer l’option et vendre
l’actif à ce prix, réalisant ainsi un profit.
L'équation du payoff des options de vente est la suivante: Payoff = Maximum[0, Prix
d'exercice - Prix du sous-jacent]
Le payoff maximum d'une option de vente est la différence entre le prix d'exercice et le
prix du sous-jacent. Si le prix du sous-jacent est inférieur ou égal au prix d'exercice, alors le
payoff sera nul.
6. Modèle de pricing des options :
Les modèles de pricing des options sont basés sur des équations mathématiques qui
déterminent la valeur des options à un moment donné. Ces modèles sont connus sous le
nom de modèles de Black-Scholes, Binomial et Monte Carlo.
Modèle de Black-Scholes :
Le modèle de Black-Scholes est basé sur une approche mathématique qui combine
l'équation différentielle stochastique et la théorie des probabilités pour déterminer la valeur
d'une option. Les principaux paramètres du modèle de Black-Scholes sont le prix de l'actif
sous-jacent, le prix d'exercice, le taux d'intérêt sans risque, le taux de volatilité et le temps
restant jusqu'à l'échéance de l'option.

• Hypothèses :
o Le prix de l'actif sous-jacent St suit un mouvement brownien géométrique
avec une volatilité σ constante et une dérivée μ constante.
o Il n'y a pas d'opportunités d'arbitrage.
o Le temps est une fonction continue.
o Il existe un taux d'intérêt sans risque, connu à l'avance et constant.
Les marchés financiers correspondent assez bien à ce modèle, mais pas
précisément. Surtout, au contraire de l'hypothèse centrale du modèle, le temps n'y est pas
continu. Il y a par conséquent un certain écart entre ce modèle et la réalité, qui peut devenir
important lorsque les marchés sont agités avec de habituelles discontinuités de cours.

• Formule mathématique :
La formule de Black-Scholes sert à calculer la valeur théorique d'une option européenne
à partir des cinq données suivantes :
• 𝑆0: la valeur actuelle de l'action sous-jacente.
• T: le temps qui reste à l'option avant son échéance (exprimé
en années).
• K: le prix d'exercice fixé par l'option.
• r: le taux d'intérêt sans risque.
• 𝜎: la volatilité du prix de l'action.
• Le prix théorique d'une option d'achat est:

𝑪 = 𝑺𝟎𝑵(𝒅𝟏)
−𝒓𝒕
• Le prix théorique d'une option de vente est:

P= −𝑺𝟎𝑵(−𝒅𝟏) + 𝑲𝒆−𝒓𝒕𝑵(−𝒅𝟐)

Avec:
• N: la fonction de répartition de la loi normale centrée réduite.
• 1
• 𝑑 = [𝐿𝑛 ( 𝑆0) + (𝑟 + 0. 5𝜎 2)𝑡] et 𝑑 = 𝑑 − 𝜎√𝑡
1 𝜎√𝑡 𝐾 2 1

Modèle binomial :
Le modèle binomial pour le pricing des options est une méthode qui est utilisée pour
évaluer la valeur d'une option. Il est basé sur l'hypothèse que le prix de l'actif sous-jacent
peut augmenter ou diminuer de manière aléatoire de la valeur actuelle dans le temps.
Le modèle binomial prend en compte les mouvements aléatoires à court terme et
leurs conséquences sur la valeur de l'option.
Le modèle binomial est basé sur le concept du triangle binomial. Cela implique que le
modèle est divisé en plusieurs périodes de temps, et que le prix de l'actif sous-jacent peut
augmenter ou diminuer pour chaque période.
Le modèle prend en compte les probabilités associées à ces mouvements et calcule
la valeur de l'option en prenant en compte ces probabilités.
Le modèle binomial est utile car il permet d'évaluer la valeur des options plus
précisément. Il permet également de prendre en compte des facteurs tels que le risque et la
volatilité des prix des actifs sous-jacents. De plus, le modèle peut être modifié pour prendre
en compte des facteurs tels que des dividendes, des frais de transaction, des taxes et des
commissions.

Modèle Monte Carlo :


Le modèle Monte Carlo est un modèle utilisé pour estimer le prix des options. Il est
basé sur la théorie de la probabilité et peut prendre en compte un certain nombre de facteurs
qui sont difficiles à modéliser avec des méthodes plus traditionnelles.
Le modèle Monte Carlo fonctionne en similant le comportement des marchés
financiers en utilisant des simulations aléatoires. Les simulations sont basées sur des
hypothèses qui représentent les conditions du marché. Ces hypothèses peuvent inclure des
facteurs tels que la volatilité des prix, les taux d'intérêt, la dynamique des prix et la liquidité.
Une fois que les hypothèses sont établies, le modèle Monte Carlo génère des
scénarios aléatoires sur la base desquels les mouvements des prix sont simulés. Ces
scénarios sont ensuite convertis en des valeurs de l'option pour chaque scénario. Les
valeurs de l'option sont ensuite moyennées pour obtenir une estimation plus précise du prix
de l'option.
Le modèle Monte Carlo est un outil utile pour les traders et les investisseurs car il leur
permet de prendre des décisions plus éclairées sur le prix des options en tenant compte d'un
certain nombre de facteurs qui ne peuvent pas être modélisés de manière plus traditionnelle.
Cependant, il est important de noter que le modèle Monte Carlo n'est pas parfait et peut
donner des résultats erronés si les hypothèses sont fausses.

7. Options de change :
Les options de change sont des contrats financiers qui donnent aux investisseurs le
droit, mais non l'obligation, d'acheter ou de vendre une devise à un taux de change fixé à
l'avance. Ces options sont utilisées pour couvrir le risque de change, qui est le risque que les
mouvements des taux de change aient un impact négatif sur la valeur des actifs ou des
passifs libellés dans une devise étrangère.
Les options de change sont disponibles pour une variété de devises et peuvent être
négociées sur les marchés des changes et sur les marchés à terme. Il existe deux types de
contrats d'options de change : les options d'achat et les options de vente.
Les options d'achat donnent le droit, mais non l'obligation, d'acheter une devise à un
taux de change fixé à l'avance. Les options de vente donnent le droit, mais non l'obligation,
de vendre une devise à un taux de change fixé à l'avance.
Les investisseurs peuvent acheter des options de change pour couvrir leur exposition
au risque de change. Les options de change peuvent également être utilisées pour spéculer
sur les mouvements des taux de change et pour rechercher des profits potentiels. Les
investisseurs qui détiennent des options de change peuvent choisir de les exercer ou de les
laisser expirer sans valeur.
Catégories :

• Options de change à terme: Les options de change à terme sont des contrats qui
permettent aux investisseurs d'acheter ou de vendre une devise à un prix
prédéterminé à une date future. Ces contrats sont réglementés par des organismes
de surveillance tels que l'ICE et le Chicago Mercantile Exchange.
• Options de change à l'échéance: Les options de change à l'échéance sont des
contrats qui permettent aux investisseurs d'acheter ou de vendre une devise à un prix
prédéterminé à la date d'échéance. Les options à l'échéance sont généralement plus
courtes que les options à terme et peuvent être plus risquées.
• Options de change à la livraison: Les options de change à la livraison sont des
contrats qui permettent aux investisseurs d'acheter ou de vendre une devise à un prix
prédéterminé à la date et au lieu de livraison. Ces contrats sont souvent utilisés pour
éviter les risques liés aux fluctuations des taux de change.
• Options de change de style américain: Les options de change de style américain sont
des contrats qui peuvent être exercés à tout moment avant la date d'échéance. Cela
signifie que les investisseurs ont la possibilité d'exercer leur option avant la date
d'échéance, ce qui peut leur permettre d'exploiter des opportunités à court terme.
Ces contrats sont généralement plus risqués que les autres types d'options de
change.

Chapitre 2 : Les réseaux de Neurones

1. Généralités :

Définition :

Un réseau de neurones est un modèle informatique qui est conçu pour imiter le
fonctionnement du cerveau humain. Les réseaux de neurones sont une forme de
programmation informatique qui utilise des algorithmes conçus pour apprendre, s'adapter et
prendre des décisions en fonction des données qu'ils reçoivent. Les réseaux de neurones
peuvent être utilisés pour résoudre des problèmes complexes tels que la classification, la
prédiction et la segmentation. Ils peuvent également être utilisés pour la reconnaissance
vocale, l'apprentissage automatique et l'analyse des données.

Avantages et enjeux :

Les réseaux de neurones sont des systèmes de traitement de l'information qui


fonctionnent de manière très similaire au cerveau humain. Ils sont largement utilisés pour
résoudre des problèmes complexes et prédire des résultats futurs.
Les avantages des réseaux de neurones sont nombreux. Tout d'abord, ils peuvent traiter une
grande variété de données, y compris des données non structurées. Ils peuvent également
apprendre à partir des données fournies et s'adapter aux changements de l'environnement.
De plus, ils peuvent prendre des décisions plus rapides et plus précises que les systèmes
traditionnels basés sur des règles.
Les enjeux des réseaux de neurones sont également importants. Il est important de bien
comprendre leurs limites et leurs capacités afin de s'assurer que les résultats sont fiables et
précis. De plus, les réseaux de neurones peuvent être compliqués à mettre en place et à
maintenir, ce qui implique des coûts importants. Il est également important de prévoir des
systèmes de surveillance et de contrôle pour s'assurer que les réseaux de neurones
fonctionnent correctement et ne prennent pas de décisions erronées.
Pour dépasser ces défis, les chercheurs dans le domaine ont développés des
variantes du Gradient Descent ainsi que d’autres techniques pour calculer plus rapidement
les dérivées sur des millions de données.
Parmi ces solutions on trouve :
• Mini-Batch Gradient Descent : Technique pour laquelle le Dataset est fragmenté en petits
lots pour simplifier le calcul du gradient à chaque itération.
• Batch Normalization: Mettre à la même échelle toutes les variables d’entrée et de sortie
internes au Réseau de Neurone pour éviter d’avoir des calculs de gradients extrêmes.
• Distributed Deep Learning : Utilisation du Cloud pour diviser le travail et le confier à
plusieurs machines.

Description d’un réseau de neurones :

Un réseau de neurones est une structure de calcul basée sur une simulation de l'activité
neuronale dans le cerveau humain. Un réseau neuronal est constitué de plusieurs couches
de neurones artificiels interconnectés. Chaque couche est responsable d'une partie
spécifique du traitement des données. Les premières couches du réseau sont responsables
de la reconnaissance des données d'entrée, tandis que les couches ultérieures sont
responsables de la production des résultats. Ces couches sont reliées entre elles par des
liens de poids qui contrôlent la force de l'activité entre les neurones. Les poids sont modifiés
automatiquement par un processus d'apprentissage lorsque le réseau est entraîné à
effectuer une tâche donnée.
• On remarque un niveau d’entrées (input layer) à gauche qui consiste à entrer les
données dans le réseau neuronal, un niveau de sorties (output layer) à droite ou se
trouvent les résultats finaux, et plusieurs niveaux cachés entre deux permettant de
faire les calculs mais qui ne sont pas accessibles d’où l’appellation cachés.
• Les petits ronds sont appelés les neurones et représentent des fonctions
d’activation. Pour un réseau de neurone basique, la fonction Logistique est utilisée
comme fonction d’activation.
La connexion entre les neurones est caractérisée par deux paramètres :
• Les poids et les biais qui influencent la transmission de l'information entre les
couches d'un réseau de neurones.
Tel que :
• Les poids sont les valeurs d'auto-apprentissage qui sont mises à jour par le réseau
de neurones.
• Les biais sont des paramètres additionnels qui ajustent les valeurs d'entrées avant la
production finale des valeurs de sortie.

2. Réseau à un Neurone – Le perceptron :

Un perceptron à un neurone est un algorithme de classification supervisée qui se base sur


des données d'entrée pour déterminer l'appartenance d'une donnée à une certaine classe. Il
se compose d'un seul neurone artificiel qui est responsable du processus de classification.
Chaque entrée est associée à un poids, et le neurone combine ces poids avec la donnée
d'entrée pour produire une sortie. Si la somme des poids et des entrées dépasse une
certaine valeur seuil, le perceptron à un neurone classera la donnée d'entrée dans une
certaine catégorie.
• Chaque neurone est représenté par une fonction de transfert qui prend en entrée des
signaux x et qui retourne une sortie y.
• On trouve deux grandes étapes à l’intérieur de cette fonction

3. Fonction de transfert :
Une fonction de transfert est une fonction mathématique qui relie une entrée à une sortie
dans un système dynamique. La fonction de transfert mesure la relation entre les entrées et
les sorties d'un système et peut être utilisée pour déterminer l'efficacité et le comportement
d'un système. Ceci se fait en deux étapes qui sont :
Etape d’agrégation :

Le neurone calcule la 𝒔𝒐𝒎𝒎𝒆 𝒛 de toutes les entrées 𝒛 = ∑ 𝒙𝜽 multipliés au passage par


leur poids 𝜽. C’est un calcul linéaire.

Etape d’activation :

Le neurone passe 𝒛 dans sa fonction d’activation.


Par exemple, la fonction sigmoïde (fonction Logistique) illustrée ci-dessous. C’est un calcul
non-linéaire.

Remarque :

On utilise souvent d’autres fonctions d’activation que la fonction sigmoïde pour simplifier le
calcul du gradient et ainsi obtenir des cycles d’apprentissage plus rapides :
• La fonction tangente hyperbolique tanh (𝑧)
• La fonction 𝑅𝑒𝑙𝑢(𝑧)

4. Réseaux à plusieurs Neurones :


Pour créer un Réseaux de Neurones, il suffit de développer plusieurs de ces perceptrons et
de les connecter les uns aux autres d’une façon particulière :
• On réunit les neurones en colonne (on dit qu’on les réunit en couche, en layer). Au sein de
leur colonne, les neurones ne sont pas connectés entre eux.
• On connecte toutes les sorties des neurones d’une colonne à gauche aux entrées de tous
les neurones de la colonne de droite qui suit.
On peut ainsi construire un réseau avec autant de couches et de neurones que l’on veut.
Plus il y a de couches, plus on dit que le réseau est profond (deep) et plus le modèle devient
riche, mais aussi difficile à entraîner.
5. Exemple de réseau à 5 Neurones :

Dans les détails, un réseau plus simple (à 3 neurones) nous donnerait la sortie :

𝒂𝟑 = 𝜎(𝜽1𝒂1 + 𝜽2𝒂2) où 𝜽1 et 𝜽2 sont les poids liés aux connections entre neurones 𝒂1 → 𝒂𝟑 et
𝒂2 → 𝒂𝟑. Ce sont les paramètres de notre modèle.

Dans le réseau suivant, on a donc 6 paramètres (qu’on a différencié par les couleurs sur la figure ci-
dessous) :

Avec : a1= 𝜎(𝜽1x1+ 𝜽2x2)

a2= 𝜎(𝜽1x1+ 𝜽2x2)

a3= 𝜎(𝜽1a1+ 𝜽2a2)

6. L’entraînement d’un Réseau de Neurone


L'entraînement d'un réseau de neurones est le processus qui permet à un réseau de
neurones artificiels d'ajuster les poids et les biais d'un réseau afin de minimiser l'erreur entre
les sorties souhaitées et les sorties obtenues. Cela se fait généralement en ajustant les
poids et les biais en fonction de l'erreur de la prédiction du réseau.
L'entraînement se déroule en plusieurs étapes. Tout d'abord, le réseau est initialisé
avec des poids et des biais aléatoires. Ensuite, le réseau est exposé à l'ensemble de
données d'entraînement, généralement sous forme de vecteurs ou de matrices. Le réseau
calcule ensuite des sorties en fonction des entrées et des poids et des biais. L'erreur entre
les sorties souhaitées et les sorties réelles est ensuite calculée et le réseau est alors mis à
jour. Les poids et les biais sont ajustés en fonction de l'erreur et le processus est répété
jusqu'à ce que l'erreur soit minimale.
On a donc besoin pour entrainer un modèle des quatre éléments :

Un algorithme de
Une fonction coût et son
Un Dataset Un modèle et ses paramètres minimisation (Gradient
gradient
descent)

Il suffit de disposer Pour programmer le Modèle, Il faut calculer la Il suffit d’utiliser Gradient
d’un tableau (𝑿, 𝒚) il faut emboîter les fonctions contribution de chaque Descent en utilisant les
comme pour les autres des différent niveaux neurone dans l’erreur gradients calculés avec
problèmes. d’activation les unes dans les finale. Back Propagation.
autres comme on vient de le
Les features (𝒙1, 𝒙2, Cela est possible avec
voir dans l’exemple.
𝒙𝟑, … ) sont une technique appelée
distribuées à l’entrée C’est ce qu’on appelle Back Propagation (faire le
du réseau (dans le Forward Propagation (faire le chemin dans le sens
premier layer) chemin des entrée 𝑿 vers la inverse : 𝒚 vers 𝑿).
sortie 𝒚).

Chapitre 3 Etude de cas : Pricing des options de


change

1. Simulation de la base de donnée :

Notre base de donnée est constituée de sept variables dont une est la variable cible C qui représente
le prix de l’option de change . Nous allons créer un ensemble de données de 15000 observations en
échantillonnage aléatoire à partir de distributions uniformes pour les cinq entrées (S, K, rf,rd, V, T) de
la formule du modèle Garman-Kohlhagen. Les bornes inférieure et supérieure des distributions
uniformes sont telles qu'indiquées dans le tableau suivant :
Paramètres Borne inférieur Borne supérieur
Spot S 30 80
Strike K 8 130
Taux sans risque domestiques rd 1% 6%
Taux sans risque étranger rf 1% 6%
Volatilité du taux de change σ 15% 55%
Maturité T 4 months 3 years

Pour chaque ensemble de paramètres échantillonnés, nous calculons le prix C à l'aide du formule de
Garman Kohlhagen :

En effet ,la formule d’évaluation de Black & Scholes n’est pas adaptée dans le cas d’une option de
change, vu que cette dernière dépend de deux taux d’intérêt plutôt que d’un seul. Le modèle
d’adaptation le plus répandu est connu sous le nom du modèle de Garman kohlhagen. Nous allons
donc suivre un raisonnement analogue à celui d’une action qui verse un dividende. En effet une
devise détenue en tant qu’actif financier, verse à son tour un revenu, qui n’est autre que le taux
d’intérêt sans risque de la devise achetée. D’un autre côte, les devises vendues à découvert, en tant
qu’actifs financiers, cotent un intérêt comme un emprunt. En somme, le taux d’intérêt domestique
est équivalent au taux d’intérêt sans risque, et le taux d’intérêt étranger est équivalent au taux de
dividende.

La valeur du call européen c, et celle du put p sont données par :

𝐶 = 𝑆 * 𝒆−𝑟𝑓*𝑇 * 𝑁(𝑑1) − 𝐾 * 𝒆−𝑟𝑑*𝑇 * 𝑁(𝑑2)

P-= 𝐾 * 𝒆−𝑟𝑑*𝑇 * 𝑁(𝑑2) − 𝑆 * 𝒆−𝑟𝑓*𝑇 * 𝑁(−𝑑1)

Avec :
𝑆 𝜎2
𝑙𝑛 (𝐾) + (𝑟𝑑 − 𝑟𝑓 + 2 ) 𝑇
𝑑1 =
𝜎√𝑇

𝑑2 = 𝑑1 − 𝜎√𝑇
Pour chaque ensemble de paramètres échantillonnés, nous calculons le prix C à l'aide de
l'équation Garman kohlhagen. Pour générer notre base de données on va utiliser des
fonctions prédéfinies dans Excel comme suit :

• Pour la variable S on va utiliser la fonction ALEA.ENTRE. BORNES (30 ;80) qui permet de
générer des nombres aléatoires entre 30 et 80.

• Pour la variable K on va utiliser la fonction ALEA.ENTRE. BORNES (8 ;130) qui permet de


générer des nombres aléatoires entre 8 et 130.

• Pour les variables rd et rf on va utiliser la fonction ALEA.ENTRE. BORNES (1 ;6) /100 qui
permet de générer des nombres aléatoires entre 1% et 6%.
• Pour la variable 𝜎 on va utiliser la fonction ALEA.ENTRE. BORNES (15 ;55) /100 qui permet
de générer des nombres aléatoires entre 0.15 et 0.55

• Pour la variable T on va utiliser la fonction ALEA.ENTRE. BORNES (4 ;36) qui permet de


générer des nombres aléatoires entre 4 et 36 car la maturité est représentée par les mois.
Après on va calculer dans Excel 𝑑1 et 𝑑2 selon les expressions précédente ensuite on calcule
la répartition de la loi normale de 𝑑1 et 𝑑2 en utilisant la formule prédéfinie
LOI.NORMALE(d;moyenne;ecart-type;VRAI)

Voici un aperçu de la base donnée dans Excel et dans Python

2. Modélisation sous Python :

2.1. Bibliothèques utilisées :

TensorFlow : La librairie TensorFlow est une plateforme crée par Google, elle est utilisée dans le
développement et l’exécution des applications de machine Learning et le Deep Learning notamment
les réseaux de neurones artificiel. C’est une bibliothèque qui contient un ensemble de modèles et
d’algorithmes de ML, elle contient aussi des outils qui facilitent la résolution des problèmes
mathématiques plus complexes.

Keras : C’est une bibliothèque développer par Google dans le but de créer facilement des réseaux de
neurones artificiels. Elle contient un ensemble de modules permettant le développement des
modèles du machines Learning les plus complexes.

Pandas : C’est une bibliothèque conçue principalement pour traiter des données étiquetées
facilement et intuitivement ou relationnelles. Elle offre une multitudes d’opérations et de structures
de données qui facilitent l’utilisation des données numériques.
2.2. Le modèle du réseaux de neurone artificiel :

Notre modèle est sous forme d’une pile linéaire de couches qui s’appelle séquence. Pour créer notre
modèle on va suivre quatre étapes principales :

1- On va créer une séquence où on ajoute des couches dans notre projet on va implémenter six
couches une d’entrée contient six neurones qui représentent les six variables d’entrées, une de
sortie contient un seul neurone qui représente le prix du contrat et quatre couches cachées
chacun contient vingt-cinq neurones.
2- on va compiler notre modèle qui utilise le framework sous-jacent pour optimiser le calcul à
effectuer par notre modèle. On va utiliser l’optimiseur adam et mean_squared_error comme
fonction de perte.

3- une fois on a compilé le modèle, on va l’ajuster au données. Cela peut être fait un lot de
données à la fois ou en déclenchant tout le régime de formation du modèle. C'est là que tout le
calcul se produit.

4- c’est la dernière étape où on va faire des prédictions sur de nouvelles données.

Voici notre modèle RNA représenté dans le schéma ci-dessous :

2.3. Importation des bibliothèques :


2.4. Importation de la base de donnée :

On va utiliser la fonction read_excel () de la librairie pandas qui permet d’importer les bases de
données de format Excel. Elle prend en paramètre le nom du fichier Excel suivi de l’extension xlsx. La
fonction data.head() affiche cinq lignes de notre base de données data.

Voici un aperçu de la base de donnée importée sous python

Vérification s’il y a des données manquantes :


On constate que notre base de donnée ne contient aucune donnée manquante

2.5. Sélection des données :

La fonction data.columns() affiche les colonnes de notre base de donnée. La fonction data.drop()
permet de supprimer les colonnes passés en paramètre.

2.6. Division de la base de donnée en base de données


entraînement , test et validation :

On va diviser notre data en trois ensemble le premier représente la base de données avec laquelle on
va entrainer notre modèle et le deuxième représente la base de données avec laquelle on va tester
notre modèle et enfin le troisième ensemble pour valider notre modèle.
2.7. Normalisation de la base de donnée :
2.8. Redimensionnement de la base de donnée :

On va redimensionner notre base de données :

2.9. Création du modèle :

Après cette étape on va commencer la création de notre modèle de réseau de neurones artificiel

Pour créer notre modèle «call_price », on va utiliser la fonction sequential() qui existe dans la
librairie Keras.

Puis on va utiliser la fonction add(layers.Dense()), cette fonction va nous permettre d’ajouter des
couches denses qui sont des couches Keras largement utilisées pour créer des couches
profondément connectées dans le réseau de neurones où chacun des neurones des couches denses
reçoit une entrée de tous les neurones de la couche précédente. À la base, il effectue le produit
scalaire de toutes les valeurs d'entrées ainsi que les poids pour obtenir la sortie.

La première couche d’entrée contient six neurones, elle a une fonction d’activation relu car elle
permet de donner un entraînement rapide de la base de donné .
Les quatre couches cachées sont identiques, elles contiennent vingt-cinq neurones, elles ont comme
fonctions d’activation la fonction relu. La dernière couche de sortie contient un seul neurone sa
fonction d’activation est linéaire, elle n’est pas mentionnée parmi les paramètres de la fonction
add(layers.Dense()) parce que la fonction d’activation est par défaut linéaire.

Pour compiler le modèle on va utiliser la fonction compile () et ensuite on va entrainer en utilisant la


fonction fit (), qui formera le modèle en découpant les données en lots de taille batch_size , et à
plusieurs reprises itérer sur l'ensemble des données pour un nombre donné d'epochs.

Voilà l’implémentation sous python :

2.10. Ajustement du modèle :

Puisque notre modèle correspond à un modèle de régression, on va utiliser mean_squared_error


comme fonction de perte et aussi mean_squared_error omme Keras Regression Metrics.

En fait, Une métrique est une fonction utilisée pour évaluer les performances de notre modèle. Les
fonctions métriques sont similaires aux fonctions de perte, sauf que les résultats de l'évaluation
d'une métrique ne sont pas utilisés lors de la formation du modèle.

Pour l’optimisation on va utiliser adam. Cette étape d’optimisation est très importante car elle
optimise les poids d'entrée en comparant la prédiction et la fonction de perte. Notre modèle sera
entrainé par NumPy arrays à l'aide de fit (), elle a comme paramètres : -

la base de données d’entrainement pour entrainer le modèle.

- epochs : il définit l'itération sur les tableaux de données d'apprentissage.

- batch-size : Il définit le nombre d'échantillons qui se propageront à travers la formation.

- verbose : il aide à montrer les progrès pour chaque époque.

- validation-data : Il est utilisé pour donner une estimation du modèle final lors de la sélection entre
les modèles finaux.
À la fin de chaque époque, le modèle itérera sur l'ensemble de données de validation et calculera la
perte de validation et les métriques de validation

2.11. Evaluation du modèle :

On évalue notre grâce à la fonction evaluate(), voilà l’implémentation sous python :

2.12. Calcul de la valeur prédite :

On va utiliser la fonction predict() qui prend comme paramètre les entrées de la base de données
test. Voilà l’implémentation sous python :

Apres l’évaluation de notre modèle, on a la fonction de perte égale à 0,000733405 et


mean_squared_error vaut 0,00073. Et aussi l’erreur entre les prédictions du modèle et les valeurs
calculées déjà grâce à l’équation de Garman Golhagen dans Excel vaut : 0,000733405. C’est-à-dire
que les paramètres qu’on a utilisés pour notre modèle sont convenables et que le modèle qu’on
vient de construire permet de calculer les prix des contrats européens avec une meilleure précession,
il donne des valeurs raisonnables.
2.13. Variation du MSE en fonction du nombre d’itérations

On remarque que l’erreur diminue au faire et à mesure que les epochs augmente. Voici le code
python pour visualiser la variation de la fonction coût pour la base de données d’entrainement et de

test
Conclusion
A travers ce projet, on a utilisé une application du machine Learning, réseau de neurones, dans le
domaine financier pour calculer les prix des contrats optionnels plus précisément les options
Européennes régi par le modèle de Garmen -Kolhagen On a pu construire et entrainer un modèle de
régression linéaire en réseau de neurones artificiels qui permet de faire des prédictions de la variable
de sortie « le prix des contrats européens », en fonction d’un ensemble de variables d’entrées «𝐬0 La
valeur actuelle de l'action sous-jacente, 𝐓 le temps qui reste à l'option avant son échéance (exprimé
en années), 𝐊𝐊 Le prix d'exercice fixé par l'option, 𝐫d Le taux d'intérêt sans risque pour la devise
domestique , 𝐫f Le taux d'intérêt sans risque pour la devise étrangère 𝜎 La volatilité du prix de
l'action » .on a pu trouver les paramètres convenables à notre problème car la fonction cout diminue
et l’erreur entre les prédictions et les valeurs réelles est très petit. Notre projet représente une seule
application du machine Learning en finance du marché, il existe un très grand nombre d’application
dans ce domaine à savoirs les algorithmes utilisés dans la gestion de portefeuille, la gestion des
risques et l’analyse des données marketing etc.

Vous aimerez peut-être aussi