SagaQuant

Software para Trading Algorítmico y Cuantitativo

Software Trading Cuantitativo y Trading Algoritmico

Software para Trading Algorítmico y Cuantitativo

Introducción

Cuando hablamos de Trading Algorítmico y de Trading Cuantitativo, hablamos de programación, de código, enfocado hacia el análisis de todo tipo de pautas de mercado, todo lo que sería englobado en el trading cuantitativo.

Del Análisis cuantitativo ya he hablado, y de Trading Algorítmico también, por lo que dejo marcados los artículos relevantes antes de continuar.

¿Qué es el trading cuantitativo? – SagaQuant

Como aprender trading algorítmico – SagaQuant

De la parte que no he hablado, salvo de alguna plataforma de forma «suelta», como Metatrader 4 o Tradestation, es de los programas que podemos utilizar para realizar nuestros análisis y estudios de mercado.

Me gustaría hacer un pequeño hiato aquí y recordar que no todas las plataformas sirven. Existen plataformas que no permiten realizar estudios, especialmente aquellas web, o son muy limitadas.

A la hora de buscar una plataforma o un Software apto para el Trading Cuantitativo y/o Algorítmico necesitaremos poder añadir datos, modificarlos y poder interpretarlos acorde a lo que le pidamos mediante código.

Software – ¿Por qué?

Cierto, es cierto que no es necesario saber programar para hacer análisis cuantitativo de mercados financieros; pero.

¿Lo haces con un bolígrafo y papel?

Obviamente no, y la programación es recomendada respecto a utilizar un Excel y hacerlo a mano, hablaré de software que también sirve para analizar de forma manual, pero ya conocéis mi punto de vista, se tarda menos en aprender a programar que en hacer los primeros backtest a mano.

Pero cuando ya hablamos de Software nos encontramos con un universo bastante amplio, dividido en varios lenguajes de programación y varias ideas generales, desde aspectos más visuales hasta la facilidad del código pasando por los activos que queramos analizar.

Podemos dividir toda esta situación en diversos tipos de software, catalogados por:

Un ejemplo sería Tradestation, con un lenguaje de alto nivel, propósito de plataforma de trading y enfocada hacia Futuros y Acciones.

Otro sería Metatrader, Medio nivel, ya que está más cerca su lenguaje del compilador, es una plataforma de trading y está enfocado a Forex.

Plataformas de Trading Algorítmico

Lo primero, y es el paso más fácil para cualquiera que quiera iniciarse en el trading de sistemas, sería el uso de una plataforma que incluya estas herramientas por defecto. Aunque ya he hablado de estas voy a hacer una «review» pequeña de las distintas plataformas más populares.

Tradestation

Plataforma de Futuros – Tradestation – Logo

Empiezo con una clásica de la que he hablado bastante ya, Tradestation, empezó siendo una plataforma de investigación de sistemas de trading cuantitativo y acabó siendo un broker con plataforma enfocado a Futuros, Acciones e incluso Criptomonedas.

Un ejemplo del potencial que tiene esta, se puede ver con la siguiente estrategia de trading algorítmico para futuros de soja.

La principal ventaja de esta plataforma es la integración gratuita de datos, estudios y facilidad de código, posiblemente es uno de los lenguajes de programación más fáciles de todos.

Como desventaja, los márgenes para futuros son bastante elevados respecto a otros brokers, casi muy similares a Interactive Brokers, lo cual puede ser inconveniente para cuentas de bajo capital.

Ninjatrader

Logo de Ninjatrader

Quizá uno de los referentes del trading algorítmico y trading cuantitativo en los países Angloparlantes, por no decir la plataforma más usada.

Ninjatrader, mediante C#, es una plataforma muy completa a nivel de programación y con posibilidad de integración con Visual Studio, el IDE de programación de Microsoft.

Es desde luego una de las plataformas más completas, aunque hay que tener en mente que es de pago, tanto la plataforma como los datos y esto hace que no sea apto para cuentas pequeñas y programadores no experimentados por la diferencia de lenguajes.

Metatrader 4 y 5

Logo Metatrader

Qué puedo decir que no sea nuevo de la empresa Metaquotes, una insignia del trading retail en Forex, con sus pros y sus contras muy marcados y evidentes.

Voy a generalizar sobre ambas plataformas, Metatrader 4 y Metatrader 5, aunque tengan sus diferencias comparten una base muy amplia en común.

La primera, Metatrader 4 es un Software que nació como incursión minorista al mundo de Forex y CFDs, es una plataforma simple con la ventaja de que incluye datos históricos y tiene un lenguaje de programación que se puede aprender fácil.

Respecto a Metatrader 5, tiene más peso el Trading Algorítmico en esta, pues las funciones son mayores, existe mejoría en la optimización, pero tiene un lenguaje más complejo, orientado hacia objetos, menor oferta de brokers…

La única diferencia que importa entre MT4 y MT5 es el paradigma de inversión, Metatrader 4 es un Software para Forex, Metatrader 5 para Futuros.

Soy partidario de Metatrader 4 como Software para adentrarse en el Trading Algorítmico pero no de Metatrader 5, donde las alternativas anteriores las considero muchísimo mejores.

Creación de Software Propio y lenguajes de programación:

Entramos en un terreno que me encanta, y es que considero que las plataformas de Trading no son suficiente una vez se quiere avanzar y realizar, al menos, de forma mucho más cómoda permitiendo la automatización de tareas, añadir funciones extra… etc

Creación de DLLs (C#):

Una de las mejores cosas que podemos hacer, es importar datos externos a nuestra plataforma, tanto Metatrader, como Tradestation y Ninjatrader permiten añadir datos adicionales.

A lo largo de mis vídeos, en muchos se puede ver como añado en formato de indicador distintos datos externos que no ofrecen plataformas, como sentimiento retail o Google Trends.

Este proceso de hace con DLLs «unmanaged», las cuales desde C# replican las funciones que haría C y C++.

Este contenido lo trataré más adelante con calma, de momento dejo un tutorial sencillo que encontré por la red.

Trading Cuantitativo con R, Python o Matlab

Una de las cosas que más de moda está en el Trading Algorítmico es la creación de distintas herramientas y Software de análisis sobre Trading Cuantitativo.

Con un lenguaje de muy alto nivel, fácil de aprender y decenas de librerías enfocadas a este tipo de análisis el trabajo se simplifica bastante.

Trading Cuantitativo – Test ACF sobre serie temporal basada en volatilidad

Un ejemplo en la imagen superior creada con R, sobre series temporales y tests que se pueden efectuar para conocer pautas de un activo.

Hago una mención especial al trabajo son series integradas y cointegración como estrategias idóneas para estudiar sobre Trading Cuantitativo en este tipo de lenguajes.

Parte de su fama la han ganado por el Machine Learning o «Inteligencia Artificial», no soy gran fanático de este tipo de tecnologías aunque he de reconocer que su capacidad para sacar features o características relevantes que afectan al movimiento de un activo, es muy útil.

Cuando hablamos de análisis con R o lenguajes similares, podemos referirnos tanto a trading manual como automático.

Creación de software con Java:

A la hora de perfeccionar nuestras andanzas en el Trading Algorítmico y en el Trading Cuantitativo, la creación de un software propio puede mejorar enormemente nuestras posibilidades de supervivencia.

Mi trabajo final de graduación consistió en esto, un software completo para la extracción y análisis de pautas de Trading en diversos activos como Forex, Futuros y Acciones, aunque mi orientación final fue Forex.

Concepto Análisis del Software

Este fue el primer esquema para mi Software de Trading Cuantitativo y el análisis de posibles pautas, junto al siguiente diagrama de casos de uso:

Diagrama casos de uso – Software Trading Algorítmico y Trading cuantitativo

Con este Software lo que conseguí es automatizar la búsqueda de pautas relacionadas con el precio, de forma automatizada y con una optimización Walk Forward y Análisis de Montecarlo incluidos, para luego ser pasado a Metatrader 4 y desde ahí preparado como Expert Advisors.

También podría haber valorado la ejecución de sistemas mediante una API como podría ser la de Interactive Brokers u OANDA.

Son varios los ejemplos, normalmente las herramientas que creo, tanto las privadas como las públicas, son en Java, multiplataforma e incluso con librerías matemáticas enfocadas al Trading Cuantitativo aunque no sean estas tan populares.

Una de las herramientas de ayuda que creé para mis alumnos de la formación de Trading Algorítmico es la siguiente:

Conversion de Historicos de acciones para Trading Algoritmico en Metatrader 4

También podemos usar este lenguaje para la creación de Backtest, como ya enseñé en varios artículos, orientados a la composición de carteras y en el taller sobre el desarrollo de estas.

Análisis Cuantitativo de ETFs – SagaQuant

En este artículo hago una demostración de las posibilidades que se puede hacer con Java y un software de tipo Excel para crear los gráficos, aunque se pueden crear estos gráficos también con Java.

Setup de Software para Trading Algorítmico y Trading Cuantitativo:

Tenemos algunas alternativas ya mostradas, pero todo depende del propósito.

En mi curso Introductorio al Trading Algorítmico enseño a crear diversas automatizaciones con Metatrader 4 y las mismas se pueden extrapolar al resto de plataformas, sean herramientas para buscar ventajas entre otras cosas como la creación de un optimizador Walk-Forward desde código.

Como ya sabemos, el Trading Algorítmico es siempre Automatizado y cuantificado, y el Trading Cuantitativo, que es la cuantificación de estas pautas, puede ser Algorítmico o Manual.

En ambos casos suelo recomendar programar, no en todo es necesaria la automatización mediante algoritmos, no obstante, el código si suele serlo.

Es cierto que desde Excel, apoyado con Visual Basic orientado a este (VBA), se pueden crear marcos interesantes para realizar distintos análisis cuantitativos. E incluso simplemente con fórmulas sin necesidad de programar «al uso», pero es algo que descarto salvo momentos muy puntuales.

Si hacemos una comparación de Software y curva de aprendizaje, encontramos que tanto para Trading Algorítmico como Trading Cuantitativo (y es que, mediante macros y ActiveX podemos mandar órdenes desde Excel) el tiempo requerido para el estudio de cualquier modelo bursátil es demasiado alto.

Mis recomendaciones por ende van a ir de la mano del tipo de Trading que queramos hacer.

Si queremos hacer Trading Algorítmico con estrategias simples, normalmente una plataforma de Trading suele ser lo único necesario, y si queremos hacer análisis con mayor dificultad o tiempo recurriremos a lenguajes de programación.

Si queremos hacer Trading Cuantitativo, R o Python suelen ser comienzos más apropiados. No es un camino obligatorio pero desde luego crearemos Software y Scripts que son interesantes para hacer análisis interesantes.

Yo por mi parte, suelo recomendar algo equilibrado, aprender uno o dos lenguajes de Plataformas, como por ejemplo MQL4 para Forex y Easy Language para Futuros.

Y luego aprender uno o dos lenguajes de programación generalistas, mismamente en Java se puede hacer trading cuantitativo e incluso trading algorítmico sin problemas. Y si aprendemos C# tendremos un lenguaje de programación tanto para desarrollo generalista o de herramientas y apto para Ninjatrader.

¿Qué lenguajes elegir? Eso queda a tu disposición, la programación es algo apasionante pero tiene su componente subjetivo a diferencia del trading cuantitativo.

Conclusión y final

Todo el universo que envuelve al software, trading algorítmico y trading cuantitativo es demasiado largo y extenso para resumirlo en un solo post, y por eso esto solo son varios enfoques que podemos utilizar, con varios ejemplos relacionados.

El camino empieza poco a poco y no se puede abarcar todo de golpe ni llega a ser necesario, pero desde luego, el Trading Algorítmico y la programación las considero como mejores alternativas al análisis discrecional y el uso de la intuición, vivimos en la época del análisis de datos y viviremos el auge del Machine Learning y técnicas más modernas.

Toma acción hoy y empieza a aprender un lenguaje sencillo como puede ser MQL4 con mi curso gratuito en Youtube:

Para la extracción de estrategias recordad que tenéis varias por mi canal de Youtube junto a varios métodos y medios de análisis de manera totalmente gratuita.

Por último, añadir que he obviado varios software existentes para Trading Algorítmico y Trading Cuantitativo, alternativas como Sierra Chart o TD Ameritrade por ser menos populares aunque no por ello una mala opción.

Como siempre, espero que esto te pueda ayudar a progresar en tu trading.

Víctor – Sagaquant.

 

 

Salir de la versión móvil