Mientras usan el comercio algorítmico, los operadores confían su dinero ganado con esfuerzo al software comercial que usan. El software informático adecuado es muy importante para garantizar la ejecución efectiva y precisa de las órdenes comerciales. El software defectuoso, o uno sin las características requeridas, puede provocar grandes pérdidas.
Una introducción rápida sobre el comercio algorítmico
Un algoritmo se define como un conjunto específico de instrucciones paso a paso para completar una tarea en particular. Ya sea el juego de computadora simple pero adictivo como Pac-Man o una hoja de cálculo que ofrece una gran cantidad de funciones, cada programa sigue un conjunto específico de instrucciones basadas en un algoritmo subyacente.
El comercio algorítmico es el proceso de usar un programa de computadora que sigue un conjunto definido de instrucciones para colocar una orden comercial. El objetivo del programa de comercio algorítmico es identificar dinámicamente oportunidades rentables y colocar las operaciones para generar ganancias a una velocidad y frecuencia que un comerciante humano no puede igualar. Dadas las ventajas de una mayor precisión y una velocidad de ejecución increíblemente rápida, las actividades comerciales basadas en algoritmos informáticos han ganado una gran popularidad.
¿Quién utiliza el software de comercio algorítmico?
El comercio algorítmico está dominado por grandes empresas comerciales, como fondos de cobertura, bancos de inversión y empresas comerciales privadas. Dada la abundante disponibilidad de recursos debido a su gran tamaño, estas empresas suelen crear su propio software de negociación patentado, que incluye grandes sistemas de negociación con centros de datos dedicados y personal de soporte.
A nivel individual, los operadores y quants propietarios experimentados utilizan el comercio algorítmico. Los comerciantes propietarios, que son menos expertos en tecnología, pueden comprar software comercial listo para sus necesidades de negociación algorítmica. El software es ofrecido por sus corredores o comprado a proveedores externos. Los Quants tienen un buen conocimiento tanto de la programación comercial como de la informática, y desarrollan software de comercio por su cuenta.
Software de comercio algorítmico: ¿construir o comprar?
Hay dos formas de acceder al software de negociación algorítmica: compilar o comprar.
La compra de software listo para usar ofrece acceso rápido y oportuno, mientras que la construcción de la suya permite una flexibilidad total para personalizarla según sus necesidades. El software de comercio automatizado a menudo es costoso de comprar y puede estar lleno de lagunas, lo que, si se ignora, puede ocasionar pérdidas. El alto costo del software también puede afectar el potencial de ganancias realistas de su empresa comercial algorítmica. Por otro lado, crear software de comercio algorítmico por su cuenta requiere tiempo, esfuerzo y un conocimiento profundo, y aún así puede no ser infalible.
Las características clave del software de comercio algorítmico
El riesgo involucrado en el comercio automático es alto, lo que puede conducir a grandes pérdidas. Independientemente de si decide comprar o construir, es importante estar familiarizado con las características básicas necesarias.
Disponibilidad de mercado y datos de la empresa. Todos los algoritmos de negociación están diseñados para actuar sobre datos de mercado en tiempo real y cotizaciones de precios. Algunos programas también están personalizados para tener en cuenta los datos fundamentales de la empresa, como las relaciones EPS y P / E. Cualquier software de negociación algorítmica debe tener una fuente de datos de mercado en tiempo real, así como una fuente de datos de la empresa. Debe estar disponible como una función integrada en el sistema o debe tener una disposición para integrarse fácilmente desde fuentes alternativas.
Conectividad a diversos mercados. Los operadores que buscan trabajar en múltiples mercados deben tener en cuenta que cada intercambio puede proporcionar su fuente de datos en un formato diferente, como TCP / IP, Multicast o FIX. Su software debe poder aceptar feeds de diferentes formatos. Otra opción es ir con proveedores de datos de terceros como Bloomberg y Reuters, que agregan datos de mercado de diferentes intercambios y los proporcionan en un formato uniforme para los clientes finales. El software de negociación algorítmica debería poder procesar estos canales agregados según sea necesario.
Latencia. Este es el factor más importante para el comercio de algoritmos. La latencia es el retraso de tiempo introducido en el movimiento de puntos de datos de una aplicación a otra. Considere la siguiente secuencia de eventos. Se tarda 0.2 segundos para que una cotización de precios provenga del intercambio al centro de datos (DC) de su proveedor de software, 0.3 segundos desde el centro de datos para llegar a su pantalla de negociación, 0.1 segundos para que su software de negociación procese esta cotización recibida, 0.3 segundos para para analizar y colocar una operación, 0.2 segundos para que su orden comercial llegue a su corredor, 0.3 segundos para que su corredor dirija su orden al intercambio.
Tiempo total transcurrido = 0.2 + 0.3 + 0.1 + 0.3 + 0.2 + 0.3 = Total 1.4 segundos.
En el dinámico mundo comercial actual, la cotización de precios original habría cambiado varias veces en este período de 1, 4 segundos. Este retraso podría hacer o deshacer su aventura comercial algorítmica. Es necesario mantener esta latencia al nivel más bajo posible para garantizar que obtenga la información más actualizada y precisa sin un intervalo de tiempo.
La latencia se ha reducido a microsegundos, y se debe hacer todo lo posible para mantenerla lo más baja posible en el sistema de comercio. Algunas medidas incluyen tener conectividad directa al intercambio para obtener datos más rápido al eliminar el proveedor intermedio; mediante la mejora de su algoritmo de negociación para que tome menos de 0.1 + 0.3 = 0.4 segundos para el análisis y la toma de decisiones; o eliminando al corredor y enviando directamente operaciones al intercambio para ahorrar 0.2 segundos.
Configurabilidad y personalización. La mayoría del software de negociación algorítmica ofrece algoritmos de negociación integrados estándar, como los basados en un cruce del promedio móvil de 50 días (MA) con la MA de 200 días. Un operador puede querer experimentar cambiando a la MA de 20 días con la MA de 100 días. A menos que el software ofrezca dicha personalización de parámetros, el operador puede verse limitado por la funcionalidad fija incorporada. Ya sea comprando o construyendo, el software comercial debe tener un alto grado de personalización y configurabilidad.
Funcionalidad para escribir programas personalizados. Matlab, Python, C ++, JAVA y Perl son los lenguajes de programación comunes utilizados para escribir software comercial. La mayoría del software comercial que venden los proveedores de terceros ofrece la posibilidad de escribir sus propios programas personalizados dentro de él. Esto permite que un operador experimente y pruebe cualquier concepto comercial que desarrolle. Obviamente, se prefiere el software que ofrece codificación en el lenguaje de programación que elija.
Función de backtesting en datos históricos. La simulación de backtesting implica probar una estrategia comercial en datos históricos. Evalúa la viabilidad y la rentabilidad de la estrategia en datos pasados, certificándola para el éxito (o el fracaso o cualquier cambio necesario). Esta característica obligatoria también debe ir acompañada de la disponibilidad de datos históricos, en los que se puede realizar el backtesting.
Integración con la interfaz comercial. El software de negociación algorítmica coloca las transacciones automáticamente en función de la ocurrencia de un criterio deseado. El software debe tener la conectividad necesaria a la red de intermediario (s) para realizar el intercambio o una conectividad directa al intercambio para enviar las órdenes de intercambio.
Integración Plug-n-Play. Un comerciante puede estar utilizando simultáneamente una terminal de Bloomberg para el análisis de precios, una terminal de corredor para realizar transacciones y un programa Matlab para el análisis de tendencias. Dependiendo de las necesidades individuales, el software de negociación algorítmica debe tener una fácil integración plug-n-play y API disponibles a través de herramientas de negociación de uso común. Esto garantiza la escalabilidad, así como la integración.
Programación independiente de la plataforma. Algunos lenguajes de programación necesitan plataformas dedicadas. Por ejemplo, ciertas versiones de C ++ pueden ejecutarse solo en sistemas operativos seleccionados, mientras que Perl puede ejecutarse en todos los sistemas operativos. Al construir o comprar software comercial, se debe dar preferencia al software comercial que sea independiente de la plataforma y admita lenguajes independientes de la plataforma. Nunca se sabe cómo evolucionará su negociación unos meses más adelante.
Las cosas debajo del capó. Un dicho común dice: "Incluso un mono puede hacer clic en un botón para realizar un intercambio". La dependencia de las computadoras no debe ser ciega. Es el comerciante quien debe entender lo que está pasando bajo el capó. Al comprar un software de negociación, uno debe solicitar y tomarse el tiempo para revisar la documentación detallada que muestra la lógica subyacente de un software de negociación algorítmico particular. Evite cualquier software comercial que sea una caja negra completa y que afirme ser una máquina secreta de hacer dinero.
Mientras crea software, sea realista sobre lo que está implementando y sea claro sobre los escenarios en los que puede fallar. Haga una prueba exhaustiva antes de usarlo con dinero real.
¿Dónde empezar?
Todo el software de comercio algorítmico listo para usar generalmente ofrece versiones de prueba gratuitas de funcionalidad limitada o períodos de prueba limitados con funcionalidad completa. Explórelos en su totalidad durante estas pruebas antes de comprar cualquier cosa. No olvides revisar la documentación disponible en detalle.
La línea de fondo
El software de comercio algorítmico es costoso de comprar y difícil de construir por su cuenta. La compra de software listo para usar ofrece un acceso rápido y oportuno, y la construcción de la suya propia permite una flexibilidad total para personalizarla según sus necesidades. Antes de aventurarse en el comercio algorítmico con dinero real, debe comprender completamente la funcionalidad central del software de comercio. De lo contrario, pueden producirse grandes pérdidas.