Laboratorio de Inversión y Especulación 4 - Históricos arreglados y mas funciones
También investigué el problema de las fechas que se corregía simplemente con especificar un Locale en ingles, pero ya no es necesario especificarlo dado que lo hago internamente en el código.
El código fuente lo dejo aquí de momento estará disponible en SourceForge dentro de poco. (Dos semanas a un mes...)
El código fuente son solamente 14 clases!
Tal como comentamos se pueden descargar históricos entre dos fechas:
RETRIEVE VALUE 694653 FROM GOOGLE INITDATE 01/01/2006 ENDDATE 04/03/2006 TICKER GOOGLE
RETRIEVE VALUE %5EIBEX FROM YAHOO INITDATE 01/01/2006 ENDDATE 04/04/2006 TICKER IBEX
RETRIEVE VALUE ES0173516115 FROM BOLSAMADRID INITDATE 01/01/2006 ENDDATE 04/04/2006 TICKER REPSOL
Y también podemos actualizar un archivo que ya tenemos con históricos:
UPDATE VALUE 694653 FROM GOOGLE TICKER GOOGLE
UPDATE VALUE %5EIBEX FROM YAHOO TICKER IBEX
UPDATE VALUE ES0173516115 FROM BOLSAMADRID TICKER REPSOL
Si estamos bajo un proxy lo podemos configurar con un archivo llamado proxy.prop que será algo así:
# Proxy
proxyurl = proxy
proxyport = 8080
proxyuser = usuario
proxypassword = password
También podemos configurar los formatos de comas, puntos etc... Creando un config.prop pero de momento lo dejaremos con los valores por defecto.
java -jar lab-v0.2.jar BATCH batch1.batch
java -jar lab-v0.2.jar BATCH batch2.batch
Tareas a realizar por programadores y que podemos repartirnos:
- Que funcione desde Windows y no sea necesario descargar java.
- Que el nombre usado para el ticker no dependa de la url.
- Que la gente no tenga que descargar la aplicación cada vez que se actualice sino que sea automático.
- Mostrar gráficas con los datos.
- Hacer Unit Tests.
- Comentar el código.
- Eliminar el uso de funciones "deprecated".
- Mejorar los errores presentados si los parámetros de entrada no son correctos.
- Gestionar una base de datos HSQL en memoria.
- Que las nuevas fuentes de datos se metan mediante configuraciones de Spring.
- Funcionalidad de Log con Log4j.
Principal tarea a repartir y que voy a explicar mas en detalle: (Me parece la mas prioritaria e importante)
- Descargar históricos de diferentes fuentes y en diferentes formatos.
Como podéis observar "un descargador" solo son unas pocas líneas de código, debería ser muy, muy fácil agregar mas, espero que me mandéis muchos!
Ahora mismo tenemos tres fuentes de las que descargar: (En el paquete jds.com.locations.sites)
- Yahoo
- BolsaMadrid
Podemos pedirle a Francisco Llinares que nos diga cuales serian las siguientes fuentes mas interesantes para continuar.
Voy a empezar con las dos primeras tareas, espero a los colaboradores que me digan en que parte quieren colaborar o si tienen otras tareas en mente que podamos hacer, se me ocurren muchísimas mas...
Quien quiera usar los datos de salida en un modulo aparte independiente en java u otro lenguaje lo puede hacer fácilmente. (Ya lo conectaremos luego.. con Webservices o lo que sea)
Tareas a realizar para los no programadores:
- Crear un batch con que descargue por primera vez todos los valores del mercado continuo, todos los índices, los valores del eurostoxx, del SP500 etc... (Cada uno se podría encargar de uno diferente, enviarme el batch terminado y yo o rankia lo ejecutaríamos a diario y actualizaríamos los históricos en los servidores de rankia)
Creo que es una tarea que lleva bastante trabajo, preguntadme cualquier duda al respecto.
Para los programadores, tened en cuenta que tenemos tiempo y recursos limitados, nos interesa ir al grano, obtener resultados con el menor esfuerzo posible, por tanto en lo que se refiere a gráficos etc, debemos de utilizar un paquete Open Source que sea mantenido por otro y sea de fácil integración.
En cuanto alguien se ponga manos a la obra con las gráficas podemos hablar con Francisco Llinares para ver que capacidades deben de tener estos gráficos, como mostrar los 40 gráficos de los vencimientos de los futuros... etc...
Creo que ya tenemos un inicio! En el próximo post explicare como funciona el código, como extenderlo y como ejecutarlo desde Eclipse.
Archivos:
Downloader.zip
batch1.batch - Batch de ejemplo para descargar estos 3
batch2.batch - Batch de ejemplo para actualizar estos 3
GOOGLE.data - Ejemplo de datos descargados de Google
IBEX.data - Ejemplo de datos descargados de Yahoo
REPSOL.data - Ejemplo de datos descargados de BolsaMadrid
lab-v0.2.jar - Segunda version del laboratorio
Ultima version del codigo actualizada por Juan Albisu: srcRankia0.3.0.3.rar (La actualizare aqui hasta tener la cuenta de sourceforge o hasta que escriba otro post)
Etiquetas: historicos, laboratorio


Si tenemos instalado java 5, tenemos que descargar el archivo 
