Resumen
La empresa dedica tiempo al análisis manual del mercado, la gestión de hojas de cálculo y la colocación de órdenes.
La solución se convirtió en un software de trading en Python que conecta datos de mercado, lógica de estrategias, hojas de cálculo y cuentas de bróker.
El software está diseñado para reducir el trabajo manual de trading, la gestión repetitiva de datos y el esfuerzo de ejecución evitable.
Historia del cliente
El cliente es una empresa de trading algorítmico de Polonia. Ejecuta estrategias en tiempo real, backtesting y alta frecuencia mediante API de bróker, y trabaja con acciones y opciones.
El equipo gestiona datos de velas, entradas de trading y órdenes de compra y venta en varias cuentas de bróker. Los traders y las empresas de trading necesitan sustituir el análisis manual de datos de mercado, la gestión de datos de operaciones y la colocación de órdenes por sistemas automatizados.
La solicitud era sencilla: automatizar el flujo de trading en Python, conectarlo con Interactive Brokers o una cuenta de Shoonya Broker cuando fuera necesario y validar las estrategias mediante backtesting. La empresa también necesitaba introducir datos de Excel en el proceso y recibirlos como datos de trading actualizados después de la ejecución.
La solución se estructuró como un conjunto de pantallas conectadas para configurar intervalos, analizar velas, supervisar operaciones en tiempo real, gestionar datos de Excel y realizar backtesting. Los campos de estrategia, tipos de órdenes, estado del bróker y registros de trading permanecieron visibles para que la empresa pudiera gestionar el proceso según sus propias reglas.
El cliente solicitó
- Validar estrategias mediante backtesting y proporcionar la orientación o documentación solicitada.
- Crear la automatización de trading en Python, con alternativas en Java o C++ cuando fuera necesario.
- Conectar Interactive Brokers o una cuenta de Shoonya Broker cuando fuera necesario.
- Leer las entradas de trading de Excel y actualizar los datos después de la ejecución.
Por qué el software prediseñado no encajaba
Las plataformas de bróker prediseñadas cubren la compra, venta y gestión de activos financieros, pero sus descripciones no combinan las entradas de hojas de cálculo de esta empresa, la lógica de estrategias configurable, el backtesting y la ejecución mediante bróker en un único proceso adaptado. La solución se diseñó para mantener estas partes juntas y alinearlas con las reglas propias de la empresa, mientras que la documentación y la formación permiten un uso independiente.
Descripción general del proyecto
La solución se diseñó en torno a una aplicación de trading en Python que conecta datos de mercado, lógica de estrategias, entradas de hojas de cálculo y cuentas de bróker. La estructura reúne las etapas principales en un solo lugar: preparar datos, revisar velas, validar una estrategia, ejecutar órdenes y supervisar posiciones.
Para gestionar las entradas de trading, se proporcionó un espacio de trabajo en Excel. Lee los datos de la hoja de cálculo, muestra los datos de velas y marca los datos de trading actualizados generados tras la ejecución.
La pantalla de trading reúne intervalos seleccionables, parámetros de estrategia y criterios de compra y venta. El estado de conexión del bróker y los tipos de órdenes de mercado, limitadas o stop permanecen disponibles en la misma pantalla.
La aplicación coloca órdenes mediante las conexiones de bróker compatibles y mantiene disponible la información de ejecución para su supervisión.
Se prestó especial atención a la validación de estrategias. La pantalla de backtesting utiliza datos históricos de velas, parámetros de estrategia y tablas de resultados para que la empresa pueda comparar una estrategia antes de utilizarla en trading real.
El sistema se planificó como un conjunto de módulos, dejando espacio para documentación, instrucciones de configuración, soporte posterior a la entrega y futuras ampliaciones, como procesamiento local o depuración en mercados en tiempo real.
Principales funciones entregadas
- Trading automatizado mediante cuentas de bróker
- Órdenes de mercado, limitadas y stop
- Obtención de datos de velas en intervalos seleccionables
- Estrategias y criterios de compra/venta configurables
- Importación y actualización de datos de trading en Excel
- Backtesting de estrategias con datos históricos de velas
- Supervisión de órdenes, posiciones y alertas en tiempo real
- Estado de conexión de la cuenta de bróker
- Automatización de trading basada en Python