IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Cas d'utilisation Discussion :

[UC] Télécharger des cotations depuis les serveurs d'Interactive Brokers


Sujet :

Cas d'utilisation

  1. #1
    Membre averti
    Avatar de Pierre8r
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 518
    Points : 341
    Points
    341
    Par défaut [UC] Télécharger des cotations depuis les serveurs d'Interactive Brokers
    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 ?
    Images attachées Images attachées  

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 533
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 533
    Points : 6 709
    Points
    6 709
    Par défaut
    salut,

    tu vas dire que je pinaille, mais le sujet de l'UC n'est pas Interactive Brokers car ce dernier est plutôt un acteur secondaire et le sujet concerne ton application

    sinon tu es sure qu'il n'y a qu'un UC ? vu de l'utilisateur ton prog ne fait qu'une chose ?

    la prochaine étape est d'essayer d'établir les diagrammes de class
    des diagrammes de séquence me semble aussi nécessaires vu que les interactions avec les serveurs sont asynchrones
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  3. #3
    Candidat au Club
    Homme Profil pro
    n.d.
    Inscrit en
    Avril 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Portugal

    Informations professionnelles :
    Activité : n.d.

    Informations forums :
    Inscription : Avril 2017
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    Dans votre post, crédit pour le tableau que vous avez collé devrait être attribué à:
    http://www.tradingsoftwarelab.com/jtwsdump/



    Citation Envoyé par Pierre8r Voir le message
    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 ?

Discussions similaires

  1. Télécharger un fichier depuis le serveur
    Par MarsOran dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 14/09/2007, 13h51
  2. [FTP] Télécharger un fichier depuis un serveur FTP
    Par bremer dans le forum Langage
    Réponses: 6
    Dernier message: 03/06/2007, 11h27
  3. Impossible de télécharger des fichiers depuis mon serveur
    Par amine55555 dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 1
    Dernier message: 12/05/2007, 14h15
  4. Réponses: 9
    Dernier message: 09/05/2007, 15h18
  5. [WebForms]Comment télécharger un fichier depuis le serveur ?
    Par pepin21 dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 26/04/2006, 16h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo