Yahoo Finance API

Foro genérico sobre programas relacionados con el trading: gráficos, ejecución de órdenes, automatización, etc.
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Yahoo Finance API

Mensaje por Rafa7 »

Señores foristas,


Quisiera saber con que lenguajes de programación se puede consultar, gratis, la API de Yahoo Finances en "tiempo real".
Y cuando digo "tiempo real" no me refiero a las cotizaciones en tiempo real sino a las cotizaciones gratuitas que creo que tienen una demora de 15 minutos.
Es decir, que aunque halla demora me gustaría consultar las cotizaciones de los valores a través de una aplicación escrita con algún lenguaje de programación.

Me parece que se puede usar, al menos Java y Python.
¿Sabeis de algún otro lenguaje mas que pueda acceder, en tiempo real, con la API de Yahoo Finances?
¿C?, ¿Objetive C?, ¿PHP?


Gracias.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
mascara
Mensajes: 344
Registrado: 18 Oct 2007 23:15

Re: Yahoo Finance API

Mensaje por mascara »

Rafa7 escribió:Señores foristas,


Quisiera saber con que lenguajes de programación se puede consultar, gratis, la API de Yahoo Finances en "tiempo real".
Y cuando digo "tiempo real" no me refiero a las cotizaciones en tiempo real sino a las cotizaciones gratuitas que creo que tienen una demora de 15 minutos.
Es decir, que aunque halla demora me gustaría consultar las cotizaciones de los valores a través de una aplicación escrita con algún lenguaje de programación.

Me parece que se puede usar, al menos Java y Python.
¿Sabeis de algún otro lenguaje mas que pueda acceder, en tiempo real, con la API de Yahoo Finances?
¿C?, ¿Objetive C?, ¿PHP?


Gracias.
No estoy seguro pero creo que el api de yahoo se basa en servicios web que devuelven rss, xml o lo que sea ¿no?. Si es así imagino que te serviría cualquier lenguaje en el que puedas invocar una url e interpretar un xls o la respuesta que te venga devuelta... vamos, que casi cualquier lenguaje genérico... Independientemente de que igual ya haya herramientas, librerías y demás implementadas en algún lenguaje que te ahorren trabajo en lugar de currarte tú todo desde cero... pero para la api como tal yo creo que te sirve cualquier lenguaje con el que puedas invocar una url...

Pero no la uso, así que igual estoy equivocado...
Avatar de Usuario
Gamelu
Mensajes: 787
Registrado: 21 May 2009 16:49

Re: Yahoo Finance API

Mensaje por Gamelu »

Yo las uso desde vba en excel, no se si te vale, mirate este hilo, hay un adjunto de agma util
viewtopic.php?f=9&t=16354
Dasziel
Mensajes: 2056
Registrado: 29 Feb 2008 20:49
Ubicación: En la red

Re: Yahoo Finance API

Mensaje por Dasziel »

Nosotros lo tenemos implementado en TL con PHP

https://es.traderlinker.com/publico/data/spy

si quitas el spy y pones cualquier simbolo te salen los datos en el navegador.
Cuidado con los foros. Dont feed the troll
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Yahoo Finance API

Mensaje por Rafa7 »

Gracias Gamelu y Dasziel.

Lo que quiero es que con algún lenguaje de programación (C, Objective C, Pyton, PHP, etc ...) ir descargando en tiempo real los precios de la API de Yahoo Finance (que tienen demora de 15 minutos supongo) para irlos guardando en una base de datos para su posterior estudio.

Saludos.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com

Avatar de Usuario
X-Trader
Administrador
Mensajes: 12781
Registrado: 06 Sep 2004 10:18
Contactar:

Re: Yahoo Finance API

Mensaje por X-Trader »

Tienes unos cuantos, por ejemplo:

Python: https://pypi.python.org/pypi/ystockquote
R: http://stackoverflow.com/questions/3507 ... rices-in-r
PHP: http://www.seangw.com/wordpress/2010/01 ... o-finance/

Incluso Yahoo! tiene su propio lenguaje de consultas denominado YQL:

http://developer.yahoo.com/yql/

Vamos, que tienes todos los sabores disponibles ;)

Saludos,
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Yahoo Finance API

Mensaje por Rafa7 »

Gracias X-Trader,

Si se puede con Python, también debe poderse en C.

Humm

Haremos un pensamiento.

:D
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
SpeakerTrading
Mensajes: 117
Registrado: 13 Dic 2012 21:26
Contactar:

Re: Yahoo Finance API

Mensaje por SpeakerTrading »

Hola,

Los servicios Web son accesibles desde cualquier lenguaje y devuelven texto en XML o JSON que también se puede tratar desde cualquier lenguaje.

Hacerlo con C es más costoso que con leguajes como C#/VB .NET/Java y es más fácil encontrar ejemplos funcionales en estos últimos lenguajes. Buscando "yahoo finance c#" encontrarás páginas con código fácilmente reutilizable.

Un saludo
Speaker Trading
http://speakertrading.wordpress.com/" onclick="window.open(this.href);return false;
Avatar de Usuario
ondu
Mensajes: 865
Registrado: 18 May 2006 21:36

Re: Yahoo Finance API

Mensaje por ondu »

Rafa7 si lo que quieres son históricos tienes el visual chart.

Sobre que basarías los estudios, gráficos diarios, intras, largo plazo ?

saludos y felices fiestas !!!
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Yahoo Finance API

Mensaje por Rafa7 »

Gracias a todos.

ondu, no me interesa los históricos sino hacer una aplicación que reciba en tiempo real (o sea, intradiario) cotizaciones gratuitas, aunque sea las de Yahoo que tienen 15 minutos de retraso.

Feliz Navidad a todos.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
cls
Mensajes: 1336
Registrado: 24 May 2007 18:46
Contactar:

Re: Yahoo Finance API

Mensaje por cls »

Rafa, si quieres conseguir una base de datos una elección práctica y gratuita es NinjaTrader.
A fin de día te conectas al Market Replay y reproduces la sesión del activo que quieras (siempre que esté en los servers; están todos los futuros más tradeados).
En el chart has podido cargar un script (lo tendrías que programar, pero siempre será mucho más sencillo que una api) que te vaya descargando a un fichero las cotizaciones de las barras en el timeframe del chart. Y ya está.

La única pega es que tienes que ir día por día. Un poco lento, pero es lo que tiene al ser gratis. Para que te hagas una idea reproducir 24 horas vendrían a ser un par de minutos en el market replay (aunque cúantos más activos reproduzcas simultáneamente, más despacio irá).

S2
Avatar de Usuario
cls
Mensajes: 1336
Registrado: 24 May 2007 18:46
Contactar:

Re: Yahoo Finance API

Mensaje por cls »

cls escribió:Rafa, si quieres conseguir una base de datos una elección práctica y gratuita es NinjaTrader.
A fin de día te conectas al Market Replay y reproduces la sesión del activo que quieras (siempre que esté en los servers; están todos los futuros más tradeados).
En el chart has podido cargar un script (lo tendrías que programar, pero siempre será mucho más sencillo que una api) que te vaya descargando a un fichero las cotizaciones de las barras en el timeframe del chart. Y ya está.

La única pega es que tienes que ir día por día. Un poco lento, pero es lo que tiene al ser gratis. Para que te hagas una idea reproducir 24 horas vendrían a ser un par de minutos en el market replay (aunque cúantos más activos reproduzcas simultáneamente, más despacio irá).

S2
Ahora que caigo no tendrías ni que reproducir la sesión. Lo que te interesa es el OHLC de las barras, no el level1 ni el level2 así que podrías simplemente mover el cursor del market replay hasta el final de la sesión (es decir, que no tendrías que esperar a que la reproducción terminara) y al instante tendrías todas las barras en el chart. Ejecutas el script y listo.
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Yahoo Finance API

Mensaje por Rafa7 »

Hola csl,


No conozco NinjaTrader.
¿NinjaTrader te permite simular sistemas de trading que incluyan la selección de valores?
Quiero decir que puedas programar la simulación de un sistema en el que si varios valores de un mercado te dan señal de entrada en el mismo día, elija, automáticamente, el valor por algún criterio que pongas y de una manera automática, de manera que puedas hacer backtesting de esta estrategia.

(ProRealTime no puede hacerlo).


Saludos.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
cls
Mensajes: 1336
Registrado: 24 May 2007 18:46
Contactar:

Re: Yahoo Finance API

Mensaje por cls »

Rafa7 escribió:Hola csl,

No conozco NinjaTrader.
¿NinjaTrader te permite simular sistemas de trading que incluyan la selección de valores?
Quiero decir que puedas programar la simulación de un sistema en el que si varios valores de un mercado te dan señal de entrada en el mismo día, elija, automáticamente, el valor por algún criterio que pongas y de una manera automática, de manera que puedas hacer backtesting de esta estrategia.

(ProRealTime no puede hacerlo).

Saludos.
No sé exactamente a qué te refieres.

En Ninja puedes programar sistemas multi-instrumento, y también puedes combinar diferentes time-frames. Por ejemplo, puedes tener un sistema combinado del ES en 15min y del DOW en 30min. Todo en el mismo script. En la lógica del sistema por ejemplo podrías evaluar el RSI del ES en 15min y el MACD del DOW en 30 min, y entrar en el 6E. Es decir, cualquier combinación que se te ocurra de instrumentos y timeframes, tanto para la toma de decisiones como para la ejecución de órdenes, y siempre que los datos te los proporcione tu datafeed. (Esto ya con el replayer no sé si funcionaría).

Después en el backtesting puedes optimizar para determinar los mejores parámetros para tu sistema.

Si te refieres a elegir qué instrumento único se ajustaría mejor a un sistema general ... por ejemplo un sistema para divisas en horario de noticias y quieres averiguar cuál va mejor entre el 6E, 6B, 6J, etc. Pues tendrías que hacer backtesting de cada uno por separado. Salvo que controles de programación en que podrías montarlo en un único script.

Saludos.
Avatar de Usuario
Rafa7
Mensajes: 4919
Registrado: 17 Dic 2009 21:36
Contactar:

Re: Yahoo Finance API

Mensaje por Rafa7 »

Gracias cls,

Lo de combinar time-frames está muy bien.
Yo me refiero a combinar diferentes valores de un mercado.

Un ejemplo:
Supongamos que quiero hacer una simulación en el histórico de la siguiente estrategia:
1.- Señal de entrada: en cualquier valor del mercado cruce de la media móvil de 5 días por encima de la media móvil de la media móvil de 20 días.
2.- Señal de salida en el valor comprado: cruce de la media móvil de 5 días por debajo la media móvil de la media móvil de 20 días.
3.- Si se producen varias señales de entrada (o sea se ha producido señal de entrada en varios valores del mercado) se selecciona el valor tenga el ADX(14) máximo (entre esos valores que dan señal de entrada).
4.- En la apertura del día siguiente se compra el valor seleccionado.
5.- Si da señal de venta, el valor se vende en la apertura del día siguiente.
6.- No se vuelve a operar hasta que se halla cerrado la operación en curso. (O sea, solo permitimos una operación abierta).

Otro ejemplo:
1.- Señal de entrada en el índice del mercado: cruce de la media móvil de 5 días por encima de la media móvil de la media móvil de 20 días.
2.- Señal de salida en el índice del mercado: cruce de la media móvil de 5 días por debajo la media móvil de la media móvil de 20 días.
3.- Seleccionar el valor del mercado con mayor Beta(14).
4.- En la apertura del día siguiente se compra el valor seleccionado.
5.- Si da señal de venta, el valor se vende en la apertura del día siguiente.
6.- No se vuelve a operar hasta que se halla cerrado la operación en curso. (O sea, solo permitimos una operación abierta).

Espero que entiendas el punto: combinar diferentes valores en una estrategia.

¿NinjaTrader permite el cálculo de las Betas de los valores de un mercado respecto a su índice?
¿NinjaTrader permite la programación de la simulación de estos dos ejemplos (o sea combinación de diferentes valores)?


Saludos.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Software”