Impossible de télécharger les données de Yahoo Finance à l'aide de Quantmod dans R
Je suis en train de télécharger des données à partir de Yahoo à l'aide de ce code:
library(quantmod)
getSymbols("WOW", auto.assign=F)
Ce qui a fonctionné pour moi dans le passé, à chaque occasion, sauf que maintenant, 5 jours avant mon affectation du groupe est due.
Sauf que maintenant je reçois cette erreur:
Error in download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m, : cannot download all files
In addition: Warning message:
In download.file(paste(yahoo.URL, "s=", Symbols.name, "&a=", from.m, :
URL 'https://ichart.finance.yahoo.com/table.csv?
s=WOW&a=0&b=01&c=2007&d=4&e=17&f=2017&g=d&q=q&y=0&z=WOW&x=.csv': status was
'502 Bad Gateway'
source d'informationauteur Daniel
Vous devez vous connecter pour publier un commentaire.
L'historique des prix csv URL semblent avoir changé
Vieux
https://chart.finance.yahoo.com/table.csv?s=AAPL&a=2&b=17&c=2017&d=3&e=17&f=2017&g=d&ignore=.csv
Nouveau:
https://query1.finance.yahoo.com/v7/finance/download/AAPL?period1=1492438581&period2=1495030581&interval=1d&events=history&crumb=XXXXXXX
La nouvelle version ajoute une "miette", qui semble refléter les informations de cookie dans le navigateur de l'utilisateur. Il semble qu'ils sont intentionnellement blocage automatisé de téléchargements de l'historique des cours et forcer les requêtes de fournir de l'information afin de valider les cookies dans un navigateur web
La solution est détaillée à https://github.com/joshuaulrich/quantmod/issues/157
Essentiellement
La Version 0.4-9 de quantmod résout ce problème, et est maintenant disponible sur CRAN.
Je me suis toujours demandé pourquoi Yahoo était tellement agréable que de fournir des téléchargements de données et comment vissée je serais si ils ont arrêté d'en faire. Heureusement, l'aide est sur le chemin de courtoisie Joshua Ulrich.
Superflu, comme cela maintenant, peut-être, j'ai codé un correctif qui montre une approche pour contourner le problème de téléchargement.
Il fonctionne comme ceci:
préférences
répertoire pour éviter l'encombrement
-
Vous pouvez également utiliser getSymbols.yahoo.fixer avec lapply pour obtenir une liste de données sur l'actif
Codé dans RStudio sur Mac OS x 10.11 à l'aide de Safari comme navigateur par défaut. Il semble également fonctionner avec Chrome, mais vous aurez besoin d'utiliser les miettes de biscuits pour Chrome. J'utilise un cookie bloqueur, mais avait de la liste blanche finance.yahoo.com pour conserver le cookie pour les futures sessions du navigateur.
getSymbols.yahoo.correctif pourrait être utile. qauantmod::getSymbols de nécessité, a plus de code construit dans pour les options et la gestion des exceptions. Je suis codant pour un travail personnel, j'ai donc enlever les morceaux de code que j'ai besoin de fonctions de package. Je n'ai pas comparé getSymbols.yahoo.correctif parce que, bien sûr, je n'ai pas une version de travail de GetSymbol à des fins de comparaison. D'ailleurs, je ne pouvais pas laisser passer l'occasion de participer à mon premier stackoverflow réponse.
Je suis moi aussi de rencontrer cette erreur. Un utilisateur sur mrexcel fourm (jonathanwang003) explique que la nouvelle URL utilise Unix Timecoding pour les dates. La mise à jour du code VBA ressemblerait à quelque chose comme ceci:
La pièce manquante ici est de savoir comment récupérer les "Miettes" champ qui contient les informations de cookie dans le navigateur. N'importe qui ont des idées. J'ai trouvé ce post, ce qui peut aider: https://www.mrexcel.com/forum/excel-questions/1001259-when-using-querytables-what-posttext-syntax-click-button-webpage.html (voir dernier message par john_w).
Essayez Google. Le CSV est juste un peu différent (n'a pas réglé le prix et la date a un autre format).
http://www.google.com/finance/historical?q=NASDAQ:ADBE&startdate=Jan+01%2C+2009&enddate=Aug+2%2C+2012&output=csv
http://www.google.com/finance/historical?q=BVMF:PETR4&startdate=Jan+01%2C+2009&enddate=Aug+2%2C+2012&output=csv