Yahoo! El archivo CSV de finanzas no devolverá Dow Jones (^DJI)


Estoy tratando de recuperar datos de mercado de Yahoo! finanzas y el guión ha funcionado bien durante años, pero recientemente, dejó de mostrar los datos de Dow Jones. Aquí está la URL:

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

La URL debe devolver datos sobre:

  • Dow Jones
  • NASDAQ
  • S&P
  • Bonos a 10 Años

En realidad no se devuelve en el CSV para mí, he intentado todo lo que se me ocurre, pero fue en vano, y no he visto a nadie tener el mismo problema en línea.

¿Alguna idea y alguien tiene los mismos problemas?

Gracias.

Author: Brad F Jacobs, 2010-09-09

8 answers

Reemplaza ^DJI con INDU (ese es uno de los tickers para el Dow) - eso funcionará.

No hay idea de por qué ^DJI dejó de trabajar el fin de semana pasado - alguien ha hecho una 'mejora negativa'.

Cheerio

GT

 31
Author: GT.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-09-09 21:56:53

Según Yahoo en:

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

Gracias por escribir a Yahoo! Financiación. Entiendo que está informando que no puede descargar datos CSV para ^DJI. Sin duda puedo darle más información al respecto. La limitación que está encontrando se debe a las restricciones del Índice Dow Jones. Yahoo! ya no puede proporcionar datos del Índice Dow Jones de esta manera. Pido disculpas por cualquier inconveniente causar. Por favor, hágamelo saber si puedo ser de ayuda adicional. Gracias de nuevo por contactar con Yahoo! Financiación. Respecto, Brett Yahoo! Finanzas Atención al Cliente

¡El otro post que sugiere usar INDU parece funcionar!... Me pregunto si Yahoo (o Dow Jones) acaba de perder este y eventualmente desaparecerá...

 26
Author: JJ Jameson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-09-10 02:59:35

Sé que esta pregunta ha sido respondida hace algún tiempo, pero recientemente me he encontrado con esto ^DJI y Yahoo! problema de cotizaciones de nuevo debido a otro cambio en Yahoo! y han llegado con una solución que podría ayudar a la OP y cualquier otra persona que llega a esta página como resultado de una búsqueda.

Como un poco de antecedentes, tenga en cuenta que hay varias URL que posiblemente se pueden usar para descargar datos históricos de citas de Yahoo. Son:

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) es el que aparece en la OP, 2) es efectivamente el enlace de "descarga" que se obtiene debajo de la visualización de la página web de cotizaciones y 3) es la URL de la página web de cotización de precio histórico normal.

Resulta que mientras que 1) ha sido bloqueado para ^DJI y algunos otros desde agosto de 2011 según lo mencionado por Mario Fernández, 2) fue en realidad sigo trabajando hasta el otro día. Lo sé porque lo he estado usando y dejó de funcionar (como resultó) hace aproximadamente una semana. Como un aparte, 2) tenía el beneficio de que, de hecho, le permitiría recuperar más datos de los que aparentemente estaba disponible a través de 1) o 3), por ejemplo, podría recuperar datos hasta 1928 utilizando el método 2), pero estoy divagando. De todos modos, como digo, 2) también dejó de trabajar recientemente lo que me dejó con la frustración de no poder mantener mi datasets / modelos actualizados automáticamente.

Dado que en realidad uso los datos ^DJI para algunos de mis modelos, etc., eventualmente pasé una hora o 2 hoy escribiendo un raspador de página para la página de citas normales (por ejemplo, no. 3) que ahora obtendrá directamente las citas de la página web de citas HTML. Esto es en el contexto de una aplicación de descarga de línea de comandos de código abierto escrita en Python en la que he hecho algunos trabajos menores en los últimos meses. Es lo que uso actualmente para actualizar mis conjuntos de datos de forma rutinaria. Con el último parche, el OP y cualquier otra persona que quiera descargar ^DJI tiene otra posible solución para descargar ^DJI según sea necesario.

Si desea probar esto, primero tendrá que descargar e instalar Python (en Windows. Linux y Mac tiene Python incorporado.) Sugiero la distribución Python de ActiveState, disponible aquí:

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

Tenga en cuenta que piden detalles de registro, pero no es obligatorio. Simplemente puede ignorar la página de registro que obtiene después de hacer clic en uno de los enlaces de descarga.

Entonces necesita la fuente del programa pyQ. Puede obtener esto de la página del proyecto aquí:

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

Editar 2016-10-20: El código ya está disponible en github y también se ejecutará en Python 3: https://github.com/ByteJuggler/pyq

Haga clic en el enlace" descargar " y guarde el script en algún lugar adecuado. A continuación, abra un símbolo del sistema, "cd" a la carpeta en la que ha descargado el script, e intente ejecutar el script con "pyq". Asumiendo que Python ha sido instalado, se le debería presentar un resumen de su uso. En su forma más simple, un comando como:

Pyq IBM

Obtendrá una línea de cotización en vivo para IBM.

Algo como:

Pyq 20120601 20120701 IBM

... obtendrá cotizaciones para IBM de 20120601 a 20120701 fecha. Sucesivamente. La salida es efectivamente CSV. Si desea guardar la salida en un archivo, redireccione la salida como es normal:

Pyq 20120601 20120701 IBM >ibm.csv

De todos modos, espero que eso ayude a alguien. (Me tropecé con esta página el día de hoy al tratar de averiguar por qué mi conjunto de datos ^DJI estaba desactualizado desde hace aproximadamente una semana y decidí publicar aquí si/cuando se me ocurrió una solución.)

Editar: Tenga en cuenta que para ^DJI debe citar el ticker, por ejemplo:

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

 8
Author: W.Prins,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-20 00:18:26

Creo que es mejor que te pongas en contacto con Yahoo! Finanzas. Ya que conocen su sistema y lo más probable es que puedan ayudar.

 5
Author: Brad F Jacobs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-09-09 19:32:40

Ahora que yahoo bloqueó INDU, puede usar un ETF que rastrea el índice en su lugar. No creo que lo bloquearían.

 4
Author: Leon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-27 15:50:06

Estoy usando Google Finance para obtener los datos desde Y! Las finanzas han dejado de funcionar. Aunque Google podría cambiar su política también en el futuro. Hasta que esto suceda, acceso

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

Que devolverá un documento JSONP.

 2
Author: Steffen Roller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-29 16:25:02

Vi esto la semana pasada...

Http://webdesignsnow.com/forums/about125.html que describe un cambio así como el mensaje visto en el archivo csv.

 1
Author: EA Webmaster,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-09-13 13:01:55

El siguiente enlace: http://finance.yahoo.com/q/hp?s = ^DJI te dará parte de la información que te interesa (como Open, DaysHigh y DaysLow).

Además, el siguiente código no funciona:

wget -qO ^DJI.csv "http://ichart.finance.yahoo.com/table.csv?s=^DJI"

Puede ser reemplazado por el siguiente hack:

(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

Que generará una tabla con datos históricos diarios para el ^DJI a partir del 29 de enero de 1985.

 1
Author: freeseek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-06 22:31:14