Yahoo! Файл финансы КШМ не будет возвращать индекс Доу-Джонса (^Джи)
Я пытаюсь получить рыночные данные от Yahoo! finance and the script работал отлично в течение многих лет,но недавно он перестал показывать данные Dow Jones. Вот URL:
Http://download.finance.yahoo.com/d/quotes.csv?s=^DJI,^IXIC,^GSPC,^TNX&f=snl1d1t1c1ohg
URL должен возвращать данные о:
- Dow Jones
- NASDAQ
- И
- 10-Летние Облигации
Он на самом деле не возвращается в CSV для меня, я пытался все, что я могу придумать, но безрезультатно, и я не видел, чтобы у кого-то была такая же проблема в интернете.
Есть идеи и есть ли у кого-нибудь такие же проблемы?
Спасибо.
8 ответов:
Замените ^DJI на INDU (это один из тикеров для Dow) - это будет работать.
Не знаю, почему ^DJI перестал работать в прошлые выходные - кто-то сделал "отрицательное улучшение".
Cheerio
GT
Согласно Yahoo по адресу:
Http://developer.yahoo.net/forum/index.php?showtopic=6943
Спасибо, что написали в Yahoo! Финансы. Я понимаю, вы сообщаете, что не можете загрузить CSV-данные для ^DJI. Я, конечно, могу дать вам больше информации об этом. Ограничение, с которым вы столкнулись, связано с ограничениями индекса Доу-Джонса. Yahoo! больше не может предоставлять данные индекса Доу-Джонса таким образом. Приношу свои извинения за причиненные неудобства вызванный. Пожалуйста, дайте мне знать,если я могу быть вам полезен. Еще раз спасибо, что связались с Yahoo! Финансы. С уважением, Бретт Yahoo! Финансы Обслуживание Клиентов
Другой пост, который предлагает использовать INDU, кажется, работает!... Интересно, если Yahoo (или Dow Jones) просто пропустил этот, и он в конечном итоге исчезнет...
Я знаю, что на этот вопрос был дан ответ некоторое время назад, но я недавно столкнулся с этим ^DJI и Yahoo! котировки снова выдаются из-за очередного изменения в Yahoo! и придумали решение, которое могло бы помочь оператору и любому другому, кто достигнет этой страницы в результате поиска.
В качестве фона обратите внимание, что есть несколько URL-адресов, которые могут предположительно использоваться для загрузки исторических данных котировок из Yahoo. Это:
1) http://download.finance.yahoo.com/d/quotes.csv
2) http://ichart.finance.yahoo.com/table.csv
3) http://finance.yahoo.com/q/hp
1) является одним из перечисленных ОП, 2) фактически является ссылкой "скачать", которую вы получаете под отображением веб-страницы котировок и 3) является обычным историческим URL-адресом веб-страницы котировок.
Получается, что в то время как 1) был заблокирован для ^DJI и некоторых других с августа 2011 года, как мне сказал Марио Фернандес, 2) был заблокирован для ^ DJI и некоторых других с августа 2011 года. на самом деле все еще работает до самого последнего дня. Я знаю это, потому что я использовал его, и он перестал работать (как оказалось) около недели назад. В качестве отступления, 2) имел то преимущество, что он фактически позволил бы вам получить больше данных, чем было очевидно доступно через 1) или 3), например, вы могли бы получить данные вплоть до 1928 года, используя метод 2), но я отвлекаюсь. Во всяком случае, как я уже сказал, 2) также перестал работать в последнее время, что оставило меня с разочарованием от того, что я не могу держать свой наборы данных / модели обновляются автоматически.
Учитывая, что я на самом деле использую данные ^DJI для некоторых из моих моделей и т. д., Я в конечном итоге потратил час или 2 сегодня, написав скребок для страницы обычных котировок (например, № 3), который теперь будет напрямую извлекать котировки из веб-страницы HTML quotes. Это в контексте приложения для загрузки командной строки с открытым исходным кодом, написанного на Python, над которым я проделал небольшую работу за последние пару месяцев. Это то, что я в настоящее время использую для обновления своих наборов данных на регулярной основе. С последним патчем, OP и любой другой, кто хочет загрузить ^DJI, имеет другое возможное решение для загрузки ^DJI по мере необходимости.
Если вы хотите попробовать это, то вам нужно сначала загрузить и установить Python (на Windows. В Linux и Mac встроен Python.) Я предлагаю дистрибутив Python ActiveState, доступный здесь:
Http://www.activestate.com/activepython/downloads
Обратите внимание, что они просят регистрационные данные, но это не так обязательный. Вы можете просто игнорировать страницу регистрации, которую вы получаете после нажатия на одну из ссылок для загрузки.
Тогда вам нужен исходный код программы pyQ. Вы можете получить это со страницы проекта здесь:
Http://bazaar.launchpad.net/~wprins/python-pyq/trunk/view/head:/pyq.py
Edit 2016-10-20: код теперь доступен на github и будет работать также под Python 3: https://github.com/ByteJuggler/pyq
Нажмите на ссылку "Загрузить" и сохраните скрипт. где-нибудь в подходящем месте. Затем откройте командную строку " cd " в папку, в которую вы загрузили скрипт, и попробуйте запустить скрипт с помощью "pyq". Предполагая, что Python был установлен, вам должны быть представлены краткие сведения об использовании. В простейшей форме это команда Типа:
Pyq IBM
Выведет прямую строку котировок для IBM.
Что-то вроде:
Pyq 20120601 20120701 IBM
... будет получать котировки для IBM с 20120601 по 20120701 год. И т.д. Выход есть эффективно CSV. Если вы хотите сохранить вывод в файл, то перенаправьте его как обычно:
Pyq 20120601 20120701 IBM >ibm.csv
В любом случае, надеюсь, что это кому-то поможет. (Я наткнулся на эту страницу ранее сегодня, пытаясь выяснить, почему мой набор данных ^DJI устарел примерно неделю назад, и решил опубликовать здесь, Если/когда я придумал решение.)
Edit: обратите внимание, что для ^DJI вы должны процитировать тикер, например:
Pyq 20120601 20120701 "^DJI " > " ^DJI.csv "
Я думаю, что вам лучше связаться с Yahoo! Финансы . Так как они знают свою систему и, скорее всего, смогут помочь.
Теперь, когда yahoo заблокировал INDU, вы можете использовать ETF, который отслеживает индекс. Я не думаю, что они будут блокировать это.
Я использую Google Finance, чтобы получить данные с Y! Финансы перестали работать. Хотя Google может изменить свою политику и в будущем. Пока это не произойдет, я получаю доступ
Http://finance.google.com/finance/info?lient=ig&q=INDEXDJX:.DJI&callback=?
, который вернет документ JSONP.
Я видел это на прошлой неделе...
Http://webdesignsnow.com/forums/about125.html , который описывает изменение, а также сообщение, увиденное в файле csv.
Следующая ссылка: http://finance.yahoo.com/q/hp?s=^DJI даст вам некоторую информацию, которая вас интересует (например, Open, DaysHigh и DaysLow).
Кроме того, следующий нефункционирующий код:
wget -qO ^DJI.csv "http://ichart.finance.yahoo.com/table.csv?s=^DJI"
Можно заменить следующим Хак:
(echo "Date,Open,High,Low,Close,Volume,Adj Close" for y in {0..7603..66}; do # increase 7603 if necessary wget -qO- "http://finance.yahoo.com/q/hp?s=^DJI&y=$y" | sed 's/<\/\(td\|a\)>/\n/g' | grep yfnc_tabledata1 | sed -e 's/<.*>//g' -e 's/\([0-9]\),\([0-9]\)/\1\2/g' | grep -v ^$ | awk 'BEGIN {m["Jan"]=1; m["Feb"]=2; m["Mar"]=3; m["Apr"]=4; m["May"]=5; m["Jun"]=6; m["Jul"]=7; m["Aug"]=8; m["Sep"]=9; m["Oct"]=10; m["Nov"]=11; m["Dec"]=12} NR%7==1 {printf "%d-%02d-%02d,",$3,m[$1],$2} NR%7>1 {printf "%s,",$0} NR%7==0' done) > ^DJI.csv
Который создаст таблицу с ежедневными историческими данными для ^DJI начиная с 29 января 1985 года.