Acceder

Mantener históricos ¿Algún informático por aquí?

12 respuestas
Mantener históricos ¿Algún informático por aquí?
Mantener históricos ¿Algún informático por aquí?
Página
1 / 2
#1

Mantener históricos ¿Algún informático por aquí?

Llevo tiempo intentado dar con la manera mas sencilla de recopilar y mantener históricos, pero debido a que no logro un proceso realmente automatizado, acabo abandonando y retomando gastando mucho tiempo.

Os cuento un poco como tengo montado el chiringuito, y agradecería muchísimo cualquier ayuda en la manera de simplificarlo.

He probado a exportar datos directamente a Excel desde diversas fuentes, y programas como Prorealtime o Teletrader permiten hacerlo de manera bastante sencilla, pero no siempre tienen el dato que buscas y para hacerlo bien, tienes que acabar pagando.

Mantener un fichero Excel que se actualice de la web es relativamente sencillo, pero Excel tiene la limitación de actualizar solo una tabla por cada enlace, y aun siendo posible alimentar un histórico creado previamente que este en otra hoja dentro del mismo libro u en otro vinculado, se me torna muy farragoso y complejo.

Para simplificarlo lo que hago es cargar estos ficheros .xlsx en Access, importándolos como tablas vinculadas.
De esta manera el histórico se alimenta casi automáticamente. Lo bueno que tiene es que después puedes volver a acceder a estos datos directamente desde Excel, generarlos mediante las exportaciones guardadas y etc.

Me gustaría escuchar cualquier idea o alternativa para simplificar el proceso de mantener actualizados históricos.

Gracias de antemano.

#2

Re: Mantener históricos ¿Algún informático por aquí?

Bajatelos de invertia.com

#3

Re: Mantener históricos ¿Algún informático por aquí?

¿Has pensado en usar una macro en excel?

Te pego uno que te descarga una URL en la Hoja1 de excel y otra URL en la Hoja2 del mismo libro.

Además va guardando el libro cada vez que actualiza una web.

Igual podrías aprovecharlo y hacer algo parecido.

Lo pego:

Sub Macro1()

Application.ScreenUpdating = False

ActiveWorkbook.XmlImport URL:= _
"https://www.quinielista.es/xml2/porcentajes.asp?jornada=22&temporada=2015", _
ImportMap:=Nothing, Overwrite:=True, Destination:=Range("$A$1")

ChDir "C:\Users\NapoleonSolo\Desktop"
ActiveWorkbook.Save

Sheets("Hoja2").Select

ActiveWorkbook.XmlImport URL:= _
"https://www.quinielista.es/xml2/porcentajes.asp?jornada=23&temporada=2015", _
ImportMap:=Nothing, Overwrite:=True, Destination:=Range("$A$1")

Sheets("Hoja1").Select

ActiveWorkbook.Save

Application.ScreenUpdating = True

End Sub

#4

Re: Mantener históricos ¿Algún informático por aquí?

Suelo descargar algunos historicos de invertia.com.
No tiene la posibilidad de descargar cotizaciones historicas de todo lo que busco (materias primas..) asi que tengo que tirar de varias fuentes.
De todas formas el principal problema sigue siendo mantener actualizados los historicos automaticamente.

Gracias por el aporte

#5

Re: Mantener históricos ¿Algún informático por aquí?

Interesante macro, pero viene a ser similar a la funcion que ya trae Excel para obtener datos de la web.
Mi mayor inconveniente sigue siendo la manera de actualizar historicos de varios años, que como decia es posible hacerlo desde el propio Excel.
La pega que le veo a utilizar solo Excel es que el libro se me torna cada vez mas sofisticado y dificil de mantener. Por eso utilizo Access como almacen, y que se alimenta de los Excels que recogen los datos de la web.

Entiendo que no hay una manera mucho mas sencilla de hacer esto teniendo en cuenta mis limitaciones. Supongo que algun dia Access tendra la posibilidad de obtener datos de la web de la misma manera que lo hace Excel, y de esta manera me podré ahorrar el primer paso.

Mi idea sigue siendo poder tener descargados historicos de muchos años y mantenerlos actualizados "automaticamente".

#6

Re: Mantener históricos ¿Algún informático por aquí?

Lo siento pero creo que no puedo ayudarte. No obstante, ya ves que me gusta la quiniela y no tengo problemas para tener datos de bastantes años atrás. No conozco tu operativa pero para la mía EXCEL es suficiente.

#7

Re: Mantener históricos ¿Algún informático por aquí?

Tendrías que investigar sobre los "Web Services" que algunas páginas web ofrecen incluidas algunas que ofrecen cotizaciones de valores.
Un webservice básicamente es un servicio que una servidor web ofrece para obtener información sobre sus datos haciendo una petición en formato URL y esta información se ofrece en un formato predeterminado por el servidor web, mediante estos servicios se pueden generar ficheros o alimentar otras páginas web.
Por ejemplo Facebook tiene un web service que permite obtener los datos de los usuarios en un formato diferente al gráfico, y yahoo finance también ofrece un servicio parecido.

Por ejemplo si copias y pegas la linea que te incluyo abajo obtendrás la cotización de AAPL, MSFT y GOOG en un fichero csv.
http://finance.yahoo.com/d/quotes.csv?s=AAPL+GOOG+MSFT&f=sb2b3jk

Como verás al final de esta linea hay una "f=...." y una serie de letras y números, estas letras y números indican los datos que quieres obtener del webservice según la codificación de la API de yahoo a la que hace referencia el post que te incluyo abajo, pero te incluyo también aquí la web donde podrás ver la codificación de los datos.
http://www.jarloo.com/yahoo_finance/

Tendrás que investigar sobre los datos que devuelve, pero parece que básicamente devuelve una posición con la cotización actual en las dos primeras posiciones, algun 0 y las dos últimas posiciones parecen ser la mínima y máxima cotización de las últimas 52 semanas. También verás en el ejemplo que habla de formato JSON e incluso pone un ejemplo para obtener todas las cotizaciones guardadas en Yahoo finance en formato JSON si haces esta prueba verás que tardará un poco y finalmente te aparece en una página web una lista de todas las cotizaciones guardadas en yahoo, esta lista aparece en formato JSON que es un formato estructurado que puede ser leído desde una página web para obtener esta información y luego presentarla en el formato que se desee.

Naturalmente tendrás que investigar sobre que datos permite el servidor web que le envíes para obtener la información que necesitas, no te puedo asegurar que puedas obtener datos históricos pero te puede montar un sistema que te vaya guardando automáticamente los datos o alimentar tu base de datos de access automáticamente desde el momento en que empieces.

Te pongo el post original de la web de ayuda a la programación de páginas web stakoverflow, donde puedes obtener algo más de ayuda.
http://stackoverflow.com/questions/10040954/alternative-to-google-finance-api

Saludos

#8

Re: Mantener históricos ¿Algún informático por aquí?

Lo cierto es que si me has ayudado, ayer no me pareció una alternativa la macro que exponias, pero hoy me ha inspirado otro camino para simplificar el proceso de recogida de datos.

Lo que voy a hacer es intentar adaptar esta macro para ejecutarla directamente desde Access, de manera que pueda ahorrarme los dos primeros pasos: tener excels que recojan los datos y crear las tablas vinculadas a estas desde Access.

Muchas gracias.

Brokers destacados