Para desarrollar una operativa con sistemas podemos utilizar diversos tipos de herramientas, podemos hacer una clasificación no exhaustiva de estas herramientas en función de su versatilidad, complejidad y curvas de aprendizaje. Diferenciaría entre plataformas de trading programables, lenguajes de programación y plataformas de estadística, machine learning o data mining.
Para el que comienza suele ser más apropiado utilizar una plataforma de trading programable, como Metatrader o Ninjatrader. Estas plataformas suelen integrar el data-feed y el trade-feed del broker y la programación de sistemas e indicadores sencillos no suele ser demasiado compleja. Proporcionan una curva de aprendizaje suave pero a cambio para tareas avanzadas (integraciones con bases de datos u otro software externo) suelen ser poco versátiles.
Utilizando lenguajes de programación como Java, C/C++/C# o R, tendremos toda la potencia y flexibilidad que nuestra habilidad como programadores nos permita. Un buen conocimiento de librerías y frameworks relacionados con el trading es imprescindible. Sin embargo, toda esta potencia viene a cambio de un extra de trabajo de programación y mantenimiento a la hora de integrar todos estos sistemas. Desarrollar nuestras propias herramientas de trading puede ser una tarea abrumadora para una sola persona tanto por profundidad como extensión, mejor si cuentas con un equipo de desarrollo.
Las plataformas de estadística, machine learning o data mining son una de mis soluciones preferidas. Algunas de las más conocidas son Matlab o RapidMiner. Contienen paquetes matemáticos muy avanzados que interactuan entre sí perfectamente. Los únicos puntos débiles de estas plataformas suelen ser la integración del data-feed y el trade-feed del broker, aunque suelen existir plugins que solventan este problema en mayor o menor medida.
¿Qué herramientas debemos elegir para desarrollar nuestra operativa con sistemas? ¿Nos volcamos a aprender la plataforma de trading integrado? ¿Un lenguaje de programación junto a sus frameworks y librerías? ¿Plataformas estadísticas? En mi trabajo diario utilizo las tres, la operativa con sistemas es una tarea compleja que consta de multitud de fases como el análisis de mercado, desarrollo de indicadores y sistemas, conexión con los feeds, optimización de sistemas, evaluación de backtests, etc. Y cada tipo de herramienta tiene sus pros y sus contras en cada fase del trabajo.