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.
Yahoo Finance API
Re: Yahoo Finance API
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...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.
Pero no la uso, así que igual estoy equivocado...
Re: Yahoo Finance API
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
viewtopic.php?f=9&t=16354
Re: Yahoo Finance API
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.
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
Re: Yahoo Finance API
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.
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.
Re: Yahoo Finance API
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
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."
Re: Yahoo Finance API
Gracias X-Trader,
Si se puede con Python, también debe poderse en C.
Humm
Haremos un pensamiento.
Si se puede con Python, también debe poderse en C.
Humm
Haremos un pensamiento.
- SpeakerTrading
- Mensajes: 117
- Registrado: 13 Dic 2012 21:26
- Contactar:
Re: Yahoo Finance API
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
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;
http://speakertrading.wordpress.com/" onclick="window.open(this.href);return false;
Re: Yahoo Finance API
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 !!!
Sobre que basarías los estudios, gráficos diarios, intras, largo plazo ?
saludos y felices fiestas !!!
Re: Yahoo Finance API
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.
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.
Re: Yahoo Finance API
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
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
Re: Yahoo Finance API
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.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
Re: Yahoo Finance API
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 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.
Re: Yahoo Finance API
No sé exactamente a qué te refieres.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.
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.
Re: Yahoo Finance API
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.
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.
Si te ha gustado este hilo del Foro, ¡compártelo en redes!