Archivo

Entradas Etiquetadas ‘Stock Monster’

ERRORES DEL PROGRAMA

Martes, 9 de marzo de 2010 Comments off

Me está costando la abstinencia programática…pero he decidido no tocar una linea de código en al menos un mes….. tiempo suficiente para relajarme, ver otras cosas, y atender asuntos olvidados.

Sin embargo voy a ir anotando todas las cosas que veo se puedan mejorar así como los fallos, errores o correcciones del programa. También nuevas ideas que añadir en próxima versión mejorada y en dos días ya he visto muchas.

Errores

  • en las gráficas sale por defecto como moneda el €. Para corregir esto basta  con leer de la BD el campo moneda de cada valor.
  • También me gustaría cambiar el eje de valor a la izquierda y el de volumen a la derecha, ya que el sentido temporal de los graficos va de izquierda a derecha, por lo que es más útil ver la escala de valor o moneda a la izquierda coincidiendo con las fechas más actuales. Incluso no importaría quitar la escala de volumen y repetir dos veces la de moneda.
  • Hay que añadir en la importación de datos un formulario estándar para la importación de datos de otras fuentes. Normalmente para diarios de los ETFs de Lyxor y otros que proporcionan enlaces a excel para descarga. en los ETFs yahoo cada vez tiene peores datos y es mejor cogerlos directamente del emisor, admás sería muy sencillo a partir del campo enlace de la BD.
  • Una cosa importante que debo cambiar es el depender de la colección de valores. Al principio pensé en programar todo a partir de ficheros para no depender de bases de datos, y por eso creé el fichero valores.txt que contiene lo mismo que la tabla valores de la BD. Como ya deseché lo de manejar ficheros, debo quitar esta parte y actualizar el formulario de introducción de datos de valores directamente con la BD y no con la colección. He notado que da algunos problemas y no me fío al actualizarlo desde el programa.
  • 12/MAR/2010 —> actualizo mas cosas:
  • Me he dado cuenta de otro error en la bajada de datos semanales y mensuales de Yahoo. El problema es que al bajar un dato semanal o mensual en una fecha cualquiera el último dato semanal en curso lo almacena con la fecha actual y no borra el anterior que puede ser o no de la misma semana o mes por lo que si actualizamos a diario datos semanales o mensuales se duplican los valores. Para solucionar esto lo primero es actualizar la BD y borrar los semanales y mensuales desde feb 2010 hasta ahora y después incorporar en código que, al importar datos se deben borrar los que sean de al menos 2 semanas anteriores y los actualice, Idem con meses .
  • En la ventana de spreads, debo corregir el problema de coincidencia de fechas cuando la serie 1 tiene fechas más actuales que el resto. Pues no borra estos datos y aparece un salto en el spred de los últimos datos. Esto es facil si se incorpora al for –> next ya que una vez que sale del for si la dimension del vector spread es mayo se deben borrar los valores hasta hacerlos iguales

Mejoras o ideas

  • Hace poco descubrí que microsoft tiene una librería de implementación de redes bayesianas, se llama MSBNx ,y es bastante fácil de usar o eso parece. esto me puede ahorrar muchísimo esfuerzo en la parte de predicción, ya que pensaba programarlo yo. Pero lo dejo para la versión 2 o 3, cuando el resto funcione bien. La idea es que exista un formulario de pronóstico, dividido en varias fases. La primera será un buscador automático de valores en zona de cambio de tendencias segundas, tercias y cuartas… Simplemente para reducir el grupo de valores a estudiar. La segunda fase con ayuda gráfica, se generarán series predictivas para esos valores a partir del momento actual y para cada uno de los 3 intervalos temporales (secundario, terciario y cuarto). Para todo esto es de gran utilidad el poder programar desde código vb.net las redes bayesianas.

PRIMERA FASE DE MI APLICACIÓN TERMINADA

Viernes, 5 de marzo de 2010 Comments off

Versión beta

Al fin puedo decir que tengo la aplicación en marcha (todavía debo cambiarle el nombre), aunque sea solo como beta.

Vista de la pantalla principal del programa BOLSAFER

Vista de la pantalla principal del programa BOLSAFER

Todo empezó en octubre 2009, o eso creo, pensé que sería bueno disponer de una aplicación personalizada para aumentar la productividad en la generación de informes técnicos de bolsa y a la vez manejar una base de datos con las series temporales de los valores. Así que al me puse manos a la obra. Me costó un poco desempolvar mis conocimientos de programación, no solo por haber estado 3 años sin hacer nada de esto, sino porque mi querido Bill Gates, como es habitual ha querido mejorar sus programas cambiando por completo muchas de las clases y funciones que yo usaba.. Así que el comienzo se alargó un poco.

Lo primero que hice fue organizar los datos, crear un esquema de la base de datos de valores que es el esqueleto de la aplicación. Acto seguido me puse a rellenar los datos es decir a almacenar los valores, códigos, mercados, ISIN etc de todos los valores que voy encontrando.

Después vino la parte de lectura y almacenamiento de las series temporales. El programa debía ser de mantenimiento sencillo… Precisamente me puse a hacerlo para no tener que estar cada día bajando datos de mil páginas web… Eso fue mas o menos rápido. Pero claro al ver la gran cantidad de datos se me han ocurrido mil cosas que hacer con ellos que antes no podía o no disponía de la herramienta adecuada como las matrices o tablas de colores, y los sistemas multivalor sobre los que sigo investigando gracias a tener los datos.

Tras tener esto mas o menos claro, lo que necesitaba era pintar gráficas. Me gustaba mucho usar una clase que programé hace tiempo y que tiene unas escalas de tiempo que me encantan y que no he visto en otro sitio.., pero vi que seguir por ese camino sería difícil (reprogramar todo en .net) así que opté por usar ZedGraph una librería muy buena…pero hay que aprender a usarla como todo.

Otra cosa que me interesaba mucho, para la inversión por pares es la representación grafica de Spreads, el resultado, creo que ha quedado muy bien. Permite dibujar cualquier spread entre los valores que hay en la base de datos (me he tirado unas cuantas horas para programar esto), así que espero que me sirva de algo. Ojo que se puede hacer cualquier combinación  lineal de valores, y no solo por pares..

Spread Ibex vs STOXX50 con mi programa

Spread Ibex vs STOXX50 con mi programa

Otra cosa que me gusta son las plantillas gráficas. De cada valor saca 3 graficas, una mensual, otra semanal y el ultimo año de diarias. Me gusta verlas así.. además se pueda pintar encima para marcar lineas.

Cosas por hacer

Quedan muchas cosas por hacer, comentar el código fuente, pequeños ajustes de programación, mejores infinitas, añadir más funcionalidades… la más importante que tengo en mente es la gestión de carteras de valores, es algo sencillo con la estructura actual. Solo sería añadir un formulario de entrada de transacciones al estilo que usa yahoo, y esos movimientos quedarían en una tabla de la base de datos asociadas a un perfil. Después con esos datos se pueden hacer mil cosas, como ver la gráfica de evolución de la cartera etc… www.rankia.com tiene algo bastante bueno, que dibuja la evolución temporal de los activos en la cartera personal y además aporta valores de riesgos, volatilidad etc.

Evolución de mi cartera de bolsa española en RANKIA

Evolución de mi cartera de bolsa española en RANKIA

También me quedan algunas cosas muy sencillas de implementar, pero que no he tenido tiempo, como los resúmenes semanales que saco con Excel, o las tablas de colores del sistema por pares también en Excel con conexión a la BD, para que no sea necesario llamar a Excel y los calcule independientemente, pero el problema es que veo que he dejado a un lado mis inversiones por terminar el programa y lo que empezó como una ayuda al propósito principal se ha convertido en el propósito principal. Por eso me he obligado a mi mismo a descansar de la programación, a usarlo unas semanas y apuntar todo lo que crea conveniente, para en un futuro terminarlo según indique el uso.

De momento a disfrutar del pequeño monstruo que he hecho, ehhh!!! quizás este sería un buen nombre: Stock Monster,, jeje me gusta puede que lo cambie. BOLSAFER es un poco patético.