Bonjour,
Je cherche à modéliser le téléchargement de cotations depuis les serveurs d'Interactive Brokers.
J'ai réalisé le cas d'utilisation.
Ce que je souhaite obtenir de la première version de mon programme.
Je passe en paramètres le symbole d'une valeur boursière et le time frame désiré.
Le programme stocke les données en mémoire, et à la fin du téléchargement écrit les données dans un fichier de type CSV.
Je suis évidement obligé d'utiliser les API d'Interactive Brokers.
Utilisation des API d'Interactive Brokers
On doit faire une requette asynchrone de données historiques par :
reqHistoricalData()
http://www.interactivebrokers.com/ph...oricaldata.htm
Puis on reçoit alors les données d'une façon asynchrone dans la méthode :
historicalData()
http://www.interactivebrokers.com/ph...oricaldata.htm
Ou cela se complexifie encore, c'est que selon le time frame choisi ( 1 minute, 1 jour, etc,) la quantité de données historique disponible varie, et la quantité récupérable par requette varie également.
Je n'ai pas réussi à obtenir les limitations officielles, mais ces données sembles valides.
|
Y |
M |
W |
D |
S |
1M |
5 |
12 |
52 |
60 |
86400 |
1W |
5 |
12 |
52 |
60 |
86400 |
1 day |
5 |
12 |
52 |
60 |
86400 |
8 hours |
|
1 |
4 |
34 |
86400 |
4 hours |
|
1 |
4 |
34 |
86400 |
3 hours |
|
1 |
4 |
34 |
86400 |
2 hours |
|
1 |
4 |
34 |
86400 |
1 hour |
|
1 |
4 |
34 |
86400 |
30 mins |
|
1 |
4 |
34 |
86400 |
20 mins |
|
|
3 |
27 |
86400 |
15 mins |
|
|
2 |
20 |
86400 |
10 mins |
|
|
1 |
13 |
86400 |
5 mins |
|
|
1 |
10 |
86400 |
3 mins |
|
|
1 |
10 |
86400 |
2 mins |
|
|
1 |
10 |
86400 |
1 min |
|
|
1 |
10 |
86400 |
30 secs |
|
|
|
1 |
86400 |
15 secs |
|
|
|
|
30000 |
10 secs |
|
|
|
|
20000 |
5 secs |
|
|
|
|
10000 |
1 secs |
|
|
|
|
2000 |
Ce tableau signifie que si l'on souhaite des données d'un time frame 1 minute, il faut demander un maximum de 6 jours à la fois par requette, sachant qu'il doit exister des données historiques sur une période d'un an pour le time frame 1 minute.
Donc si l'on souhaite toutes les données historiques en 1 minutes d'une valeur, il faut faire 365/6 requettes pour récupérer toutes les données disponibles.
Pour le time frame 1 minute je crois que c'est un an, mais pour des time frame plus courts comme 1 seconde la période disponible doit être beaucoup plus courte.
Je pense que la prochaine étape est d'essayer d'établir les diagrammes de class.
Des pistes ?
Partager