Académique Documents
Professionnel Documents
Culture Documents
Python – Niveau 1
Nicolas Runtz
Octobre 2019
Programme
2. Les variables
3. Les fonctions
Programme
6. Les boucles
7. Les exceptions
9. Les tableaux
• Créer et manipuler les tableaux avec Numpy
Le langage machine
C’est un langage binaire uniquement constitué de 0 et de 1.
Source:
www.openclassroom.com
REPRODUCTION INTERDITE
Comprendre le fonctionnement d’un langage de
programmation
REPRODUCTION INTERDITE
Les caractéristiques du langage python et ses
applications
Inventé par Guido van Rossum en 1991, il n’a cessé d’évoluer pour
devenir un langage très utilisé aujourd’hui.
technologiques et commence à se
80%
70%
60%
L’IA amplifie fortement le phénomène Python. Stack Overflow 2019 Developer Survey
REPRODUCTION INTERDITE
Installer Python dans un environnement Windows
REPRODUCTION INTERDITE
L’interpréteur Python et son environnement de
développement
REPRODUCTION INTERDITE
L’interpréteur Python et son environnement de
développement
Explorateur de
variables
Fichier python
qui est exécuté
Interpréteur
Python
REPRODUCTION INTERDITE
L’interpréteur Python et son environnement de
développement
REPRODUCTION INTERDITE
L’interpréteur Python et son environnement de
développement
REPRODUCTION INTERDITE
L’interpréteur Python et son environnement de
développement
Ouvrir un Notebook Python 3 :
• Cliquez sur New à droite de l’écran
puis sélectionnez Python 3
REPRODUCTION INTERDITE
L’interpréteur Python et son environnement de
développement
REPRODUCTION INTERDITE
Présentation du langage python
REPRODUCTION INTERDITE
Présentation du langage python
REPRODUCTION INTERDITE
Présentation du langage python
REPRODUCTION INTERDITE
Les packages
Pour importer une librairie déjà installée, on tape la commande « import » suivi du
nom du package.
Attention le package doit être installé dans le PYTHON PATH (liste des répertoires).
• « from math import sqrt » On importe uniquement la fonction sqrt du package math. On utilisera
directement sqrt(…)
• « import math as mt » On importe le package math mais on l’utilisera avec « mt ». Pour appelé une
fonction du package on fera mt.sqrt(…) et non math.sqrt()
REPRODUCTION INTERDITE
Les packages
REPRODUCTION INTERDITE
Les packages
Par défaut Anaconda va chercher le package sur une channel (un serveur) mais
certains packages peuvent se trouver sur d’autres serveurs.
Pour trouver la channel associée à un package, il faut faire une recherche sur le
site https://anaconda.org
REPRODUCTION INTERDITE
Les packages
REPRODUCTION INTERDITE
Les packages
REPRODUCTION INTERDITE
Les variables
Comprendre le fonctionnement d'une variable
REPRODUCTION INTERDITE
Règle de syntaxe des variables
Quelques conventions :
• mon_age
• monAge
REPRODUCTION INTERDITE
Les fonctions
Qu’est-ce qu’une fonction
Une fonction est une suite d’instructions qui renvoie une valeur. Si elle ne renvoie rien on
parle alors de procédure.
Les instructions sur les lignes suivantes doivent être indentées (touche « TAB »).
return est le mot-clé pour que la fonction renvoie une valeur.
REPRODUCTION INTERDITE
Les paramètres d'une fonction
Les paramètres sont des variables que l’on utilisera ensuite dans le bloc
d’instruction de la fonction.
Si une fonction est définie avec des paramètres, ils doivent être obligatoirement
renseignés.
REPRODUCTION INTERDITE
Les fonctions natives
REPRODUCTION INTERDITE
La fonction print()
REPRODUCTION INTERDITE
Créer sa première fonction
REPRODUCTION INTERDITE
Créer sa première fonction
Créer une fonction qui retourne le prix forward d’un actif ne versant pas
de dividende.
On négligera les coûts de portage.
REPRODUCTION INTERDITE
Créer sa première fonction
Créer une fonction qui retourne le prix forward d’un actif ne versant pas
de dividende.
On négligera les coûts de portage.
REPRODUCTION INTERDITE
Retour sur les variables
Utilisation des chaines de caractères et méthodes associées
Les chaines de caractères sont un type de donnée qui permettent de stocker une
série de lettres (ou de caractères).
REPRODUCTION INTERDITE
Utilisation des chaines de caractères et méthodes associées
REPRODUCTION INTERDITE
Utilisation des chaines de caractères et méthodes associées
Par conséquent, chaque caractère d’une chaine peut être désigné par sa
place dans la séquence à l’aide d’un indice.
On utilise les crochets pour accéder aux éléments d’une chaine de
caractères.
REPRODUCTION INTERDITE
Utilisation des chaines de caractères et méthodes associées
REPRODUCTION INTERDITE
Utilisation des chaines de caractères et méthodes associées
REPRODUCTION INTERDITE
Utilisation des chaines de caractères et méthodes associées
REPRODUCTION INTERDITE
Les types de collection en Python
REPRODUCTION INTERDITE
Les listes
Les listes sont des objets qui peuvent en contenir
d’autres.
On crée une liste vide avec l’instruction « list() » ou
« [ ] ».
Ajouter un élément
– Au moment de sa création.
– Sinon on utilise la méthode « append() ».
Supprimer un élément :
– Par son indice avec la fonction « del »
– Par sa valeur avec la méthode « remove() »
Afficher un élément :
– On indique son indice entre crochets. Attention les
indices commencent à zéro.
Modifier un élément :
– Liste[indice de l’élément à modifier] = élément modifié
Insérer un élément :
– Avec la méthode « insert(indice,valeur) ».
REPRODUCTION INTERDITE
Les listes
Compter le nombre d’éléments d’une liste avec la
fonction « len() ».
Compter le nombre d’occurrences d’une valeur
avec la méthode « count() ».
REPRODUCTION INTERDITE
Les listes
REPRODUCTION INTERDITE
Les tuples
Un tuple est une collection ordonnée et immuable.
L’accès aux éléments d’un tuple se fait comme pour une liste
en indiquant le numéro de l’indice entre crochet.
Dans un dictionnaire on utilise des clés à la place des indices. Chaque clé
est associée à une valeur.
REPRODUCTION INTERDITE
Les dictionnaires
REPRODUCTION INTERDITE
Les dictionnaires
Copier un dictionnaire :
• A ne pas faire
dico_copie = myDico
Dans ce cas l’objet dico_copie « pointe » sur la référence de l’objet myDico. Si
on modifie dico_copie on va modifier aussi l’objet myDico.
• Ou la fonction dict()
dico_copie = dict(myDico)
REPRODUCTION INTERDITE
Les dictionnaires
REPRODUCTION INTERDITE
Les structures conditionnelles
Les conditions simples
If macondition:
action
If macondition: action
REPRODUCTION INTERDITE
Les opérateurs
• OR
• AND
REPRODUCTION INTERDITE
Les conditions composées
Dans le cas où il y a plusieurs conditions à
vérifier, on utilise la structure :
if … else …
if condition1:
if condition2:
action2V #dans le cas où condition2 = True
else:
action2F #dans le cas où condition2 = False
else:
action1F
REPRODUCTION INTERDITE
Les conditions composées
if condition1:
action1V
elif condition2:
action2 #dans le cas où c1 = False, c2 = True
elif condition3:
action3 #dans le cas où c1 = False, c2 = False, c3 = True
else:
action123F #dans le cas où c1 = False, c2 = False, c3 = False
REPRODUCTION INTERDITE
Les conditions sur les objets
REPRODUCTION INTERDITE
Les boucles
Les boucles
Elles sont très utiles pour les calculs à tirages (Monte-Carlo) ou obligataires.
Elles sont également très adaptées aux opérations de mise en forme et de
nettoyage de fichiers.
Elles sont particulièrement efficaces utilisées avec les conditions et les
différents objets de python (listes, dictionnaires, tableaux…).
REPRODUCTION INTERDITE
Les boucles while
Elle permet d’effectuer une série d’action tant que la condition est
vraie.
REPRODUCTION INTERDITE
Les mots clés Break et continue
REPRODUCTION INTERDITE
Les boucles for
L’instruction for travaille sur des séquences. Elle est en fait spécialisée
dans le parcours d'une séquence de plusieurs données.
Avec une boucle for on peut exécuter une série d’actions pour chaque
élément d’une séquence.
Pas besoin d’une variable d’indice, la boucle s’arrête quand tous les
éléments de la séquence ont été parcourus.
REPRODUCTION INTERDITE
Les boucles for
REPRODUCTION INTERDITE
La fonction range()
REPRODUCTION INTERDITE
La fonction range()
REPRODUCTION INTERDITE
Gestion d’erreurs
Les exceptions
REPRODUCTION INTERDITE
Le bloc Try… except
try:
bloc de code à essayer
except:
bloc de code qui sera exécuté en cas d’erreur
REPRODUCTION INTERDITE
Le bloc Try… except
REPRODUCTION INTERDITE
Mot-clé else, finally et pass
Le mot-clé else permet de définir un bloc qui sera exécuté si aucune erreur n’est
levée.
try:
bloc de code à essayer
except:
bloc de code qui sera exécuté en cas d’erreur
else:
bloc de code qui sera exécuté si aucune erreur n’est levée
Le mot-clé finally permet de définir un bloc qui sera exécuté dans tous les cas
(erreur ou pas).
try:
bloc de code à essayer
except:
bloc de code qui sera exécuté en cas d’erreur
finally:
bloc de code qui sera exécuté dans tous les cas
Si on veut tester un bloc mais ne rien faire en cas d’erreur on peut utiliser le
mot-clé pass.
REPRODUCTION INTERDITE
Lever une exception
En python on peut générer soit même une erreur. On parle alors de lever une
exception.
Pour cela on utilise le mot-clé raise suivi par le type de l’erreur que l’on
souhaite lever.
On indique entre parenthèse le texte que l’on veut afficher quand l’erreur est
levée.
REPRODUCTION INTERDITE
Les assertions
REPRODUCTION INTERDITE
Pour résumer
REPRODUCTION INTERDITE
Manipuler des fichiers
Gestion des répertoires
Quand vous lancez un programme python, le répertoire courant est celui d’où
vous lancez le programme.
REPRODUCTION INTERDITE
Gestion des répertoires
...
REPRODUCTION INTERDITE
Ouvrir un fichier
Pour travailler sur des fichiers en Python on utilise la fonction open().
REPRODUCTION INTERDITE
Lire un fichier
La fonction open() renvoie un objet de type « fichier »
qui possède des méthodes.
REPRODUCTION INTERDITE
Ecrire dans un fichier
REPRODUCTION INTERDITE
Ecrire dans un fichier
REPRODUCTION INTERDITE
Mot clé with
Le bloc with :
with open(‘monFichier.txt’,’r’) as f:
#opération sur le fichier
REPRODUCTION INTERDITE
Les tableaux
1. Module Numpy
Numpy - un module pour le calcul scientifique
Les types acceptés dans les objets ndarray sont les nombres entiers,
décimaux, et complexes, ainsi que les boolean (True or False) et les
chaines de caractères.
REPRODUCTION INTERDITE
Créer et manipuler des Tableaux
REPRODUCTION INTERDITE
Créer et manipuler des Tableaux
REPRODUCTION INTERDITE
Créer et manipuler des Tableaux
REPRODUCTION INTERDITE
Créer et manipuler des Tableaux
REPRODUCTION INTERDITE
Créer et manipuler des Tableaux
Quand l’objet slice est passé à un objet ndarray, une partie du tableau
commençant par l’indice 2 jusqu’à 7 avec un pas de 2 est découpée.
REPRODUCTION INTERDITE
Créer et manipuler des Tableaux
REPRODUCTION INTERDITE
Créer et manipuler des Tableaux
Les indices négatifs pour la valeur de départ (i), la valeur de fin (j) et le
pas (k) sont interprétés de la façon suivante :
− Si i est négatif on l’interprète comme étant égal à n+i où n est le nombre
d’éléments de la dimension correspondante.
− Si j est négatif on l’interprète comme étant égal à n+j où n est le nombre
d’éléments de la dimension correspondante.
− Si k est négatif le pas se fait à l’envers. On décrémente de l’indice de départ
à l’indice de fin. Ce qui implique que i > j sinon le tableau renvoyé est vide.
i négatif j négatif i et k
négatifs
REPRODUCTION INTERDITE
Créer et manipuler des Tableaux
Pour une matrice mat = np.ones((5,6))
• mat[0,0] : renvoie la première valeur (première ligne et première colonne)
• mat[0,:] : renvoie la première ligne.
• mat[0,1:] : renvoie toute la première ligne sauf la première case.
• mat[0,:-1] : renvoie toute la première ligne sauf la dernière case.
• mat[0,:-2] : renvoie toute la première ligne sauf les deux dernières cases.
REPRODUCTION INTERDITE
Créer et manipuler des Tableaux
La première liste entre crochet indique les indices sur la première dimension et la seconde
liste les indices sur la deuxième dimension.
REPRODUCTION INTERDITE
Boucler sur les tableaux
REPRODUCTION INTERDITE
Boucler sur les tableaux
L’objet itératif de NumPy : nditer
REPRODUCTION INTERDITE
Les opérations
np.multiply(mat1,mat3)
REPRODUCTION INTERDITE
Les opérations
Additionner 2 tableaux:
mat1 + mat3 ou np.add(mat1,mat3)
Soustraire 2 tableaux:
mat1 - mat3 ou np.subtract(mat1,mat3)
Diviser 2 tableaux:
mat1 / mat3 ou np.divide(mat1,mat3)
REPRODUCTION INTERDITE
Fonctions sur les tableaux
• np.around(myData,myDecimal) :
permet d’arrondir au nombre de
décimales saisi en paramètre.
• np.floor(myData) : permet
d’arrondir à l’entier le plus grand et
inférieur au nombre initial.
REPRODUCTION INTERDITE
Fonctions sur les tableaux
np.amin(monTableau,maDimension) :
renvoie le minimum sur une dimension.
np.amax(monTableau,maDimension) :
renvoie le maximum sur une dimension.
np.median(monTableau,maDimension) :
renvoie la médiane sur une dimension.
np.mean(monTableau,maDimension) :
renvoie la moyenne arithmétique sur une
dimension.
np.std(monTableau,maDimension) :
renvoie l’écart-type sur une dimension.
np.var(monTableau,maDimension) :
renvoie la variance sur une dimension.
REPRODUCTION INTERDITE
Charger et sauvegarder des tableaux
REPRODUCTION INTERDITE
Les dataframes
1. Module Pandas
Pandas – un module pour la manipulation de données
Pour la petite histoire Pandas est dérivé des mots anglais Panel Data.
REPRODUCTION INTERDITE
Les structures de données de pandas
REPRODUCTION INTERDITE
Les series
REPRODUCTION INTERDITE
Les series
REPRODUCTION INTERDITE
Les dataframes
REPRODUCTION INTERDITE
Les dataframes
REPRODUCTION INTERDITE
Les dataframes
REPRODUCTION INTERDITE
Les dataframes
REPRODUCTION INTERDITE
Les dataframes
REPRODUCTION INTERDITE
Les dataframes
Quelques fonctions basiques :
• axes : renvoie une liste des
labels des lignes
• ndim : renvoie le nombre de
dimensions
• size : renvoie le nombre
d’éléments
• values : renvoie les Series en
tableau NumPy ndarray
• head(n) : renvoie les n premières
lignes
• tail(n) : renvoie les n dernières
lignes
REPRODUCTION INTERDITE
Les dataframes
REPRODUCTION INTERDITE
Les dataframes
REPRODUCTION INTERDITE
Les dataframes
REPRODUCTION INTERDITE
Les dataframes
REPRODUCTION INTERDITE
Charger des fichiers avec pandas
REPRODUCTION INTERDITE
API Bloomberg
A vous de jouer !
REPRODUCTION INTERDITE
Package blpapi
Avec Anaconda :
conda install -c conda-forge blpapi (version 3.13.1)
ou
conda install -c conda-forge/label/cf201901 blpapi (version 3.12.2)
REPRODUCTION INTERDITE
Module blp
https://github.com/691175002/BLPInterface
REPRODUCTION INTERDITE
Module blp
La class BLPInterface :
Elle permet de créer (ou
d’instancier) l’objet du même nom
(BLPInterface).
REPRODUCTION INTERDITE
Module blp
REPRODUCTION INTERDITE
Module blp
Exercice :
Requêter le prix « px_last » pour les 2 tickers actions « GLE FP
Equity » et « BNP FP Equity »
REPRODUCTION INTERDITE
Module blp
Exercice :
Requêter le prix « px_last » pour les 2 tickers actions « GLE FP
Equity » et « BNP FP Equity »
REPRODUCTION INTERDITE
Module blp
REPRODUCTION INTERDITE
Module blp
Exercice :
Requêter 1 an d’historique du taux swap 10 ans (« EUSA10 Curncy »).
REPRODUCTION INTERDITE
Module blp
Exercice :
Requêter 1 an d’historique du taux swap 10 ans (« EUSA10 Curncy »).
REPRODUCTION INTERDITE
Module blp
REPRODUCTION INTERDITE
Module blp
Exercice :
Requêter la composition de l’Eurostoxx 50 (« SX5E INDEX ») avec le
champ « INDX_MWEIGHT ».
REPRODUCTION INTERDITE
Module blp
Exercice :
Requêter la composition de l’Eurostoxx 50 (« SX5E INDEX ») avec le
champ « INDX_MWEIGHT ».
REPRODUCTION INTERDITE
Module blp
Pour les overrides il faut définir les champs et les valeurs à l’objet
« overrides » dans la méthode sendRequest() du module blp.py.
REPRODUCTION INTERDITE
Module blp
Exemple :
Requêter la composition de l’Eurostoxx 50 (« SX5E INDEX ») en date
du 30/12/2018 en utilisant l’override « end_dt = …».
REPRODUCTION INTERDITE
Les graphiques
1. Module Matplotlib
Les graphiques
REPRODUCTION INTERDITE
Les graphiques
Pour mieux
visualiser les
paramètres d’un
graphique pyplot.
REPRODUCTION INTERDITE
Les graphiques
REPRODUCTION INTERDITE
Les graphiques
REPRODUCTION INTERDITE
Les graphiques
REPRODUCTION INTERDITE
Les graphiques
REPRODUCTION INTERDITE
Les graphiques
REPRODUCTION INTERDITE
Les graphiques
REPRODUCTION INTERDITE
Les graphiques - histogrammes
REPRODUCTION INTERDITE
Les graphiques - Camembert
REPRODUCTION INTERDITE
Les graphiques
REPRODUCTION INTERDITE
A savoir
python « monchemin\monfichier.py »
import os
os.chdir(“monChemin")
run monfichier.py
REPRODUCTION INTERDITE
r e at t e nt ion .
e r c i p o u r v ot u s v otre
M nne z - n o
t o ur, d o
A votre avis !
+33 1 40 33 79 08 - info@barchen.fr