Calculadora trading

¿MetaStock, MetaTrader, Qtstalker, Merchant of Venice o FreeStockCharts.com? ¿Los conoces? A día de hoy existen muchos programas y plataformas de Análisis Técnico que cubren una amplia oferta de posibilidades, pero la mayoría son privativos.

Wikipedia recoge un total de 56 aplicaciones de este tipo. Sí, sí, has oído bien. ¡56 programas de Análisis Técnico! ¿Qué te parece? La oferta es tan grande que incluso es complicado saber qué es lo más conveniente.

El post de hoy tiene como objetivo añadir uno más a esa lista, GNU Octave.

Se trata de software libre, y gratis, para el cálculo numérico, muy poderoso, que puede ayudarte a entender mejor el funcionamiento de los mercados financieros; en definitiva, una herramienta más en tu arsenal de programas de Análisis Técnico.

Este software, considerado el equivalente comercial de MATLAB, fue originalmente concebido en 1988 por James B. Rawlings y John G. Ekerdt para servir de apoyo a un curso de diseño de reactores químicos, pero con el paso del tiempo ha ido incorporando nuevas funcionalidades hasta convertirse en la aplicación que es hoy.

Para saber más sobre GNU Octave puedes visitar la página oficial del proyecto.

Vamos a visualizar un gráfico

El experimento que vamos a hacer a continuación es tan solo una pequeña muestra de lo que se puede hacer con GNU Octave.

Lo primero es obtener una fuente de datos: un archivo CSV con los datos históricos del valor que se desea observar. En este ejemplo nos descargamos de Forex Rate la evolución que experimentó minuto a minuto el eurodólar (EURUSD) durante el treinta de abril de 2012.

Una vez descargado este archivo, yo lo he movido a mi carpeta /home/jordi/proyectos/forex/csvs/eurusd/2012-04-30-1min.csv

Ahora arrancamos Octave y creamos la matriz prices (el eje de ordenadas del gráfico EUR/USD que queremos pintar) a partir del CSV que nos hemos bajado antes de Forex Rate.

prices = dlmread('/home/jordi/proyectos/forex/csvs/eurusd/2012-04-30-1min.csv', ';');

A continuación borramos la primera fila de la matriz porque, al corresponderse siempre con la cabecera del archivo CSV, no contiene ninguna información relevante:

prices(1,:) = [];

Para simplificar las cosas borraremos todas las columnas a excepción de la 5 (CLOSE). Es decir, borramos 1 (DATE), 2 (TIME), 3 (VOLUME), 4 (OPEN), 6 (MIN) y 7 (MAX).

prices(:,[1,2,3,4,6,7]) = [];

Finalmente creamos un vector para el eje de las abscisas:

x = [1:size(prices)(1)];

Y pintamos el gráfico:

plot(x,prices);

De hecho, podemos agrupar todos los comandos anteriores en un único script Octave con extensión .m:

prices = dlmread('/home/jordi/proyectos/forex/csvs/eurusd/2012-04-30-1min.csv', ';');
prices(1,:) = [];
prices(:,[1,2,3,4,6,7]) = [];
x = [1:size(prices)(1)];
plot(x,prices);

Y ejecutarlo como sigue:

source /home/jordi/proyectos/programarivm/el-blog/eurusd1min.m

GNU Octave es una interesante herramienta con la que puedes poner a prueba los indicadores técnicos: Bandas de Bollinger, medias móviles, osciladores estocásticos, regresiones de Fibonacci, ondas de Elliot...

Todo esto desde una perspectiva orientada hacia la programación y el análisis de los datos. En definitiva, puede complementar tu visión del mercado, te permite hacer pruebas y aprender de las observaciones.

También te puede interesar leer esto...

Previous Post Next Post