LOG792 - PFE - PROJETS D’ENRICHISSEMENT DE SIGNAUX POUR AUTOMATES DE TRADING

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

Interactive BrokerBacktesting avec PyAlgoTrade

42 PFE - Automne 2016 - ETS

Recommended