Notes proposées au jury de session 1


Les notes sont à ce jour indicatives et soumises à la décision du jury d'examen qui est susceptible de les faire évoluer.


Pour éviter l'indexation par les moteurs de recherche, le lien ci-dessous vous demandera une authentification : vous devrez entrer le mot notes soit comme nom d'utilisateur, soit comme mot de passe pour accéder aux résultats.


Accéder aux notes

Le langage VBA

Visual Basic for Applications, langage lié à la suite MS Office


Notes : Voir Informatique pour la finance

Système d'information

R. REIX : Un système d'information est un ensemble organisé de ressources permettant d'acquérir, de traiter, de stocker des informations dans et entre des organisations.

Introduction

Définition

Notion d'information

Notion de système

Système d'information et système informatique sous-jacent

Un environnement hétérogène dominé par le binaire avec apparition de l'informatique quantique

Structuration et stockage des données

A - L'organisation logique des données

B - Le Big-Data et les technologies sous-jacentes

C - Les blockchains

Traitement et diffusion de données

A - Structure des applications d'entreprise

B - L'intégration des données

C - Les ERP/PGI


Introduction

Le programme de cette année consiste à étudier l'usage en finance de langages de Data Science, dans le cas présent le langage Python.

Un exemple d'outil en finance écrit en Python, et utilisable pour obtenir tant des données que des analyses financières :

OpenBB   https://openbb.co/products/terminal

La particularité de cet outil est qu'il peut être utilisé en mode interactif mais ses fonctions peuvent également être appelées depuis un code python pour obtenir des données ou conduire une analyse.

Cet exemple est également représentatif de l'informatique financière moderne à savoir le recours à des API (Application Programing Interface) : outre le fait de programmer des traitements, le développement bénéficie de services externes, gratuits ou payants, de fourniture de données ou d'analyses avancées. Le recours à ces services externe nécessite le recours à des clés obtenues par une connexion et la création d'un compte sur les sites web des services en question. Les clés seront fournies avant tout recours à ces services. Comme ces clés servent au suivi d'usage avec facturation dans le cas de services payants ou limitations de requêtes (en vue d'éviter les abus) dans le cas de services gratuits, ces clés sont nécessairement personnelles.

Ex : Obtention d'une clé sur la site de la Federal Reserve Board of Saint-Louis

Puis usage dans un code Python

from fredapi import Fred   # Importation du module donnant accès au service
fred = Fred(api_key='73d82da...') # Elément-clé d'identification pour bénéficier du service
data = fred.get_series('SP500') # Mise en œuvre du service
 

Le langage Python

Un langage très populaire

C’est un langage pour lequel une abondante documentation est disponible dans toutes les langues dont le français.

La documentation de base est à l’adresse https://docs.python.org/fr/3/.

Outre une offre pléthorique en anglais, de nombreux ouvrages sur Python 3 existent en français donc certains sont gratuits dont notamment :

Un langage généraliste avec des prolongements en informatique scientifique

C’est un langage généraliste qui ne s’adresse au calcul scientifique ou financier qu’au travers de modules spécifiques.

  • NumPy : gestion de matrices numériques et de tableaux numériques de dimensions multiples
  • SciPy : fonctions d’informatique scientifique
  • pandas : gestion de tableaux de données (dataframes) de types variés
  • Matplotlib : représentation graphiques de données
  • SymPy : mathématiques symboliques et calculs en précision arbitraire

Des formations aux applications scientifiques en Python sont disponibles en anglais, notamment ici :

Pour une liste de modules utiles en finance, consulter https://github.com/wilsonfreitas/awesome-quant

Un cours Artificial intelligence in Finance est proposé en ligne par Antony Woo (Université de Hong-Kong)

Obtenir et utiliser Python

 
Sur le site du langage :
https://www.python.org/downloads/


Au travers d'une distribution :
Parmi les nombreuses distributions utilisées, la distribution Anaconda existant sur Mac et PC (Windows et Linux) est bien adaptée aux besoins en finance et traitement de données.
Ce sera la solutions principalement retenue pour ce enseignement.
Les versions en lignes utilisent principalement des classeurs Jupyter qui permettent le litterate programing (ou programmation lettrée) qui associent dans un même document :
  1. Documentation et explication des concepts dans un langage permettant une présentation enrichie (texte, images, tableaux, équations,...) en langage Markdown.
  2. Code (en langage Python, mais aussi en R, C++,...)
  3. Résultats de l'exécution du code (sous forme de résultats numériques, tableaux ou graphiques).
Il existent de nombreux environnements en ligne, et vous pourrez utiliser :
 
   
  1. Jupyter : L'interface originelle de Jupyter
  2. ►►JupyterLab (recommandée) : La nouvelle interface de Jupyter
  3. Visual Studio Code (expérimental) : Un environnement de développement intégré. Le premier chargement peut prendre quelques minutes.
  4. XFCE Desktop (expérimental) : Un environnement de bureau Linux
  • Le service Azure Al | Studio d'apprentissage automatique utilisable avec vos identifiants institutionnels de université.
  • Le service Google Colaboratory utilisable à partir de votre compte Google.
  • En ligne surJupyter.org  ou  Jupyterlab :
    Connectez vous à l'adresse https://jupyter.org/try puis choisissez Try Classic Notebooks ou Try Jupyterlab.  
    Seul problème avec ce service : pas de sauvegarde de vos documents entre les sessions (pensez à les récupérer sur votre ordinateur).
  • Sur votre ordinateur, seule option en cas de traitement confidentiel :
    Pour cela le plus confortable est d'installer la version individuelle d'Anaconda à l'adresse https://www.anaconda.com/products/individual. Une fois Anaconda lancé choisissez Jupyter ou JupyterLab.
  • D’autres fournisseurs permettent également d’utiliser en ligne des classeurs Jupyter  dans le cadre de comptes gratuits, pouvant être étendus dans le cadre de solutions commerciales :

   

- IBM Watson studio — https://www.ibm.com/fr-fr/cloud/watson-studio

- DataCamp.com — https://datacamp.com

- Jetbrains — Datalore https://datalore.jetbrains.com

- Deepnote — https://deepnote.com/

- Mode.com — https://mode.com

- NextJournal — https://nextjournal.com

- Kaggle — https://www.kaggle.com/docs/notebooks


I - Prise en main de classeurs Jupyter

 

L'objet de cette préparation est de découvrir le langage Python au travers d'un classeur Jupyter à lancer à votre préférence selon l'un des 4 moyens suivants :
 
  1. Le service de l'université mydocker.universite-paris-saclay.fr

    Etudiants de Sceaux

    • Cliquez sur le bouton
      puis indiquez vos identifiants étudiant :

    Etudiants d'Evry

    • Cliquez sur le bouton
    • Puis sélectionnez votre université :
    • et indiquez votre identifiant à l'université d'Evry :
    • Sur l'écran d'accueil :


      cliquez sur le bouton puis attendez l'actualisation de l'écran.
    • Cliquez sur le bouton
    • Pour importer le classeur :
    •  En ligne sur le service Google Colaboratory :
      Connectez-vous avec vos identifiants gmail à https://colab.research.google.com
      Après avoir consulté la page d'accueil du service, faites Fichier / Importer le notebook, commande Importer et bouton Parcourir puis désignez le fichier ci-dessous après l'avoir enregistré sous votre ordinateur (clic droit / enregistrer la cible sous ou commande analogue selon votre navigateur) :
                 Prise en main de classeur Jupyter.ipynb
      Vous pouvez ensuite consulter le texte de présentation comme les commandes Python et exécuter ces dernières avec le bouton présent dans la marge gauche dès lors que le curseur est sur une cellule de code Python.

    • Sur votre ordinateur :
      Pour cela le plus confortable est d'installer la version individuelle d'Anaconda à l'adresse https://www.anaconda.com/products/individual.
    • Lancez Anaconda navigator.
      Si vous souhaitez avoir Jupyterlab en français (ou dans une autre langue), sachant qu'il est par défaut en anglais :
      Choisissez :

      Puis exécutez la commande :
      conda install -c conda-forge jupyterlab-language-pack-fr-FR
      Dans le cas d'une autre langue, remplacez les 5 derniers caractères.

      Sous Anaconda Navigator choisissez JupyterLab  :

      puis ouvrez le classeur ci-dessous (Upload sous Jupyterlab) après l'avoir enregistré sous votre ordinateur (clic droit / enregistrer la cible sous ou commande analogue selon votre navigateur):           Prise en main de classeur Jupyter.ipynb
      La particularité est que JupyterLab accède dans ce cas aux fichiers de votre ordinateur et stocke directement les fichiers sur votre ordinateur.

Vous pouvez par ailleurs parcourir une version statique de ce classeur Jupyter :
Correction de ce classeur :
 

II - Le langage Python

L'objet de cette partie est de découvrir le langage Python au travers d'un classeur à lancer dans votre environnement Jupyter favori (faire un clic droit ou secondaire puis Enregistrez la cible du lien sous ou Enregistrez le lien sous):
Synthèse_Python.ipynb
 

Vous pouvez également consulter ce classeur :

Version à l'issue de la 1ere séance sur ce thème : Synthèse_Python_a.ipynb

Version à l'issue de la 2e séance sur ce thème : Synthèse_Python_b.ipynb

Version à l'issue de la 3e séance sur ce thème : Synthèse_Python_c.ipynb

Version à l'issue de la 4e séance sur ce thème : Synthèse_Python_d.ipynb

Version à l'issue de la dernière séance sur ce thème : Synthèse_Python_e.ipynb

Exercices d'entrainement : Exercices.ipynb


III - L'usage pour la finance des librairies scientifiques de Python


Veuillez trouver ci-dessous les liens vers les classeurs jupyter, à ouvrir dans votre environnement favori, traitant de chacune des librairies.

A - NumPy

B - SciPy

C - Pandas

D - Les libraires de visualisation MatplotLib, Seaborn, Plotly, Altair...

E - Sympy

F - Cas de synthèse


Informatique



Conformément à la tradition et à ce qui avait été annoncé en début d'année, l'examen de seconde session sera formé de petites questions et non d'un QCM

Présentation

Cours dans le cadre du  Pix

12 h de Cours + 15h TD

Evaluation : 50% TD + 50% QCM fin de semestre

L'accès à l'information

La gestion des  données


Travaux dirigés

Notes de travaux dirigés proposées au jury d'examen


Pour éviter l'indexation par les moteurs de recherche, le lien ci-dessous vous demandera une authentification : vous devrez entrer le mot notes soit comme nom d'utilisateur, soit comme mot de passe pour accéder aux résultats.

Accéder aux notes de travaux dirigés

Résultats du contrôle de substitution

Résultat du contrôle réalisé le 
mercredi 18/12/2024 à 16h00 en salle 113/115 (salle informatique bâtiment 425)

Pour éviter l'indexation par les moteurs de recherche, le lien ci-dessous vous demandera une authentification : vous devrez entrer le mot notes soit comme nom d'utilisateur, soit comme mot de passe pour accéder aux résultats.

Accéder aux notes

Notes de l'interrogation n°2

La moyenne générale est de 09,7/20. Les groupes des lundi, jeudi et vendredi on des moyennes équilibrées (comprises pour chacune des journées entre 9,6 et 9,9).

Pour éviter l'indexation par les moteurs de recherche, le lien ci-dessous vous demandera une authentification : vous devrez entrer le mot notes soit comme nom d'utilisateur, soit comme mot de passe pour accéder aux résultats.

Accéder aux notes

Déroulé indicatif des travaux dirigés :


Système d'information

Notes proposées au jury de session 1

Les notes sont à ce jour indicatives et soumises à la décision du jury d'examen qui est susceptible de les faire évoluer.

Pour éviter l'indexation par les moteurs de recherche, le lien ci-dessous vous demandera une authentification : vous devrez entrer le mot notes soit comme nom d'utilisateur, soit comme mot de passe pour accéder aux résultats.

Accéder aux notes

R. REIX : Un système d'information est un ensemble organisé de ressources permettant d'acquérir, de traiter, de stocker des informations dans et entre des organisations.


Introduction

Définition

Notion d'information

Notion de système

Système d'information et système informatique sous-jacent

Un environnement hétérogène dominé par le binaire avec apparition de l'informatique quantique

Acquisition des données

A - Un environnement essentiellement gouverné par la logique binaire

B - Des arbitrages autour du système binaire

Structuration des données

A – Les matériels et outils de sauvegarde

B – L’organisationlogique des données

C – Le Big Data et les technologies sous-jacentes

D – Les blockchains

Traitement et diffusion de données

A – Structure des applications informatiques d'entreprise

B – L’intégration des données

C – Les systèmes E.R.P. (Enterprise Ressource Planning) / P.G.I. (Progiciels de Gestion Intégrée)

Sécurité du système d'information

A – Introduction

B – Les sinistres informatiques

C – Les procédés de chiffrement

D – Les méthodes pour accompagner la sécurisation du système d’information


Connaissances des systèmes informatiques et des réseaux

INTRODUCTION : Eléments du système informatique

I – ACQUISITION DES DONNEES
A – Un environnement essentiellement gouverné par la logique binaire
     1 – Pourquoi le binaire ?
     2 – Des équipements de taille très hétérogènes
     3 – Evolution : Loi de Moore, circuitisation, downsizing
     4 – Apparition de l’informatique quantique
B – Des arbitrages autour du système binaire
     1 – Le système binaire et ses opérations
     2 – La représentation binaire des informations
     3 – La compression des données
     4 – Le chiffrement des données

II – STRUCTURATION DES DONNEES
A – Les matériels et outils de sauvegarde
B – L’organisation logique des données
     1– Le modèle relationnel
     2 – Les bases NO-SQL
C – Le Big Data et les technologies sous-jacentes
     1 – Virtualisation
     2 – Cloud computing
     3 – Intelligence artificielle et Apprentissage automatique
D – Les blockchains

III – LES RESEAUX
A – Introduction : terminologie et concepts
     1 – Composition basique d’un réseau local
     2 – Caractéristiques d’un réseau
     3 – Du réseau local au réseau à large étendue
     4 – Différentes technologie de mise en relation
     5 – Ubiquité au travers des liaisons sans fil
     6 – Convergence des réseaux
B – Protocoles internet
     1 – Protocole
     2 – Organisation des protocoles
     3 – L’encapsulation de données
     4 – Le multiplexage / démultiplexage
     5 – L’adressage et la résolution de noms
C – Les services apportés par les réseaux
     1 – Les services de communication
     2 – Les services de diffusion
     3 – Le P2P (Peer to peer)