Los sistemas que hemos construido para negociar con nuestro propio capital

Nuestra tecnología de negociación no es un escaparate, sino la infraestructura que la empresa opera cada día con su propio dinero.

Ingeniería desarrollada internamente

No compramos bots de negociación de terceros ni dependemos de plataformas de ejecución externas. Cada componente — desde el conector de exchange hasta la capa de control de riesgo — está escrito internamente.

Este enfoque implica que cada error en el código nos cuesta nuestro propio dinero. Nuestro listón de ingeniería es, por tanto, más alto que en un proyecto habitual: código con tipado estático, pruebas, backtesting (pruebas retrospectivas) obligatorio y un periodo de operativa en simulación (paper trading) antes de comprometer capital real alguno.

Nuestra ingeniería abarca todo el ciclo: las estrategias de negociación y el motor de ejecución, los conectores de plataforma, la cadena de investigación y backtesting, la capa de control de riesgo, la asignación de capital, la monitorización y el almacén de claves. A continuación se detallan estos componentes, las interfaces a través de las cuales se conectan a los exchanges y las reglas conforme a las cuales los escribimos.

De qué se compone la infraestructura de negociación

Los componentes del ciclo de producción, desde la lógica de negociación hasta el almacén de claves. La lógica de negociación se ilustra con una estrategia de rejilla (grid), una de las que la empresa opera con su propio capital.

  1. Define el rango de precios, el espaciado entre niveles y el tamaño por nivel; reconstruye la rejilla cuando el precio se sale del rango.

  2. Coloca, cancela y recoloca órdenes, hace seguimiento de las ejecuciones y reintenta correctamente cuando la plataforma rechaza una petición.

  3. Calcula la volatilidad y los límites del rango para que los parámetros de la rejilla se ajusten al régimen de mercado vigente.

  4. Limita la posición agregada y detiene una estrategia cuando supera el drawdown (caída de capital) permitido.

  5. Reparte los fondos disponibles entre instrumentos y estrategias conforme a reglas definidas.

  6. Ocultan las diferencias entre las API de los exchanges tras una única interfaz interna.

  7. Ejecuta una estrategia sobre datos históricos, teniendo en cuenta comisiones, deslizamiento y latencia de ejecución.

  8. Muestra el estado de las estrategias y señala los fallos antes de que se hagan visibles en el resultado.

  9. El rango, el espaciado, el tamaño y los límites se fijan mediante parámetros — sin editar ni redesplegar código.

  10. Almacenamiento cifrado de claves API con permisos solo de negociación y restricciones de direcciones.

Plataformas y protocolos

Las interfaces externas a través de las cuales los componentes descritos arriba se conectan a las plataformas de negociación.

Estándares de ingeniería

  • La lógica de negociación se escribe en código con tipado estático: un desajuste de precio, tamaño e identificador de instrumento se detecta en tiempo de compilación, no en el mercado en vivo. El dimensionamiento de posiciones, el ajuste de una orden a las reglas de la plataforma y las transiciones de estado de las órdenes están cubiertos por pruebas — un cambio sin prueba no llega a producción.

  • Una estrategia nueva pasa tres etapas: una ejecución sobre el historial, luego el funcionamiento sobre una fuente en vivo sin enviar órdenes, y solo después un tamaño de posición mínimo sobre el capital propio de la empresa. Una etapa cuenta como superada si la divergencia entre la simulación y las ejecuciones reales se mantiene dentro de unos límites predefinidos.

  • Antes de entrar en producción, un cambio es revisado por un segundo ingeniero, y todo lo que toca el acceso, la firma de peticiones y el manejo de claves se examina como un punto aparte. Los permisos de la clave en la plataforma, los límites del acceso de red del nodo y el hecho de que los secretos no lleguen ni a los registros ni a los mensajes de error se verifican todos ellos.

  • El permiso de retiro está deshabilitado del lado de la plataforma, no en nuestro código: ni siquiera el acceso completo a un nodo de negociación permite sacar activos. La clave está además vinculada a direcciones de salida fijas, de modo que más allá de nuestro perímetro un par robado es inútil.

  • Cada orden se almacena junto con los datos de entrada y la versión de configuración bajo la cual se tomó. Eso basta para reconstruir después la decisión por completo y responder por qué, en un minuto concreto, el sistema actuó exactamente como lo hizo.

  • El diseño de los sistemas, el procedimiento de despliegue y las acciones ante fallos están documentados y se mantienen actualizados. Ningún ciclo depende del conocimiento de una sola persona: cualquier ingeniero del equipo puede detener la negociación, reconstruir el entorno desde cero e investigar un incidente.

Ámbito de aplicación

Esta sección describe la base tecnológica propia de la empresa. La empresa no presta servicios de custodia de activos, no gestiona cuentas de terceros ni conecta sus sistemas a fondos de terceros.