Finance:Outil de récupération de données Google Finance

De Ensiwiki
Aller à : navigation, rechercher
GFinanceDataSoft
Développeur Elèves ENSIMAG

Windows.png  Windows 

Introduction

GFinanceDataSoft est une application qui a pour objectif de récupérer ou générer des données à l’aide des serveurs de Google. Son interface se présente sous la forme d’un site web composé de plusieurs pages. A la fin de votre manipulation, vous aurez normalement un fichier microsoft data file qui contiendra les données financières voulues. L'application est récupérable à l'adresse https://intranet.ensimag.fr/KIOSK/Matieres/5MMPEPS/GFDataSoft.zip

Attention: ceci est une version beta de l'application!

Get started

Lancer le projet via VisualStudio. Normalement, votre navigateur internet devrait s’ouvrir et vous placer sur la page Home. En haut à gauche, vous avez une icône « aide » dont vous pouvez usez et abusez en cas de blocage.

Ajouter des indices boursiers

Dans le champ "Indice", vous devez saisir un indice boursier de type Reuters. Dans le cas contraire, vous obtiendrez une base de donnée qui ne contiendra que des 1 ou/et 0. Pour connaitre les indices Reuters disponibles, allez sur Google Finance et prenez seulement la partie après les ":". Exemple : NASDAQ : GOOG => GOOG

Récupérer un historique d’un ou plusieurs indices boursiers

Après avoir ajouté les indices boursiers voulus, vous devez spécifier la date et l'heure de fin ainsi que la fréquence (entier naturel) de scannage de l'indice. Vous obtiendrez au téléchargement une base de donnée avec les tables "actions" remplies des indices choisis, "dataday" remplis pour chaque jour par la capitalisation boursière de l'entreprise (market cap), le bénéfice par rapport au prix (pe), le bénéfice par action (eps), le bêta (beta), le nombre d'action (shares), la date du jour (date) et dans le cas d'un fond de pension, la valeur du dernier dividende (incomedividend) et sa date (incomdividenddate).

Récupérer un historique d’un ou plusieurs indice boursiers

Après avoir ajouté les indices boursiers voulus, vous devez spécifier deux dates passées (en tapant par exemple 16 dans la case jour, 12 dans la case mois et 2009 dans la case année, idem pour la date fin mais celle-ci doit être après le 16 décembre 2009). Vous obtiendrez au téléchargement une base de données avec les tables "actions" remplie des indices choisis et "historique" remplie pour chaque jour par le cours d'ouverture (priceOpen), le cours de fermeture (priceClose), le cours le plus haut (high), le cours le plus bas (low) et le volume (volume) de la journée

Bugs et suggestions d'améliorations

Nous avons, dans notre cahier des charges, décrit certains fonctionnalités que nous n’avons pas su, à cause d’un manque de technique et de temps, implémenter. Nous avons donc tenté d’une part de fournir un code correctement commenté et d’autre part d’analyser ces perspectives afin que la continuité du développement de notre application soit possible. Nous allons vous les décrire ici :

  • Détacher la base de données.

Notre application a parfois quelques réticences à se détacher de la base de données pour la mettre à disposition de l’utilisateur malgré les commandes SQL detach_db effectuées … Il faut trouver un moyen fiable à 100% de détacher la base de données sous peine de perdre des données qui ont mis des jours à se constituer.

  • Création des Google spreadsheet dynamiquement

Nous n’avons pas trouvé dans l’API de Google spreadsheet le moyen d’insérer des données sans qu’il y en ait précédemment. Nous avons donc créé manuellement les Google spreadsheet via un navigateur internet et inséré des données. Cependant au moment où nous avons conçu l’application, l’API est toujours en bêta. Nous pouvons donc imaginer que ce problème sera résolu dans les années qui viennent et permettront le point suivant.

  • Accepter plusieurs lancements de notre application en parallèle

La création dynamique des Google spreadsheet, où nous récupérons les données financières, permettrait à plusieurs utilisateurs de créer des bases de données, tout ceci en parallèle. Il faudrait ensuite que l’application puisse gérer la création, la disponibilité (téléchargement par exemple) et la destruction (pour éviter de surcharger la capacité de stockage du serveur) dynamique des bases de données construites.

  • Fichier .txt en entrée

Une fonctionnalité intéressante à ajouter serait la possibilité de mettre en entrée sur le site de l’accueil un fichier .txt contenant les indices Reuters et qui remplacerait l’entrée manuelle, plus risquée, des indices. Il faudrait donc implémenter un parseur pour traiter ce fichier et insérer dans l’arraylist des index les index du fichier.