Yahoo! Финансовый файл CSV не вернет Dow Jones (^ DJI) - PullRequest
40 голосов
/ 09 сентября 2010

Я пытаюсь получить рыночные данные из Yahoo! финансы и сценарий работали хорошо в течение многих лет, но недавно он перестал показывать данные The Dow Jones. Вот URL:

http://download.finance.yahoo.com/d/quotes.csv?s=^DJI,^IXIC,^GSPC,^TNX&f=snl1d1t1c1ohg

URL должен возвращать данные:

  • Доу Джонс
  • 1011 * NASDAQ *
  • S & P
  • 10-летние облигации

Это на самом деле не возвращается в CSV для меня, я перепробовал все, что мог придумать, но безрезультатно, и я не видел никого, кто сталкивался бы с такой же проблемой в Интернете.

Есть какие-нибудь идеи и есть ли у кого такие же проблемы?

Спасибо.

Ответы [ 8 ]

31 голосов
/ 10 сентября 2010

Замените ^ DJI на INDU (это один из тикеров для Доу) - это сработает.

Не знаю, почему ^ DJI перестал работать на прошлых выходных - кто-то сделал «отрицательное улучшение».

Cheerio

GT

26 голосов
/ 10 сентября 2010

Согласно Yahoo по адресу:

http://developer.yahoo.net/forum/index.php?showtopic=6943

Спасибо, что написали в Yahoo!Финансы.Я понимаю, что вы сообщаете, что не можете загрузить данные CSV для ^ DJI.Я, безусловно, могу дать вам больше информации об этом.Ограничение, с которым вы сталкиваетесь, связано с ограничениями индекса Доу-Джонса.Yahoo!больше не может предоставлять данные индекса Доу-Джонса таким образом.Я прошу прощения за причиненные неудобства.Пожалуйста, дайте мне знать, если я могу оказать дальнейшую помощь.Еще раз спасибо за обращение в Yahoo!Финансы.С уважением, Бретт Yahoo!Финансовая служба поддержки клиентов

Другой пост, в котором предлагается использовать INDU, похоже, работает! ... Интересно, пропустит ли Yahoo (или Dow Jones) этот вариант, и он со временем уйдет ...

8 голосов
/ 06 июля 2012

Я знаю, что на этот вопрос был дан ответ некоторое время назад, но недавно я столкнулся с этим ^ 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) фактически все еще работал, только на днях.Я знаю это, потому что я использовал его, и он перестал работать (как оказалось) около недели назад.Кроме того, 2) имело то преимущество, что оно фактически позволило бы вам получить больше данных, чем, по-видимому, было доступно через 1) или 3), например, вы можете получить данные вплоть до 1928 года, используя метод 2),но я отвлекся.В любом случае, как я уже сказал, 2) недавно также перестал работать, что привело меня к разочарованию невозможностью автоматического обновления наборов / моделей данных.

Учитывая, что я на самом деле использую данные ^ DJI для некоторых из моихмоделей и т. д. Сегодня я потратил час или два на написание скребка страницы для обычной страницы цитат (например, № 3), которая теперь будет напрямую получать цитаты с веб-страницы HTML-цитат.Это в контексте приложения загрузчика командной строки с открытым исходным кодом, написанного на Python, над которым я проделал небольшую работу за последние пару месяцев.Это то, что я сейчас использую, чтобы регулярно обновлять свои наборы данных.С последним патчем, у OP и всех, кто хочет скачать ^ DJI, есть еще одно возможное решение для загрузки ^ DJI по мере необходимости.

Если вы хотите попробовать это, вам нужно будет загрузить иСначала установите Python (в Windows. В Linux и Mac встроен Python.) Я предлагаю дистрибутив ActiveState для Python, доступный здесь:

http://www.activestate.com/activepython/downloads

Обратите внимание, что они запрашивают регистрационные данные, но это не обязательно,Вы можете просто проигнорировать страницу регистрации, которую получаете после нажатия на одну из ссылок для скачивания.

Тогда вам нужен исходный код программы pyQ.Вы можете получить это на странице проекта здесь:

http://bazaar.launchpad.net/~wprins/python-pyq/trunk/view/head:/pyq.py

Редактировать 2016-10-20: Код теперь доступен на github и будет работать под Python 3: https://github.com/ByteJuggler/pyq

Нажмите на ссылку «скачать» и сохраните скрипт в подходящем месте.Затем откройте командную строку «cd» в папке, в которую вы загрузили скрипт, и попробуйте запустить скрипт с «pyq».Предполагая, что Python установлен, вы должны получить сводную информацию об использовании.В простейшем виде такая команда:

pyq IBM

извлечет строку прямой цитаты для IBM.

Что-то вроде:

pyq 20120601 20120701IBM

... будет извлекать котировки для IBM с 20120601 по 20120701 гг.И т. Д. Выход эффективно CSV.Если вы хотите сохранить вывод в файл, то перенаправьте вывод как обычно:

pyq 20120601 20120701 IBM> ibm.csv

В любом случае, надеюсь, что это кому-нибудь поможет.(Я наткнулся на эту страницу ранее сегодня, пытаясь выяснить, почему мой набор данных ^ DJI устарел примерно неделю назад, и решил опубликовать здесь, если / когда я нашел решение.)

Изменить: Обратите внимание, что для ^ DJI вы должны заключить тикер, например:

pyq 20120601 20120701 "^ DJI"> "^ DJI.csv"

5 голосов
/ 09 сентября 2010

Я думаю, вам лучше связаться с Yahoo! Финансы . Поскольку они знают свою систему и, скорее всего, смогут помочь.

4 голосов
/ 27 сентября 2011

Теперь, когда Yahoo заблокировал INDU, вы можете использовать ETF, который отслеживает индекс.Я не думаю, что они это заблокируют.

2 голосов
/ 22 марта 2016

Я использую Google Finance для получения данных с Y!Финансы перестали работать.Хотя Google может изменить свою политику в будущем.Пока это не произойдет, я получу доступ к

http://finance.google.com/finance/info?lient=ig&q=INDEXDJX:.DJI&callback=?

, который вернет документ JSONP.

1 голос
/ 07 апреля 2015

Следующая ссылка: 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

, который с 29 января 1985 года сгенерирует таблицу с ежедневными историческими данными для ^ DJI.

1 голос
/ 13 сентября 2010

Я видел это на прошлой неделе ...

http://webdesignsnow.com/forums/about125.html, который описывает изменение, а также сообщение, видимое в CSV-файле.

...