Pero vayamos al quiz de la cuestión. Hace ya un tiempo que uso una macro más masiva de imacros para extraer los datos. La he llamado ALL_in porque me carga todos los activos de los gráficos adjuntos. Es una macro debidamente ordenada en las diferentes subpartes en la que la he dividido según sea el directorio de trabajo donde quiero disponer esos datasets.
Aquí tenéis el fichero de la macro: ALL_IN.iim |
Por otra parte recientes modificaciones en la web de yahoo finanzas hicieron que dejaran de funcionar mis anteriores scripts por lo que tuve que adaptarlos y el resultado fue ALL_IN pero también un pequeño proyecto de hacer un script basado en otro comando, más potente y más veloz.
Bajando los csvs con wget
El problema de bajar los ficheros con imacros es que es lento. Sobretodo porque tiene que cargar páginas web y cuando se analiza una cantidad de valores grande empieza a ser bastante tedioso cargar los datos mediante un script así. Eso me ha obligado a buscar una nueva solución. Y no es otra que wget. Un comando muy querido por los linuxeros. En macosx también lo podéis tener aunque no viene de serie pero se instala y listos. wget permite descargar directamente los ficheros. Ejecutaríamos el script en el shell y listos, tendríamos todos los ficheros descargados de golpe y en un santiamén. Porque wget descarga rápido, muy rápido. Os invito a probarlo.
Os dejo aquí la linea del comando. Si alguno de vosotros tiene su propia selección y la descargaba mediante imacros puede pasársela a wget usando esta línea como referencia, ganará en tiempo y recursos. Más abajo he colgado mi script como ejemplo.
wget -O inditex_diaria.csv http://ichart.finance.yahoo.com/table.csv\?s=ITX.MC\&a=00\&b=01\&c=2005\&d=01\&e=01\&f=2011\&g=d\&ignore=.csv
Actualizado: Detecté un fallo en la linea antes escrita que impedía que los ficheros se bajaran con las variables php cargadas correctamente. Por lo visto, tal y como comentan aquí hay que introducir el backslash antes de la declaración de cada variable tal y como se muestra en la línea superior.
Script de descarga automática de históricos en Yahoo Finanzas mediante wget: wgetscript.sh |
El script en cuestión solo descarga los valores del Ibex y los índices bursátiles presentes en este blog. Pero es una muestra de la potencia que se puede lograr con este comando. El ahorro de tiempo respecto a imacros es muy considerable.