• Aide
  • Eurêkoi Eurêkoi

Livre

Python pour la finance

Résumé

Présentation du langage Python et de ses fonctionnalités dans le domaine de la finance, agrémentée de nombreux exemples. S'adressant principalement à des développeurs ainsi qu'à des analystes, l'auteur décrit les techniques à connaître pour leurs besoins en science des données, en trading algorithmique et en finance pilotée par les données.


  • Contributeur(s)
  • Éditeur(s)
  • Date
    • DL 2022
  • Notes
    • Traduit de l'anglais
    • La couv. porte en plus : "Maîtriser la finance algorithmique"
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (XX-III-689 p.) : ill., graph. ; 24 cm
  • Sujet(s)
  • ISBN
    • 978-2-412-07746-7
  • Indice
  • Quatrième de couverture
    • Python pour la finance

      Python est devenu le langage de choix pour les traitements du secteur financier exploitant l'apprentissage machine et l'intelligence artificielle. De plus en plus d'institutions financières et de fonds d'investissement adoptent Python pour créer leurs systèmes de trading et de gestion des risques. Ce livre s'adresse autant aux développeurs qu'aux analystes en leur montrant comment tirer profit des paquetages et outils de Python pour leurs besoins en science des données, en trading algorithmique et en finance pilotée par les données.

      Les exemples (en Python 3) sont disponibles sous forme de calepins Jupyter interactifs et directement exécutables. Ce livre compte cinq parties de richesse fonctionnelle croissante et se termine par la création d'un sous-système complet d'estimation de portefeuilles d'options call et put européennes et américaines.

      Grâce à ce livre, vous apprendrez à maîtriser :

      • Python et la finance : premier contact avec les capacités de Python dans un contexte d'analyse financière.
      • Les fondamentaux : rappel des concepts essentiels du langage Python : types, structures NumPy, pandas, programmation orientée objets.
      • La science des données financière : techniques et paquetages Python pour les séries temporelles, les entrées/sorties, la stochastique, l'apprentissage machine et les performances.
      • Le trading algorithmique : rétrotests et déploiement de stratégies de trading automatisé.
      • L'analyse de produits dérivés : construction d'un paquetage souple et puissant de gestion des risques et de pricing de produits dérivés.

  • Tables des matières
      • Python pour la finance

      • Yves Hilpisch

      • First Interactive

      • Introduction xvii
      • Structure du livrexviii
      • Conventions du livrexix
      • Code source du livrexx
      • Terminologie françaisexxi
      • Pour aller plus loinxxii
      • Partie I. Python et la finance1
      • 1. Pourquoi Python pour la finance ?3
      • 1.1 : Le langage de programmation Python3
      • Une brève histoire de Python5
      • L'écosystème de Python6
      • Les communautés d'utilisateurs Python7
      • La pile d'applications scientifiques8
      • 1.2 : Finance et technologie10
      • Investissements technologiques10
      • La technologie comme catalyseur11
      • Technologies et talents comme barrières d'entrée11
      • Augmentation des vitesses, des fréquences et des volumes de données12
      • Apparition de l'analyse en temps réel14
      • 1.3 : Python pour la finance15
      • Syntaxe de Python et mathématiques15
      • Efficacité et productivité de Python19
      • Obtention plus rapide des résultats19
      • Accès aux hautes performances21
      • Du prototypage à la production23
      • 1.4 : La finance pilotée par les données et par l'IA24
      • La finance pilotée par les données24
      • La finance pilotée par l'IA28
      • Conclusion31
      • Autres ressources32
      • 2. Infrastructure Python33
      • 2.1 : conda en tant que gestionnaire de paquetages35
      • Installation de Miniconda35
      • Commandes principales de conda37
      • 2.2 : conda en tant que gestionnaire d'environnements virtuels40
      • 2.3 : Exploitation d'un conteneur Docker43
      • Images et conteneurs Docker44
      • Création d'une image Docker pour Python sous Ubuntu44
      • 2.4 : Utilisation d'une instance Cloud48
      • Clés publiques et privées RSA49
      • Fichier de configuration Jupyter Notebook50
      • Script d'installation pour Python et Jupyter Notebook52
      • Script d'orchestration de la configuration du Droplet53
      • Conclusion54
      • Autres ressources55
      • Partie II. Maîtriser les bases57
      • 3. Types de données et structures59
      • 3.1 : Types de données élémentaires60
      • Numériques entiers (integer)60
      • Numérique à virgule flottante (float)61
      • Booléens64
      • Chaînes de caractères (sfr)66
      • En pratique : afficher et manipuler des chaînes68
      • En pratique : expressions régulières70
      • 3.2 : Données structurées fondamentales72
      • Tupie72
      • List73
      • En pratique : structures de contrôle d'exécution74
      • En pratique : la programmation fonctionnelle76
      • Dictionnaire77
      • Ensemble (set)79
      • Conclusion80
      • Autres ressources80
      • 4. Calculs numériques avec NumPy81
      • 4.1 : Tableaux de données82
      • Un tableau avec des listes Python82
      • La classe de tableaux array de Python84
      • 4.2 : Tableaux NumPy réguliers86
      • Les principes86
      • Dimensions multiples89
      • Méta-informations92
      • Reformage et retaille92
      • Tableaux booléens95
      • Comparaison de performances97
      • 4.3 : Tableaux NumPy multitypes99
      • 4.4 : Vectorisation du code100
      • Vectorisation élémentaire100
      • Implantation mémoire104
      • Conclusion106
      • Autres ressources106
      • 5. Analyse de données avec pandas107
      • 5.1 : La classe DataFrame108
      • Premiers pas avec la classe DataFrame108
      • DataFrame et données temporelles112
      • 5.2 : Analyses élémentaires116
      • 5.3 : Premiers pas en visualisation119
      • 5.4 : La classe Series122
      • 5.5 : Opérations GroupBy124
      • 5.6 : Sélections complexes125
      • 5.7 : Concaténation, jointure et fusion129
      • Concaténation129
      • Jointures131
      • Fusion132
      • 5.8 : Considérations de performances134
      • Conclusion136
      • Autres ressources137
      • 6. Programmation orientée objets139
      • 6.1 : Premier contact avec les objets Python143
      • int 143
      • list144
      • ndarray 144
      • DataFrame 146
      • 6.2 : Principe des classes Python147
      • Le modèle de données Python152
      • La classe Vector156
      • Conclusion156
      • Autres ressources157
      • Partie III. La science des données financières159
      • 7. Visualisation des données161
      • 7.1 : Tracés 2D statiques162
      • Jeu de données à une dimension162
      • Jeux de données à deux dimensions170
      • Autres styles de tracés177
      • 7.2 : Tracés 3D statiques186
      • 7.3 : Tracés 2D interactifs189
      • Tracés élémentaires190
      • Tracés financiers194
      • Conclusion198
      • Autres ressources199
      • 8. Séries temporelles financières201
      • 8.1 : Données financières202
      • Importation des données202
      • Statistiques générales205
      • Changements au cours du temps208
      • Rééchantillonnage211
      • 8.2 : Statistiques mobiles213
      • Aperçu général214
      • Exemple d'analyse technique215
      • 8.3 : Analyse de corrélation218
      • Les données à traiter218
      • Rendements log220
      • Régression par moindres carrés OLS221
      • Corrélation222
      • 8.4 : Données à haute fréquence223
      • Conclusion225
      • Autres ressources226
      • 9. Opérations d'entrées/sorties (E/S)227
      • 9.1 : E/S élémentaires avec Python228
      • Stockage d'objets sur disque229
      • Lecture et écriture de fichiers texte232
      • Exploitation d'une base de données SQL235
      • Lecture et écriture de tableaux NumPy238
      • 9.2 : E/S avec pandas240
      • Retour sur l'approche SQL241
      • De SQL vers pandas243
      • Exploitation d'un fichier CSV246
      • Exploitation d'un fichier de tableur Excel248
      • 9.3 : E/S avec PyTables249
      • Utilisation du module Tables250
      • Utilisation de la compression257
      • Exploitation de tableaux avec PyTables258
      • Calculs hors mémoire260
      • 9.4 : E/S avec TsTables263
      • Génération des données d'exemple263
      • Stockage des données265
      • Relecture des données266
      • Conclusion268
      • Autres ressources269
      • 10. Performances de Python271
      • 10.1 : Boucles de répétition272
      • Version Python272
      • Version avec NumPy273
      • Avec Numba274
      • Avec Cython275
      • 10.2 : Algorithmes277
      • Recherche de nombres premiers278
      • En Python278
      • En Numba279
      • En Cython280
      • Traitements parallèles281
      • Suite de Fibonacci282
      • Algorithme récursif282
      • Algorithme itératif283
      • Recherche du nombre Pi285
      • 10.3 : Arbres binomiaux290
      • En Python290
      • Avec NumPy291
      • Avec Numba293
      • En Cython293
      • 10.4 : Simulation de Monte Carlo294
      • En Python295
      • Avec NumPy297
      • Avec Numba298
      • Avec Cython298
      • Parallélisation avec multiprocessing299
      • 10.5 : Algorithmes récursifs avec pandas300
      • Avec Python301
      • Avec Numba303
      • Avec Cython303
      • Conclusion304
      • Autres ressources305
      • 11. Outils mathématiques307
      • 11.1 : Approximation308
      • Régression309
      • Monômes en tant que fonctions de base309
      • Fonctions de base individuelles313
      • Données bruitées315
      • Données non triées316
      • Dimensions multiples318
      • Interpolation321
      • 11.2 : Optimisation convexe325
      • Optimisation globale326
      • Optimisation locale328
      • Optimisation contrainte329
      • 11.3 : Intégration331
      • Intégration numérique332
      • Intégration par simulation333
      • 11.4 : Calcul formel ou symbolique335
      • Grands principes de SymPy335
      • Équations337
      • Intégration et différenciation337
      • Différenciation338
      • Calcul formel340
      • Conclusion340
      • Autres ressources340
      • 12. Stochastique343
      • 12.1 : Valeurs numériques aléatoires344
      • 12.2 : Simulation350
      • Variables aléatoires350
      • Processus stochastiques353
      • Mouvement brownien géométrique354
      • Diffusion par racines carrées356
      • Volatilité stochastique362
      • Diffusion par sauts de Merton366
      • Réduction de variance369
      • 12.3 : Évaluation372
      • Évaluation d'une option européenne373
      • Estimation d'une option américaine377
      • 12.4 : Mesure du risque380
      • VaR (valeur à risque)381
      • Ajustement dévaluation de crédits (CVA)385
      • Script Python complet389
      • Conclusion392
      • Autres ressources392
      • 13. Statistiques395
      • 13.1 : Tests de normalité396
      • Cas d'école et de référence397
      • Rendements log-normaux397
      • Valeurs log-normales397
      • Données du monde réel408
      • 13.2 : Optimisation de portefeuille414
      • Les données d'entrée414
      • La théorie fondamentale416
      • Le portefeuille optimal419
      • Frontière efficiente422
      • Droite de marché des capitaux (CML)424
      • 13.3 : Statistiques bayésiennes427
      • Formule de Bayes427
      • Régression bayésienne428
      • Deux instruments financiers433
      • Actualisation des estimations au cours temps438
      • 13.4 : Apprentissage machine442
      • Apprentissage non supervisé443
      • Les données d'entrée443
      • Groupement par k-moyennes444
      • Mélange gaussien446
      • Apprentissage supervisé446
      • Données d'entrée447
      • Gaussien naïf bayésien448
      • Régression logistique450
      • Arbres de décision451
      • Réseaux neuronaux profonds453
      • Transformation de caractéristiques456
      • Machine à vecteurs de support et répartition entraînement-test459
      • Conclusion462
      • Autres ressources463
      • Partie IV. Trading algorithmique465
      • 14. La plate-forme de trading FXCM467
      • 14.1 : Mise en place468
      • 14.2 : Récupération des données469
      • Récupération de données de tick469
      • Récupération des données de chandelles472
      • 14.3 : Exploitation de l'interface API474
      • Récupération de donnés historiques474
      • Récupération de données flux en temps réel476
      • Émission d'ordres de trading477
      • Informations de compte479
      • Conclusion480
      • Autres ressources480
      • 15. Stratégies de trading481
      • 15.1 : Moyennes mobiles simples SMA482
      • Import des données482
      • Stratégie de trading483
      • Rétrotest vectorisé485
      • Optimisation487
      • 15.2 : Hypothèse de marche aléatoire RWH489
      • 15.3 : Régression linéaire OLS493
      • Préparation des données493
      • Régression496
      • 15.4 : Partitionnement (clustering)498
      • 15.5 : Approche fréquentielle500
      • 15.6 : Classification503
      • Deux caractéristiques binaires503
      • Cinq caractéristiques binaires505
      • Cinq caractéristiques numérisées506
      • Séparation séquentielle entre entraînement et test508
      • Séparation aléatoire entre entraînement et test509
      • 15.7 : Réseaux neuronaux profonds (DNN)510
      • DNN avec scikit-learn511
      • DNN avec TensorFlow514
      • Conclusion518
      • Autres ressources519
      • 16. Trading automatisé521
      • 16.1 : Gestion de capital522
      • Le critère de Kelly dans une configuration binomiale522
      • Le critère de Kelly pour les actions et les indices527
      • 16.2 : Stratégie de trading à base d'apprentissage machine ML532
      • Rétrotest vectorisé (backtesting)533
      • Effet de levier optimal538
      • Analyse de risque540
      • Sauvegarde de l'objet modèle pour qu'il soit persistant543
      • 16.3 : Algorithme en ligne544
      • 16.4 : Considération d'infrastructure et de déploiement546
      • 16.5 : Journalisation et surveillance547
      • Conclusion550
      • Scripts Python550
      • Stratégie de trading automatisée550
      • Monitorat ou surveillance de la stratégie553
      • Autres ressources553
      • Partie V. Analytique de produits dérivés555
      • 17. Infrastructure d'évaluation559
      • 17.1 : Théorème fondamental d'évaluation des actifs560
      • Un exemple simplifié560
      • Les résultats généraux561
      • 17.2 : Actualisation risque neutre563
      • Modélisation et traitement des dates563
      • Taux court constant565
      • 17.3 : Environnement de marché567
      • Conclusion570
      • Autres ressources571
      • 18. Simulation de modèles financiers573
      • 18.1 : Génération de valeurs aléatoires574
      • 18.2 : Classe de simulation générique576
      • 18.3 : Mouvement brownien géométrique580
      • La classe de simulation du modèle GBM580
      • Cas d'usage du modèle GBM582
      • 18.4 : Diffusion par sauts585
      • La classe de simulation585
      • Cas d'usage du modèle de Merton588
      • 18.5 : Diffusion à racines carrées CIR589
      • La classe square_root_diffusion590
      • Cas d'usage du modèle CIR592
      • Conclusion593
      • Autres ressources595
      • 19. Évaluation de produits dérivés597
      • 19.1 : La classe dévaluation générique598
      • 19.2 : Options européennes602
      • La classe dévaluation européenne602
      • Cas d'usage pour option européenne604
      • 19.3 : Options américaines610
      • Monte Carlo à moindres carrés610
      • La classe d'évaluation américaine612
      • Cas d'usage pour option américaine614
      • Conclusion616
      • Autres ressources618
      • 20. Évaluation de portefeuille619
      • 20.1 : Positions de produits dérivés620
      • La classe de position de dérivés620
      • Cas d'usage622
      • 20.2 : Portefeuille de produits dérivés623
      • La classe de portefeuille624
      • Un cas d'usage628
      • Conclusion635
      • Autres ressources637
      • 21. Évaluation basée marché639
      • 21.1 : Obtention des données des options640
      • 21.2 : Calibration du modèle643
      • Sélection des données de marché643
      • Modélisation des options644
      • Procédure de calibration647
      • 21.3 : Évaluation du portefeuille652
      • Modélisation des positions d'options652
      • Le portefeuille d'options654
      • 21.4 : Code source Python655
      • Conclusion657
      • Autres ressources657
      • 22. Dates et heures659
      • Python659
      • NumPy et les dates665
      • pandas et données temporelles668
      • 23. Classe d'options BSM673
      • Définition de la classe673
      • Exemple d'utilisation675
      • Index 679

  • Origine de la notice:
    • BPI
  • Disponible - 681.234 HIL

    Etage 3 - Informatique - Informatique