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

ALM Discussion :

Ou faut-il stocker des cotations boursières, dans des fichiers textes, dans une base de données ?


Sujet :

ALM

  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 Ou faut-il stocker des cotations boursières, dans des fichiers textes, dans une base de données ?
    Bonjour,

    J'envisage de développer une application de trading boursier.
    Dans un premier temps je pense me concentrer sur la partie backtesting et visualisation des cotations boursières

    Les cotations boursières peuvent se présenter sous la forme de fichiers textes dont le contenu ressemble à ça :

    2011.01.11,05:37,1.2943,1.2944,1.2943,1.2944,26
    2011.01.11,05:38,1.2944,1.2944,1.2943,1.2943,25
    2011.01.11,05:39,1.2943,1.2943,1.2943,1.2943,19
    2011.01.11,05:40,1.2943,1.2943,1.2943,1.2943,18
    2011.01.11,05:41,1.2943,1.2943,1.2943,1.2943,7
    2011.01.11,05:42,1.2943,1.2944,1.2943,1.2943,41
    2011.01.11,05:43,1.2943,1.2943,1.2943,1.2943,23
    2011.01.11,05:44,1.2943,1.2944,1.2943,1.2943,18
    2011.01.11,05:45,1.2944,1.2944,1.2943,1.2943,25
    2011.01.11,05:46,1.2943,1.2943,1.2943,1.2943,26
    2011.01.11,05:47,1.2943,1.2944,1.2943,1.2943,35
    2011.01.11,05:48,1.2943,1.2943,1.2943,1.2943,23
    Chaque ligne correspond aux informations suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            DateTime DateTime { get; set; }
            double Open { get; set; }
            double High { get; set; }
            double Low { get; set; }
            double Close { get; set; }
            long Volume { get; set; }
    Dans un premier temps j'envisage d'utiliser ces données afin de les lire séquentialement pour backtester des stratégies de trading, de lire une séquence continue de données pour l'afficher sous forme de graphe.

    A plus long terme j'envisage également la possibilité d'ajouter des données plus récentes aux données déjà sauvegardées.

    Ou faut-il que je stocke ces données ?
    Dans des fichiers textes, dans une base de données ?
    Quels sont les avantages et les inconvénients de chacune de ces solutions ?

    Merci,

    Pierre8r

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Pierre8r,

    Tu as donné les types de champs, pas leur signification : c'est donc un peu juste pour te répondre.

    D'autre part, le séparateur semble être "," mais le dernier champ comporte une "," de décimale, et non de séparateur : source de problème...
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  3. #3
    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
    Citation Envoyé par Richard_35 Voir le message
    Bonjour Pierre8r,

    Tu as donné les types de champs, pas leur signification : c'est donc un peu juste pour te répondre.

    D'autre part, le séparateur semble être "," mais le dernier champ comporte une "," de décimale, et non de séparateur : source de problème...
    2011.01.11,05:37,1.2943,1.2944,1.2943,1.2944,26
    2011.01.11,05:38,1.2944,1.2944,1.2943,1.2943,25
    2011.01.11,05:39,1.2943,1.2943,1.2943,1.2943,19
    2011.01.11,05:40,1.2943,1.2943,1.2943,1.2943,18
    2011.01.11,05:41,1.2943,1.2943,1.2943,1.2943,7
    2011.01.11,05:42,1.2943,1.2944,1.2943,1.2943,41
    2011.01.11,05:43,1.2943,1.2943,1.2943,1.2943,23
    2011.01.11,05:44,1.2943,1.2944,1.2943,1.2943,18
    2011.01.11,05:45,1.2944,1.2944,1.2943,1.2943,25
    2011.01.11,05:46,1.2943,1.2943,1.2943,1.2943,26
    2011.01.11,05:47,1.2943,1.2944,1.2943,1.2943,35
    2011.01.11,05:48,1.2943,1.2943,1.2943,1.2943,23
    Les données sont séparées par des virgules.
    Le premier champ est la date.
    Le deuxième l'heure.
    Le 3 open.
    Le 4 high.
    Le 5 low.
    Le 6 close.
    Le 7 le volume.


    Ma question n'est pas de savoir comment parser le fichier texte pour récupérer les données.
    Ma question est sur les avantages et les inconvénients de stocker des cotations boursières dans des fichiers textes, dans une base de données ou encore dans un fichier JSon.

    Parmi les avantages qui me viennent à l'esprit pour la base de données ce sont :
    la possibilité de grossir en gardant une même robustesse.

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour à toi aussi, Pierre8r,

    Citation Envoyé par Pierre8r
    Ma question n'est pas de savoir comment parser le fichier texte pour récupérer les données.
    ==> j'entends bien. Mais pour répondre à ta question, il faut un minimum d'information sur la signification des données.


    Donc, pour répondre à ta question, tu as plutôt intérêt à importer ces fichiers texte dans une base de données car, effectivement,
    Citation Envoyé par Pierre8r
    Parmi les avantages qui me viennent à l'esprit pour la base de données ce sont :
    la possibilité de grossir en gardant une même robustesse.
    et j'ajouterais l'évolutivité.

    La structure que tu as décrite me semble OK... sauf, qu'il manque la référence de l'action concernée (on ne sait pas quelle est la valeur côtée).

    Suggestion :

    Entité Action
    - Id_Action (PK)
    - Nom
    ...

    Entité Valeur
    - Id_Action (PK)
    - Date_Valeur (PK)
    - Heure_Valeur (PK)
    - Valeur_open
    - Valeur_high
    - Valeur_low
    - Valeur_close
    - Valeur_volume

    Relation
    Action ---(1,n)---[possède l'historique des valeurs]---(1,1)--- Valeur.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  5. #5
    Membre habitué
    Homme Profil pro
    Retraité MO
    Inscrit en
    Mai 2008
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Retraité MO
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2008
    Messages : 75
    Points : 136
    Points
    136
    Par défaut
    Salut.

    La base de données sera certainement plus facile à manipuler et à sécuriser.
    Mais le fichier plat pourra, plus tard, participer à un autre développement dans un autre système non compatible, ou être lu avec n'importe quoi en cas de plantage.

    Moi, pour les petits volumes, quelques centaines de milliers, je suis pour le stockage en fichiers, avec un chargement en base au début du traitement. Puis la base est recopiée en fichier avant fermeture.

    Mais ce n'est qu'une question de goût.

    Et voir aussi les perfs de la machine pour charger le fichier en base.

    .db.
    R.BASILE, 1971 : "Il y a mille et un procédés pour accélérer des particules. Le seul véritablement fondamental restant...le carnet de chèques."

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Bonsoir

    Si les données sont obtenues sous forme de fichiers texte, par exemple téléchargés sur abcbourse, il est plus simple de les laisser au le format initial, même s'il peut être nécessaire de changer la répartition des données dans les différents fichiers (par exemple en fusionnant les fichiers).

    Si l'accès aux données peut être facilité par l'utilisation de SQL, un sgbdr est une bonne solution.

    Si les données sont représentées par le logiciel sous la forme d'instances d'une classe, il peut être intéressant de réfléchir à partir de la capacité que peut avoir cette classe de sérialiser ses données.

Discussions similaires

  1. Réponses: 10
    Dernier message: 19/12/2013, 14h25
  2. Réponses: 7
    Dernier message: 28/10/2012, 20h44
  3. [XL-2003] récupérer valeur d'une cellule, dans plusieurs fichiers placés dans des sous-dossiers
    Par greenfire15 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 07/08/2012, 09h42
  4. Importer un fichier texte dans des champs d'une table
    Par Cyriusix dans le forum Modélisation
    Réponses: 1
    Dernier message: 17/04/2008, 14h18
  5. Afficher des données dans un datagrid à partir d'une base de données MySQL
    Par General_Garrisson dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 13/07/2006, 15h14

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