View
146
Download
0
Category
Preview:
Citation preview
Interactive BrokerBacktesting
avec PyAlgoTrade
Par Charly Simon
Automne 2016
Projet de fin d'étude Automne 2016
○ Ecole de Technologies Supérieure
○ Baccalaureat en Genie Logiciel
○ Parties prenantes :○ Prof. Alain April○ Mr. Thomas Maketa○ Mr. Nicolas Hubert○ Mr. Charly Simon
2 PFE - Automne 2016 - ETS
Agenda ○ Planification du projet
○ Le monde de la bourse
○ Interactive Broker
○ PyAlgoTrade
○ Déroulement du projet
○ Retour sur les objectifs
3 PFE - Automne 2016 - ETS
Agenda ○ Planification du projet
○ Objectifs à atteindre○ Tâches à réaliser○ Artéfacts○ Plan de projet
○ Le monde de la bourse○ Interactive Broker○ PyAlgoTrade ○ Déroulement du projet○ Retour sur les objectifs
4 PFE - Automne 2016 - ETS
Objectifs à atteindre
● BackTesting● Développement de stratégies● Utilisation des données de IB
○ Travail d’équipe et personnel○ Professionnalisme
Planification du projet5
(https://github.com/TMda/MyAlgoSystem)
Tâches à réaliser
○ Découverte de MyAlgoSystem○ Par Mr T. Maketa○ Contribution de WilliamQLiu
○ Recherche d’outils de BackTesting○ Création/Modification application○ Qualité des développements○ Utilisation de données “Live”
Planification du projet6
Artéfacts➢ ART-GES-01 :Fiche de renseignement
➢ ART-GES-02 :Plan de projet / Proposition
➢ ART-ANA-01 :Document de spécification des exigences
➢ ART-ARC-01 :Rapport d’architecture du système
➢ ART-DEV-01 :Rapport d’installation des systèmes
➢ ART-DEV-02 :Rapport de configuration des systèmes
➢ ART-DEV-03 :Documentation du code source
➢ ART-COM-01 :Présentation de la réalisation du projet
➢ ART-COM-02 :Rapport de réalisation de projet
➢ ART-AQ-03-XX :Rapport d’étape
Planification du projet7
Plan de projet
Planification du projet8
Fiche de renseignement Proposition de projet Rencontre équipe
Définition des éxigences Planification Rapport d’étapeRencontre équipe
Recherche de technologie existantes
Développements
Architecture Planification
Rapport d’étape
Rencontre équipe
Présentation oral Rapport de projet
Agenda ○ Planification du projet○ Le monde de la bourse
○ Qu’est-ce que la bourse○ Les indicateur techniques○ Le problème?
○ Interactive Broker○ PyAlgoTrade ○ Déroulement du projet○ Retour sur les objectifs
9 PFE - Automne 2016 - ETS
Qu’est-ce que la bourse ?
Le monde de la bourse10
Qu’est-ce que la bourse ?
Le monde de la bourse11
Qu’est-ce que la bourse ?
Le monde de la bourse12
Actions Obligations
Les indicateur techniques
Le monde de la bourse13
Le problème ?
Le monde de la bourse14
Agenda ○ Planification du projet○ Le monde de la bourse○ Interactive Broker
○ La Compagnie○ Les outils d’analyse○ L’interface de programmation (API)
○ PyAlgoTrade ○ Déroulement du projet○ Retour sur les objectifs
15 PFE - Automne 2016 - ETS
La Compagnie
Interactive Broker16
La Compagnie
Interactive Broker17
Thomas Peterffy
Greenwich, Connecticut, États-Unis
1977
Les outils d’analyse
Interactive Broker18
Interactive Broker19
Les outils d’analyse
L’interface de programmation (API)
Interactive Broker20
L’interface de programmation (API)
Interactive Broker21
Trader WorkStation (TWS)
L’interface de programmation (API)
Interactive Broker22
L’interface de programmation (API)
Interactive Broker23
IbPy
(https://github.com/blampe/IbPy)
Agenda ○ Planification du projet○ Le monde de la bourse○ Interactive Broker○ PyAlgoTrade
○ Une Application python○ Les fonctions de base○ La structure de l’application
○ Déroulement du projet○ Retour sur les objectifs
24 PFE - Automne 2016 - ETS
Une application python
PyAlgoTrade25
Python Algorithmic Trading Library
➢ Focus sur le BackTesting➢ Paper-Trading➢ Live Trading
➢ Licence Apache License, Version 2.0
Les fonctions de base
PyAlgoTrade26
➢ Code entièrement documenté➢ Event Driven (Gestion par Evenement)
➢ Scalable
Les fonctions de base
➢ Prise en charge du marché, Limite, Stop et ordres StopLimit
➢ Supporte les fichier CSV de données temporelle➢ Supporte le trading de Bitcoins avec Bitstamp.➢ Prend charge les évènements Twitter➢ Indicateur Techniques pré-implémentés
PyAlgoTrade27
La structure de l’application
PyAlgoTrade28
http://www.sonarqube.org/
http://sonar.ddns.net:9000/
La structure de l’application
PyAlgoTrade29
http://sonar.ddns.net:9000/http://www.sonarqube.org/
La structure de l’application
PythonDSM(Diagramme Structure dependency)
➢ Génération de diagramme de dépendance➢ Exportation en fichier CSV➢ Calculs Matriciels➢ Java
PyAlgoTrade30
La structure de l’application
Diagramme de dépendance
PyAlgoTrade31
https://github.com/sistorm/pyalgotrade/blob/contratsbacktesting/Diagramme%20de%20dependance.xlsx
La structure de l’application
PyAlgoTrade32
Agenda ○ Planification du projet○ Le monde de la bourse○ Interactive Broker○ PyAlgoTrade ○ Déroulement du projet
○ Les changements dans la planification○ La gestion des options○ Le module de “BackTesting”○ Le module “Live”
○ Retour sur les objectifs
33 PFE - Automne 2016 - ETS
Les changements dans la planification
Déroulement34
Fiche de renseignement Proposition de projet Rencontre équipe
Définition des éxigences Planification Rapport d’étapeRencontre équipe
Recherche de technologie existantes
Développements
Architecture Planification
Rapport d’étape
Rencontre équipe
Présentation oral Rapport de projet
La gestion des options
Déroulement35
Le module de “BackTesting”
Déroulement36
PyAlgoTrade
Stratégies
parser
Valeur datéeBroker
BackTesting
Données boursièresimulées
Placement ordre achat/vente
Nicolas Hubert
Le module de “Live”
Déroulement
PyAlgoTrade
37
Valeur datée
IbPy
Stratégies
BrokerLive
Données boursièreréelle
Placement ordre achat/vente
Demande de placement ordre achat/vente
Charly Simon
Agenda ○ Planification du projet
○ Le monde de la bourse
○ Interactive Broker
○ PyAlgoTrade
○ Déroulement du projet
○ Retour sur les objectifs
38 PFE - Automne 2016 - ETS
Retour sur les objectifs
● Utilisation des données de IB● Module “BackTesting”● Module “Live”● Développement de stratégies
○ Travail d’équipe et personnel○ Professionnalisme
39 PFE - Automne 2016 - ETS
Merci de votre attention
40 PFE - Automne 2016 - ETS
Références○ https://www.interactivebrokers.com
○ http://gbeced.github.io/pyalgotrade
○ https://pypi.python.org/pypi/IbPy2
○ https://github.com/blampe/IbPy
○ https://www.python.org
○ http://www.sonarqube.org
○ https://www.quantstart.com/successful-algorithmic-trading-ebook
41
Interactive BrokerBacktesting avec PyAlgoTrade
42 PFE - Automne 2016 - ETS
Recommended