developer - yahoo finance api python
Yahoo! Archivo CSV de Finanzas no devolverá Dow Jones(^ DJI) (8)
¡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.
Estoy tratando de recuperar datos del mercado de Yahoo! finanzas y el guion funcionó 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 en:
- Dow Jones
- NASDAQ
- S & P
- Bonos de 10 años
En realidad, no me devuelve al CSV, he intentado todo lo que puedo pensar, pero fue en vano, y no he visto a nadie teniendo el mismo problema en línea.
¿Alguna idea y alguien tiene los mismos problemas?
Gracias.
De acuerdo con Yahoo en:
http://developer.yahoo.net/forum/index.php?showtopic=6943
Gracias por escribir a Yahoo! Financiar. Entiendo que informa que no puede descargar datos CSV para ^ DJI. Ciertamente puedo darle más información sobre esto. La limitación que está encontrando se debe a restricciones del Índice Dow Jones. Yahoo! ya no puede proporcionar datos del Índice Dow Jones de esta manera. Me disculpo por cualquier inconveniente causado. Por favor, avíseme si puedo brindarle más ayuda. Gracias de nuevo por contactar a Yahoo! Financiar. Saludos, Brett Yahoo! Atención al cliente de finanzas
¡La otra publicación que sugiere usar INDU parece funcionar! ... Me pregunto si Yahoo (o Dow Jones) se perdió esta y eventualmente desaparecerá ...
El siguiente enlace: http://finance.yahoo.com/q/hp?s=^DJI le dará la información que le interesa (como Open, DaysHigh y DaysLow).
Además, el siguiente código que no funciona:
wget -qO ^DJI.csv "http://ichart.finance.yahoo.com/table.csv?s=^DJI"
puede ser reemplazado con el siguiente truco:
(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.
Reemplace ^ DJI con INDU (ese es uno de los tickers para el Dow) - eso funcionará.
No tengo idea de por qué ^ DJI dejó de trabajar el fin de semana pasado - alguien hizo una ''mejora negativa''.
Cheerio
GT
Sé que esta pregunta fue respondida hace un tiempo, pero recientemente me encontré con esto ^ DJI y Yahoo! cita de citas nuevamente debido a otro cambio en Yahoo! y han encontrado una solución que podría ayudar al OP y a cualquier otra persona que llegue a esta página como resultado de una búsqueda.
Como un poco de antecedentes, tenga en cuenta que hay varios URL que posiblemente se pueden utilizar para descargar datos de cotizaciones históricas 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 OP que figura en la lista, 2) es efectivamente el enlace de "descarga" que se obtiene debajo de la visualización de la página web de las cotizaciones y 3) es la URL de la página web de cotización histórica normal.
Resulta que mientras 1) ha sido bloqueado para DJI y algunos otros desde agosto de 2011 como lo mencionó Mario Fernández, 2) en realidad todavía estaba trabajando hasta el otro día. Lo sé porque lo he estado usando y dejó de funcionar (como se vio) hace una semana. Por otro lado, 2) tuvo el beneficio de que de hecho le permitiría recuperar más datos de los que aparentemente estaban disponibles a través de 1) o 3), por ejemplo, podría recuperar datos hasta 1928 usando el método 2), pero yo divago. De todos modos, como digo, 2) también dejó de funcionar recientemente, lo que me dejó con la frustración de no poder mantener mis conjuntos de datos / modelos actualizados automáticamente.
Dado que realmente uso los datos ^ DJI para algunos de mis modelos, etc., finalmente pasé una hora o 2 hoy escribiendo un raspador de página para la página de citas normales (por ejemplo, n. ° 3) que ahora buscará directamente citas de la web de citas HTML página. Esto es en el contexto de una aplicación de descarga de línea de comando de código abierto escrita en Python en la que he trabajado un poco menos en los últimos meses. Es lo que uso actualmente para actualizar mis conjuntos de datos de forma rutinaria. Con el último parche, 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 deberá descargar e instalar Python (en Windows. Linux y Mac tienen incorporado Python). Sugiero la distribución de Python de ActiveState, disponible aquí:
http://www.activestate.com/activepython/downloads
Tenga en cuenta que solicitan los 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 necesitas la fuente del programa pyQ. Puede obtener esto desde 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 ahora 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 un lugar adecuado. A continuación, abra un símbolo del sistema, "cd" en la carpeta donde descargó el script, e intente ejecutar el script con "pyq". Asumiendo que Python ha sido instalado, se le debe presentar un resumen del uso. En su forma más simple, un comando como:
pyq IBM
buscará una línea de presupuesto en vivo para IBM.
Algo como:
pyq 20120601 20120701 IBM
... obtendrá citas para IBM de 20120601 a 20120701 fecha. Etc. La salida es efectivamente CSV. Si desea guardar la salida en un archivo, redirija 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 cuando trataba de descubrir por qué mi conjunto de datos DJI estaba desactualizado desde hace una semana y decidí publicar aquí si surgía una solución).
Editar: tenga en cuenta que ^ DJI debe citar el ticker, por ejemplo:
pyq 20120601 20120701 "^ DJI"> "^ DJI.csv"
Vi esto la semana pasada ...
http://webdesignsnow.com/forums/about125.html que describe un cambio así como también el mensaje que se ve en el archivo csv.
ahora que yahoo bloqueó INDU puede usar un ETF que rastrea el índice en su lugar. No creo que lo bloqueen.