viernes, 13 de marzo de 2015

Datos Financieros



Nadie va a cuestionar a estas alturas la eficacia, la potencia y la comodidad de Microsoft Excel para manejar datos en tablas. Más aún, la potencia para manejar datos en general. Excel ofrece soluciones a prácticamente todos los campos del cálculo, la empresa y la estadística. Incuye infinidad de librerías propias y externas y encierra un lenguaje de programación, el VBA (Visual Basic for Applications), que permite desarrollar aplicaciones para cualquier propósito.


El fin de que estemos aprendiendo R no es otro que el poder manejar datos de cotizaciones financieras  con el fin de estudiar métodos cuantitativos y poder aportar y aprovechar el caudal de conocimientos y librerías que miles de usuarios de este programa están facilitando en el repositorio.
Es muy probable que todo lo que pretendemos investigar se pueda hacer con Excel y que no necesitaríamos R, pero es también seguro que si los desarrollos avanzan a la velocidad esperada, pronto llegaremos a un punto donde el manejo de datos en Excel se haga ineficaz. De ahí poder contar con un programa como R,  disponible para todas las plataformas y mucho más orientado a los campos por los que pretendemos caminar, que te recuerdo que son

  • Probabilidad
  • Procesos estocásticos
  • Métricas cuantitativas
  • Data Mining
  • Redes Neuronales
  • Análisis de patrones
  • Métodos de Money Management
  • Análisis de Riesgo
 ¿Por qué digo ahora ésto? pues porque toca aprender a importar y exportar datos, principalmente  a Excel, ya que Excel nos facilita mucho la labor en tareas básicas, aparte de su poder visual. Y quien dice Excel dice Drive y cualquier otro programa como puede ser directamente el formato texto.
Si el hecho de aprender a programar R es importante, este capítulo de resulta vital dentro de este castillo de conocimiento que estamos desarrollando.


¿ De dónde obtenemos los datos?

En nuestros estudios vamos a manejar históricos de datos de cotizaciones de activos financieros. El programa más universal para realizar chartismo de estos datos es el Metastock (R)

 









aunque en España tenemos la fortuna de haber desarrollado y poder disfrutar del excelente VisualChart

que camina hacia los 20 años en el mercado, es de gran calidad y dispone de todas las herramientas necesarias para el análisis técnico y será en el que nos apoyemos para hacer estudos gráficos.
Hay muchos importantes programas más, todos ellos reciben y grafican datos financieros para poder hacer análisis técnicos sobre ellos, pero la suscripción a recibir dichos datos en tiempo real es de pago. Si solo deseamos los datos "fin de día" ó EOD (end of day) VisualChart nos los ofrece gratuítamente. En cualquier caso esos datos están codificados por ellos y para ellos y nosotros vamos a tener que cocinarlos en base a nuestras investigaciones, por lo que tenemos que tener un dominio absoluto de como son y como poder adaptarlos.
También tenemos la posibilidad de usar Google o Yahoo Finance (https://es.finance.yahoo.com/) que nos permite obtener gratuitamente bases de datos históricas de todos los mercados mundiales e, incluso, poder pasarlos a Excel y actualizar nuestras propias bases de datos.
La importancia de tener bases de datos históricas, bien cuidadas y actualizadas, es vital porque de esos datos sacaremos conclusiones de estrategias futuras. Si esos datos no son correctos las conclusiones no serán fiables y  nuestro proyecto se derrumbará antes de empezar. Aunque tranquilo porque cualquier estrategia que diseñemos tendrá su periodo de prueba  igual que a un medicamento  se le exige un largo periodo de ensayos que determinen su calidad, eficacia y seguridad antes de su comercialización. Incluso se podría dar el caso que adoptemos estartegias mal diseñadas y aún así resulten efectivas, que es lo que necesitamos.
En resulmen, hoy por hoy, Marzo de 2015, para poder avanzar en nuestro proyecto de la forma más limpia y cómoda es que elaboremos programas que nos permitan disponer de nuestras propias bases de datos de históricos de cotizaciones  siguiendo estas características:
  • Poder leer las numerosas bases de datos históricas Metastock disponibles
  • Poder leer bases de datos históricas de Visualchart y Yahoo Finance.
  • Poder usar Excel con todas estas bases de datos.
  • Almacenar, para nuestra gestión, todos los datos a formato texto CSV (comma-separated values) que es apropiado para Excel y R, usando inicialmente los campos  Date  Time  Ticker  Open High  Low  Close  Volume, pero teniendo en mente que hay otros campos interesantes que, de ser posible, habría que añadirlos como son el Open Interest , operaciones extraordinarias, splits, dividendos, ampliaciones, excepciones, anomalías, y un largo etcetera.
  • Alimentar nuestras bases de datos, en un principio, a través de Yahoo Finanzas en periodos EOD y en el intradiario de, al menos, 15 minutos , pero con la idea de disponer en un futuro cercano, de un sistema propio de alimentación datos en tiempo real (RT real time)
Hay que pensar que vamos a investigar cualquier tipo de activo financiero, incluidos los Fondos cotizados (ETFs Exchange-Traded Fund) las commodities o también los Hedge Funds y sus bases de datos no son las mismas que las de una acción, no tienen los mismos campos, aunque tampoco tienen que ser muy distintas. 

Vamos pues a estudiar ahora como poder llevar a cabo todo esto.
Avanzamos....

1 comentario:

  1. Hola Manuel,

    Soy Carlos Ortega (de la lista de ayuda de R en español - R-help-es).
    En varias de las primeras charlas del grupo de Usuarios de R de Madrid, un compañero hizo varias presentaciones sobre como utilizar R para técnicas de Trading. Tenía experiencia en haber trabajado en estas cosas y quería unificar lo mejor de cada una de las herramientas propietarias con lo que R ofrece. Lo que tenemos de las charlas que dio es esto:

    http://madrid.r-es.org/?s=trading&searchsubmit.x=0&searchsubmit.y=0

    Si buscáis en su empresa (Entropycs) debiera de tener todavía disponible un programa que desarrolló utilizando R como base para utilizar estas técnicas de Trading. Este programa inicialmente lo iba a vender pero al final lo ofrecía de forma gratuita.

    Saludos,
    Carlos Ortega.

    ResponderEliminar