Je travaille sur mon projet de maîtrise et je recherche une quantité substantielle de données financières sur une entreprise particulière. p>
Exemple: Disons "Apple". Je veux les prix historiques, les prix / ratios de marché actuels, les résultats trimestriels et les appels d'analyste. p>
J'ai vu un couple de postes sur Stackoverflow à propos de YQL. Je pense que je peux obtenir le prix actuel et divers ratios de Yahoo Finance gratuitement. Toutefois, pour d'autres données, il existe des entreprises telles que Thomson Reuters, Bloomberg, etc. Mais ils semblent avoir un système fermé. p>
Où puis-je obtenir une API pour aller chercher diverses données? Y a-t-il quelque chose qui va m'aider à obtenir ces données? Je vais bien avec des données brutes aussi bien dans n'importe quel format. Tout ce que je peux obtenir. Pourriez-vous gars s'il vous plaît suggérer une API? p>
10 Réponses :
Vous posez vraiment des questions sur les données financières gratuites service em> ... plutôt que d'une API. P>
Le problème est que les données sont une marchandise précieuse. Il a probablement coûté aux fournisseurs beaucoup d'argent pour mettre en place leurs systèmes et leur coûte encore plus d'argent pour que ces systèmes fonctionnent. Naturellement, ils veulent un retour sur leur investissement et ils le font (en partie) en vendant leurs données / services. P>
(Dans le cas de Yahoo, Google, etc., les données sont achetées chez quelqu'un d'autre, et Yahoo / Google sera soumis à des restrictions sur la manière dont ils peuvent l'utiliser. Ces restrictions seront reflétées dans les TO respectifs; par exemple, vous êtes seulement autorisé à accéder aux services "pour un usage personnel".) p>
Je pense que votre meilleur pari serait d'aborder un certain nombre de fournisseurs de données financières et de demander s'ils peuvent vous fournir un accès gratuit (sous réserve de toutes les restrictions qu'ils pourraient vouloir imposer) à leurs services de données. Vous pourriez avoir de la chance ... p>
Hey merci Stephen. Au lieu de cela, son API pour le service de données financières, tout comme nous pouvons obtenir des flux Twitter à l'aide d'une API. Je comprends ça les coûte. Je peux leur payer des frais. Des entreprises connues?
Si tout ce que vous voulez, Spot actuel (10 minutes) et seulement les prix de fermeture quotidienne de l'histoire (aucune donnée intraday), vous pouvez probablement l'obtenir gratuitement. Si vous avez besoin de prix en temps réel et d'historique des données commerciales intraday, vous pouvez probablement l'acheter à partir de Bloomberg ou des échanges eux-mêmes.
Avez-vous essayé Google Finance API. (S'il vous plaît google it;). Je l'utilise pour suivre mon portefeuille. Pourriez-vous essayer http://code.google.com/apis/finance/ Docs / Finance-Gadgets.html ? Il existe un exemple de widget personnalisé et cela pourrait vous dire si vous aboiez sous l'arborescence droite. P>
Salut. J'ai vu ça. Je voulais utiliser ces données pour le traitement du dos. Il semble que les gadgets financiers sont juste pour HTML
Ooops ... pas vraiment .. c'est un service basé sur JSON. Vous pouvez appeler cela dans votre couche de service. Je vous ai demandé de regarder Widget afin que vous sachiez si vous obtenez les données dont vous avez besoin.
Merci. Vous voulez dire goo.gl/jsrfl . N'est-ce pas plus une gestion de portefeuille?
Oui, que je ce que je l'utilise. La gestion de portefeuille a besoin de données sur les prix actuels des stocks droit :). Regardez la section qui dit extraire des positions spécifiques.
Récupération de positions spécifiques pour récupérer une position spécifique, appendez le symbole du ticker de la position à l'URL d'alimentation. Par exemple, pour récupérer la position de l'utilisateur authentifié pour Goog, envoyez une demande HTTP GET à l'URL suivante: finance.google.com/finance/feeds/default/portfolios/1/Positi ONS / ... Google Finance répond avec un code d'état HTTP 200 OK et un atome standard 1.0 Entrée contenant l'entrée de position spécifiée dans le même format que dans le flux de position ci-dessus.
Cette API n'est plus disponible.
Ceci est une Données historiques de Yahoo Finance pour "Apple" P>
http://in.finance.yahoo.com/q/hp? S = AAPL P>
Il y a un lien en bas pour télécharger les données. Peut-être que cela pourrait aider p>
Merci. Y a-t-il une manière programmatique?
Il serait assez trivial d'écrire un analyseur pour extraire les données du HTML.
@Joel: encore plus facile pour un CSV.
Stephen est juste sur l'argent, si vous voulez vraiment une véritable mine de données, vous allez probablement devoir payer pour cela. p>
Cependant, j'ai réussi sur mes propres projets privés en utilisant l'épelé "API" ici: P>
Pourriez-vous partager un code source de Yahoo-Data.htm?
Les bonnes données ne sont pas gratuites. C'est aussi simple que ça. La raison en est que toutes les données sont finalement licenciées d'un échange comme NYSE ou NASDAQ. p>
Si vous pouvez obtenir de l'argent, des données historiques haute résolution sont disponibles auprès de Trader automatisé . p>
Vous devriez également parler à l'école de commerce de votre école. S'ils ont financer des étudiants de maîtrise / doctorat ou de maîtres en génie financier, ils devraient avoir de grands référentiels de données haute résolution pour leurs étudiants. P>
Si vous rendez votre question plus détaillée, je peux fournir une réponse plus détaillée. P>
C'est quelque chose que je me frappe au moins une fois par semaine. Retour lorsque l'Internet était composé de Gopher et tout cela, vous avez pu vous connecter à des serveurs FTP au NASDAQ et NYSE, et téléchargez gratuitement toutes sortes de fichiers d'historique des stocks. Je l'avais fait, même si j'avais importé dans une base de données et faisait quelques affaires avec elle ... Mais c'était probablement 10 ordinateurs il y a longtemps. p>
Pourquoi ont-ils cessé de le faire maintenant?
Parce qu'ils ont compris qu'ils pouvaient charger des gens beaucoup d'argent pour cela.
Je suggérerai quelques API contenant des données financières parfois difficiles à trouver (par exemple, des résultats trimestriels, des appels d'analyste): P>
1) http://www.zacksdata.com/zacks-data-api 2) http://www.mergent.com/servius P>
Les deux ont des essais gratuits disponibles. P>
(divulgation: ma société gère ces deux API) em> p>
Un exemple Java pour aller chercher des données de Yahoo Finance Il a donné ici tutoriel Obba: Utilisation d'une classe Java qui se livre Citations de stock de finance.yahoo.com p>
Une bibliothèque Java en développement est idylfin , qui a des méthodes de commodité pour télécharger des données historiques. < / p>
Disclaimer: Je suis l'auteur de cette bibliothèque. P>
J'ai abordé ce problème dans le passé. P>
Pour les données d'historique des prix, j'ai utilisé l'API de Yahoo. Quand je dis API, je veux dire que je faisais une demande HTTP obtenir un fichier CSV de données d'historique des prix. Malheureusement, cela ne vous obtient que des données pour une entreprise à la fois, pour une période de temps, vous spécifiez. Donc, j'ai d'abord fait une liste de tous les symboles de ticker et itérisé sur cela, appelant l'API de Yahoo pour chacun. Vous pourrez peut-être trouver un site Web qui répertorie également les symboles de ticker et il suffit de télécharger périodiquement cette liste. P>
Faites cela trop souvent et trop rapide, et leur site Web pourrait simplement vous bloquer. J'ai ajouté du code pour limiter la fréquence des demandes HTTP. J'ai aussi persisté mes données afin que je n'aurais plus besoin de le récupérer. Je persisterais toujours la forme de données brutes / non traitées, votre code pourrait changer de manière difficile à utiliser autre chose. Avro / Empleur pourrait être une exception, puisque ces schémas de soutien évoluent. P>
Pour d'autres types de données, vous n'avez peut-être pas d'API qui vous donne de bons fichiers CSV. Je devais faire face à ce problème plusieurs fois. Voici mon conseil. P>
Parfois, un site Web appelle un service Web reposant dans les coulisses, vous pouvez découvrir qu'en utilisant Firebug. Parfois, cela nécessitera également certains en-têtes, que vous pouvez également découvrir utiliser Firebug. P>
Si vous êtes obligé de travailler avec HTML, plusieurs bibliothèques Java peuvent vous aider. Apache.commons.http est une bibliothèque que vous pouvez utiliser pour effectuer facilement des demandes HTTP et gérer leurs réponses. Google dispose également d'un pot http-client, qui vaut probablement la peine d'être enquêté. P>
L'API JSOUP est excellente pour analyser les données HTML, même lorsqu'il est mal formaté et non XHTML. Cela fonctionne avec XML aussi. Au lieu de traverser ou de visiter des nœuds dans la hiérarchie JSoup, apprenez XPath et utilisez-le pour sélectionner ce que vous voulez. Le site Web peut modifier périodiquement le format de sa page Web, qui doit être facile à faire face et à résoudre si vous utilisez JSOP et que vous utilisez autrement. P>
Si vous devez travailler avec JSON, utilisez la bibliothèque Jackson pour l'analyser. P>
Si vous devez travailler avec CSV, utilisez la bibliothèque OpenCSV pour analyser et le gérer. P>
En outre, stockez toujours les données dans la brute et évitez de faire des demandes HTTP inutiles afin que vous ne soyez pas bloqué. J'ai été bloqué par Google Finance quelques fois, ils peuvent le faire. Heureusement, le bloc expire. Vous voudrez peut-être même ajouter une période d'attente aléatoire entre les demandes. P>