Laboratorio de Inversión y Especulación 3 - Históricos y Coloquio
Tenéis tiempo para pensar ideas para aportar, preguntas y sugerencias, yo me incluyo en ello!
Por tanto voy a dar una primerisima versión del descargador de históricos, que no debería de dar hoy porque todavía apenas lo he probado y esta con pinzas, pero que como descargar, descarga y es la base para realizar estudios de pautas, lo voy a publicar, aunque de aquí al jueves lo habré mejorado bastante.
Lo primero que necesitamos es tener java instalado, para ello, podemos comprobarlo en la siguiente URL: http://javatester.org/version.html
Necesitamos un mínimo de java 5, si no lo tenemos instalado necesitaremos descargarlo de sun, es gratuito.
Una vez que lo tengamos si habrimos una línea de comandos (Inicio - Ejecutar - cmd), pantallita negra del dos, aquello tan antiguo que desde que hay windows ya no se usa...
Podemos ver la versión de java que tenemos tecleando java -version y debería aparecer algo así:
Si tenemos instalado java 5, tenemos que descargar el archivo lab-v0.1.jar en cualquier directorio, ir a dicho directorio usando la línea de comandos osea cd directorio y allí probarlo, por ejemplo:
java -jar lab-v0.1.jar RETRIEVE VALUE 694653 FROM GOOGLE INITDATE 01/01/2006 ENDDATE 04/04/2006 FILENAME goog.data TICKER GOOGLE
Deberíamos de obtener algo así en pantalla: (Al que le parezca arcaico en linea de comandos ya sabe lo que hacer si se aburre....)

Y un archivo de texto generado que podemos abrir con notepad y debe de ser algo como esto:

Ahora paso a explicar el funcionamiento de la aplicación:
RETRIEVE VALUE value FROM url FILENAME filename TICKER ticker INITDATE initdate ENDDATE enddate
Con RETRIEVE le indicamos que queremos descargar históricos, en la próxima entrega tendremos UPDATE que simplemente sin darle fechas ni nada mas, solo el nombre del archivo nos actualizara con los nuevos históricos disponibles, también pondré STUDY para realizar un estudio sobre los históricos de un archivo.
Otra cosa que esta casi lista es BATCH para tener varios comandos seguidos en un archivo, como por ejemplo varios UPDATE seguidos de STUDY.
VALUE es un valor que depende de la pagina que estamos descargando los históricos, lo mas fácil es ir a la propia pagina y de la URL obtener ese valor que se puede apreciar en GOOGLE es para los históricos de GOOGLE, en YAHOO es para los históricos del IBEX35, en BOLSAMADRID es para REPSOL, en otra entrega lo pondré mas fácil de usar, pero de momento con esto nos arreglamos.
FROM hasta ahora se puede especificar bolsamadrid, google o yahoo, los VALUE son diferentes para cada uno y hay que sacarlos de la url de cada una de las paginas, si hay dudas con esto lo explicare en los comentarios, pongo un par de ejemplos:
http://finance.yahoo.com/q/hp?s=%5EIBEX&a=01&b=15&c=1993&d=03&e=14&f=2008&g=d
TICKER simplemente es el nombre que queramos que ponga en el archivo, así que pondremos GOOGLE, REPSOL o IBEX35 en cada caso.
FILENAME es el nombre del archivo que queremos que genere, si ya existe tomara los datos que contenga y agregara los nuevos que encuentre.
INITDATE es la fecha de inicio para la recuperación de históricos, ENDDATE la final.
Con esto terminamos por ahora, es una versión muy de pruebas pero suficiente para obtener un archivo con históricos que se pueda utilizar desde otro programa que puede ser un modulo totalmente diferente que use los históricos para hacer simulaciones y no tiene porque ser Java, puede ser C++ o cualquier otra cosa, creo que leer esos históricos y por ejemplo hacer un cruce de medias móviles y calcular la rentabilidad no es complicado para nada, de ahí podemos seguir en adelante.
El que lo pruebe y le funcione bien que me lo diga, el que tenga algún tipo de problema que también me lo diga ya que apenas lo he probado hoy mismo, pero como quería anunciar el coloquio, me he decidido a ponerlo aquí, el código fuente lo pondré después cuando lo ponga mas aceptable, pero ello no impide que alguien empiece otro módulo por su cuenta para hacer test y simulaciones de pautas.
Espero que os guste!
Esto lo escribo a posteriori, aqui esta el archivo de voz del coloquio.
NOTA: El problema de las fechas se arregla con java -Duser.language=en -Duser.country=EN
Etiquetas: coloquio, historicos, laboratorio


