¿Cómo funcionan los algoritmos comerciales?

De acuerdo, como persona que diseña mi propio sistema de comercio automatizado, lo analizaré. Cuando alguien dice comercio algorítmico, cubre un tema VAST. Esta es una respuesta incompleta pero larga. Entonces, toma un refresco o una taza de café, siéntate, ponte cómodo y sigue leyendo.

Hay cuatro tipos principales de algoritmos comerciales. Existen:

  • Algoritmos de ejecución
  • Comportamiento de algoritmos de explotación
  • Algoritmos de reventa
  • Algoritmos predictivos

Déjame intentar describir estos cuatro.

1. Algoritmos de ejecución comercial

Muchos fondos más grandes necesitan reasignar su dinero de un activo a otro. Los corredores de primer nivel, como Goldman Sachs, ejecutan algos comerciales a nivel de ejecución para sus clientes que prometen la mejor base de costo (o al menos una base de costo constante) para establecer sus posiciones. Los más simples son TWAP (precio promedio ponderado por tiempo) y VWAP (precio promedio ponderado por volumen). Hay muchos otros que cumplen esta función, con el Port-X de Goldman Sachs como un ejemplo. Vaya aquí para ver su ejemplo de oferta completo (no trabajo para GS porque no soy lo suficientemente 1337): Goldman Sachs Electronic Trading.

Estos algoritmos generalmente funcionan calculando la capacidad del mercado de activos en un momento dado y espaciando inteligentemente las ejecuciones de órdenes. Debe averiguar si puede comprar múltiples bloques más pequeños de lo que desea en total sin tener un impacto en el precio o sufrir demasiado por la deriva del precio con el tiempo. Si tiene que completar un pedido por un valor de $ 100 mil de un activo A donde el volumen diario promedio es de $ 1 mil, tendrá un gran impacto en el precio si no espacia sus pedidos de manera inteligente durante un largo período de tiempo. En otras palabras, si tiene una piscina de agua que necesita verter en una serie de cubetas de lavado (que representan una capacidad de mercado en un momento dado), no puede hacerlo sin que el agua se derrame de una cubeta.


En el otro extremo, en el ámbito de HFT, tiene los algoritmos que generalmente se dividen en dos categorías (las categorías que uso no son términos estándar, solo los que me ayudan a aclarar el tema):

2. Algoritmos explotadores de comportamiento

Estos intentan analizar a los principales oponentes en el mismo espacio de valores. En acciones de liquidez más pequeñas, a menudo tienes un jugador grande y todos los demás. En esos espacios, descubrir de manera inteligente el comportamiento del oponente se vuelve un poco más fácil que si tuviera 10000 otros operadores en el mismo símbolo. Descubrir cómo comercia el oponente, sus reglas y los casos límite que lo rompen, permite que este tipo de algoritmos exploten el sistema del oponente y se beneficien de él.

3. Algoritmos de scalping

Las empresas de HFT compiten con las “Armas más rápidas del oeste”. A nivel de microestructura del mercado, tiene esencialmente la oportunidad de arbitraje de precios. Si el libro de pedidos en una instancia determinada tiene a alguien que oferte a $ 10 y alguien que pregunte a $ 10.1, no tiene ganancias allí. El spread es de $ 0.1 y esto sucede todo el tiempo en escala macro. Pero para que una transacción se inicie y se liquide, debe hacer que alguien haga una oferta igual o superior a la que pide. De vez en cuando (y sospecho mucho más a medida que comprime la escala de tiempo) tiene una situación en la que alguien está ofertando $ 10,0001 y algunos están pidiendo $ 10. Ahí es donde tener las conexiones más rápidas, las computadoras más rápidas pueden generarle $ 0.0001 menos el costo de la transacción. Usted compra a alguien que vende a $ 10 y lo vende a otra persona que compra a $ 10.0001. Los algos scalping son realmente pequeños y deben ser realmente rápidos y eficientes. La mayoría de las veces, estos algos se prototipan, prueban y luego se implementan en ASIC o FPGA.

Sin embargo, debido a que todos los demás buscan el mismo tipo de oportunidad, es un espacio realmente lleno de gente. Por lo tanto, debe diseñar una conmutación por error elegante donde la etapa de liquidación de la operación deba incurrir en la menor pérdida posible.

Las empresas de HFT, en general, crean un diferencial más bajo y una mayor liquidez para el mercado en el que operan, ideal para comerciantes minoristas como yo.


La mayoría de las veces, cuando alguien habla de algoritmos comerciales, habla de algoritmos predictivos.

4. Algoritmos predictivos

Existe toda una clase de algoritmos que intentan predecir el comportamiento futuro o las existencias en función de la combinación de información pasada, información nueva y otra información de segundo orden. Estos se llaman algoritmos predictivos, y uno en el que la mayoría de los laicos están investigando.

Los algoritmos predictivos se dividen en dos subcategorías:

  • Reversión media
  • Tendencia siguiente
  • Reconocimiento de patrón gráfico
  • Análisis fundamental
  • Algoritmos de reequilibrio de cartera

Entraré en cada uno de estos.
4.1 La reversión media se basa en la idea de que una acción volverá a su precio medio de negociación. Los algoritmos de reversión a la media intentan establecer patrones de precios normalizados en comparación con su par, punto de referencia o su propio historial pasado. El intercambio de pares es un ejemplo muy simple en el que se calculan los valores de correlación y cointegración para dos acciones para determinar si uno puede comprar uno, otro corto para establecer una posición y luego cerrar las posiciones cuando las acciones vuelvan a cotizar en tándem. Se supone que algunos algoritmos de reconocimiento de patrones de gráficos aprovechan el comportamiento de reversión media.

4.2 Los algoritmos de seguimiento de tendencia intentan determinar si se está desarrollando una tendencia a largo plazo en una clase de activo en particular. El éxito de tales algoritmos depende de averiguar quién establece las posiciones. El mercado de valores es un juego multijugador extremadamente grande y hace que sea difícil realizar la asignación de crédito por un comportamiento del precio, pero otros han afirmado que la información de segundo orden del flujo de dinero neto de un activo a otro activo al observar de cerca TODO el espacio de activos puede rendir mejor resulta en descubrir establecimientos de tendencia. En pocas palabras, al menos a corto plazo, donde la información contable no ha cambiado, los precios de los activos se establecen únicamente en función del equilibrio entre la oferta y la demanda.

4.3 Los algoritmos de reconocimiento de patrones de gráficos intentan seguir la vieja máxima (posiblemente la máxima falsa) de “la imagen nunca miente”. Esto también se llama análisis técnico . El análisis técnico se basa en ver algunos patrones de gráficos agregados, como doble tapa, cabeza y hombros, etc. Algunos documentos recientes hablan sobre cómo el reconocimiento de patrones de gráficos puede decir algo sobre el comportamiento subyacente de fijación de precios de los activos y posiblemente sacar provecho de ellos (http://www.cis.upenn.edu/~mkearn…)

4.4 Los algoritmos de análisis fundamentales intentan analizar los datos contables (esencialmente) para determinar si una acción está infravalorada o sobrevalorada en comparación con sus pares. Las empresas más grandes con más analistas de investigación pueden hacerlo mucho mejor que los inversores minoristas como yo, ya que no tengo tiempo para averiguar exactamente cuántos jeans vendió Gap, por ejemplo. Además, los datos macroeconómicos se introducen en el sistema para establecer una especie de modelos basados ​​en el ciclo económico en algunos algoritmos.

4.5 Los algoritmos de reequilibrio de cartera intentan aprovechar un par de ideas diferentes sobre los comportamientos de fijación de precios del mercado de activos. Hay algoritmos de reequilibrio de cartera tipo Smart Beta, que intentan aprovechar el “almuerzo gratis” que se ve en la cartera construida solo con activos de baja volatilidad, y algoritmos de reequilibrio de cartera en línea donde se intenta aprovechar la hipótesis sobre Flujo de dinero y / o comportamientos de reversión de la media en un universo de activos.


Lo siento, esta respuesta es bastante incompleta. Ni siquiera entré en las microestructuras del mercado. Hay otra clase completa de algoritmos de análisis de sentimientos que simplemente no estoy lo suficientemente educado para adivinar. Tampoco cubrí algoritmos basados ​​en noticias porque creo que son en gran parte ciencia vudú (siéntase libre de estar en desacuerdo y avíseme si estoy equivocado). Tampoco incluí algoritmos de negociación basados ​​en algoritmos de aprendizaje completamente sin supervisión porque creo que los cambios frecuentes de régimen aseguran que no funcionen correctamente durante un período de tiempo más largo. Espero que mi respuesta incompleta lo haya ayudado en el camino correcto para comprender los algoritmos de negociación.

Gracias por leer.

Supongamos que un comerciante quiere hacer lo siguiente;

  • Compre 50 acciones de una acción cuando su promedio móvil de 50 días supere el promedio móvil de 200 días
  • Vender acciones de la acción cuando su promedio móvil de 50 días sea inferior al promedio móvil de 200 días

En base a estas condiciones, es fácil desarrollar un programa de computadora que monitoree los movimientos de stock. Así que ahora el comerciante no tiene que sentarse y mirar la pantalla para ver gráficos en vivo. El algo (programa de computadora) ejecutará las órdenes automáticamente cuando surja la oportunidad. Una vez que desarrolles el algo, debes volver a probarlo; use el algoritmo para aplicar datos históricos para ver cómo funciona.

Los algos son utilizados principalmente por fondos de cobertura, bancos de inversión y empresas comerciales propietarias. Estas empresas tienen recursos para desarrollar su propio software comercial (interno).

Por ejemplo, en SAMT AG brindamos gestión científica del patrimonio, ofreciendo un concepto modular con una cartera central duradera y algo alternativo. Nuestra estrategia alternativa de Algo se basa en los diferenciales entre los recursos naturales que se producen debido a los efectos estacionales.

Los comerciantes individuales y los cuantos (expertos en la aplicación de métodos matemáticos y estadísticos) generalmente compran software comercial listo y luego lo personalizan de acuerdo con sus objetivos.

En la práctica, los algos son mucho más complejos (use modelos matemáticos muy avanzados) y se usan cuando grandes volúmenes de acciones se compran y venden automáticamente a velocidades muy altas.

Ejemplo

Arbitraje

La función aquí es la misma que en el arbitraje ordinario; beneficiarse de la diferencia de precios, pero la ejecución con algos es mucho más eficiente. Esta diferencia de precio puede ser entre activos que generalmente están fuertemente correlacionados; Recibo del depositario estadounidense (ADR) / acciones extranjeras, transacciones de fusiones y adquisiciones (M&A) o correlaciones estadísticas. El siguiente cuadro muestra la oportunidad de arbitraje de la divergencia de Exxon Mobil (XOM) y Chevron (CVX).

Oportunidad de arbitraje en energía – Fuente: Google Finance

Hay muchas estrategias en las que se utilizan los algos. Puede leer la página wiki Comercio algorítmico – Wikipedia para más detalles.

Jae ha escrito una gran respuesta aquí, así que intentaré proporcionar una perspectiva única / nicho, desde el punto de vista de un operador algorítmico intradiario no HFT.

Para decirlo de manera más simple y directa, un algoritmo de negociación es un conjunto de condiciones de entrada y condiciones de salida, creadas idealmente al examinar los datos históricos de precios, que están a la espera de que se activen sus condiciones causando una entrada (o una salida de) los mercados.

Como comerciantes sistemáticos, nuestro objetivo es buscar exhaustivamente los patrones de movimiento de precios más consistentes y robustos, a fin de crear una lógica para ‘montar’ de manera rentable dicho patrón de manera continua en el futuro y, con suerte, obtener alguna ganancia de los mercados en haciendo eso

El código contenido en la estrategia de negociación hace referencia a ‘indicadores’, que son básicamente medidas individuales y únicas de cómo se mueve el precio, o dónde está actualmente el precio en relación a dónde ha estado, o alguna combinación de estos (los indicadores pueden medir el precio en una gran variedad de maneras, hay literalmente miles de indicadores flotando para el consumo público, e innumerables más creados y utilizados de forma privada). La estrategia ‘monitoreará’ la fluctuación de estos indicadores en tiempo real, ya que los mercados están abiertos y en funcionamiento, constantemente vigilando el cumplimiento de sus condiciones de entrada o salida.

Los errores o el mal funcionamiento son una rareza extrema con cualquier estrategia correctamente codificada, y el uso de RAM es generalmente mínimo (por ejemplo, ejecutamos aproximadamente 300 simultáneamente, en un servidor de escritorio modesto, sin complicaciones).

Aquí hay un ejemplo rápido (y de rendimiento horrible, ¡manténgase alejado!) Del algoritmo de negociación más básico en el trabajo. ‘APZ’ significa ‘zona de precio adaptativo’, y es un indicador similar a las bandas de Bollinger que denota los rangos de precio más altos y más bajos en el último X número de barras. He codificado esta estrategia para tomar una entrada ‘larga’ cuando se viola la línea APZ inferior, y salir después de 20 bares, y tomar una entrada ‘corta’ cuando se viola la línea APZ superior , saliendo nuevamente después de 20 barras:

Como puede ver, en el momento en que el precio viola la línea APZ, ingresa una operación en la barra siguiente en la dirección opuesta y sale después de 20 barras (excepto en el caso de la segunda a la última operación de las cuatro mostradas aquí, en que terminó un comercio ‘largo’ antes, antes de su vida útil de 20 bares, porque se activaron las condiciones ‘cortas’).

Curiosamente, la respuesta concisa a su pregunta podría ser: ¡Mal! La gran mayoría de las estrategias creadas no son rentables, ya que requiere algo más que ganar un poco más de lo que pierde (debido a los costos de las transacciones comerciales), y aparentemente la tasa de lavado de aquellos que intentan recorrer este camino es de alrededor del 95%. Espero que esto mejore un poco con el tiempo, a medida que crezca la comprensión y se desarrolle universalmente un conjunto más firme de ‘mejores prácticas’. Actualmente, todavía tiene un elemento de ‘salvaje oeste’. . . y es muy divertido aventurarse en aguas inexploradas con solo mapas crudamente dibujados para guiarlo, permite una verdadera creatividad y recompensa el mérito y la disciplina con un límite de ingresos potenciales que apenas es cuantificable, y este es mi tipo de diversión. . . Realmente amo lo que hago

Antes de responder a su pregunta, quiero explicarle qué es un algoritmo.

En palabras simples, el algoritmo es un conjunto finito de instrucciones para obtener un resultado requerido en una cantidad de tiempo finita. Del mismo modo, el comercio algorítmico se define como un conjunto de instrucciones en forma de algoritmo para generar señales comerciales y hacer pedidos.

Las plataformas de negociación algorítmica constan de tres componentes:

Adaptador de datos de mercado: el adaptador de datos de mercado recibe los datos de mercado de los intercambios y los convierte a un formato estandarizado, que su sistema puede entender.

Motor de procesamiento de eventos complejos (CEP): el CEP recibe los datos e infiere eventos o encuentra algún patrón en los datos y toma las medidas apropiadas para generar señales de negociación utilizando el algoritmo de negociación (algoritmos de ejecución, algoritmos de scalping, etc.).

Sistema de enrutamiento de pedidos: ORS recibe las instrucciones del CEP y envía los pedidos al intercambio en el idioma que el intercambio pueda entender.

Para una mejor comprensión del comercio algorítmico, puede consultar Comenzar con el comercio algorítmico | Quantra de QuantInsti que cubre todos los conceptos básicos del comercio algorítmico y también diferentes paradigmas de estrategia.

Los Algos son simplemente una lógica comercial que se ha comprometido con el código para una ejecución de órdenes más rápida y eficiente. Tenemos numerosos ejemplos en nuestro sitio web y le recomiendo que mire a su alrededor. Plataforma de programación visual ADL®

Actualmente dirijo Operaciones en una de las plataformas de inversión cuantitativa más grandes de los EE. UU. (Quantiacs) y escribí un libro titulado The Edge of Foresight sobre monetización de predicciones, por lo que me siento al menos mínimamente calificado para responder a esta pregunta.

Los algoritmos en Wall Street y en Chicago tienen muchos sabores: Algos de ejecución (los algos de ejecución actúan para hacer un pedido grande de la manera más eficiente posible para que afecte mínimamente al mercado), algos de alta frecuencia (HFT) combinados con hardware HFT especializado (estos operar en marcos de tiempo de milisegundos), algos basados ​​en sentimientos (estos toman decisiones basadas en el sentimiento público), algos basados ​​en varias formas de arbitraje (por ejemplo, ineficiencias del mercado), algos de alta capacidad de gestión de cartera a largo plazo, diablos, incluso podría consideramos que los robo-asesores de gestión de patrimonio son algos o algo así. Incluso he desarrollado algos simplemente para medir cuantitativamente el rendimiento de otros algos (es más complicado de lo que piensas).

La mayoría de los algoritmos de negociación se basan en indicadores matemáticos (como un promedio móvil o una medida de fuerza relativa) y cada uno de estos indicadores se basa en un conjunto de parámetros.

Consideremos un algoritmo muy simple de “Crossover de media móvil” usando solo una media móvil simple (SMA). El valor de su indicador sería el promedio móvil final del último número X de períodos. En este caso, X es su único parámetro, pero también puede tener parámetros para su stop loss u objetivo de ganancias. La lógica de este algoritmo de seguimiento de tendencias podría ser tan simple como enviar una orden de compra a la API de su corredor una vez que el precio cruzó por encima del promedio móvil y una orden de venta cuando alcanza su objetivo o condición de salida.

Los Wall Street Trading Algo que trabajan constantemente y pueden acomodar grandes cantidades de capital generalmente caen en solo 2 o 3 categorías y ambos pueden negociar a largo y corto plazo para beneficiarse de los movimientos de precios hacia arriba y hacia abajo.

1) Sistemas de “reversión a la media” a corto plazo. Esto simplemente significa que el precio de algunos activos tiende a oscilar alrededor de un promedio móvil porque los valores económicos fundamentales anclan el precio y provocan cambios irracionales que vuelven a una base económica fundamental.

2) Sistemas de seguimiento de tendencias. Estos se basan en la realidad de que muchos activos tienden a moverse en tendencias a largo plazo tanto hacia arriba como hacia abajo. Si se puede identificar una tendencia a largo plazo, puede subirla o bajarla hasta que cambie de rumbo.

La programación necesaria para codificar un algoritmo simple es mucho más simple de lo que piensas en Python, Matlab, Easy-languages ​​o C #, etc. Quantiacs ha hecho que sea fácil comenzar con una gran GUI para Python, ¡así que pruébalo!

Excelente respuesta de Jae Yang. Como también escribo algos para ganarse la vida, aquí hay otra perspectiva al respecto, más filosófica

Si la inversión es un proceso, entonces, como cualquier otro proceso, la automatización es una conclusión lógica.

Un algoritmo no es más que un conjunto extremadamente formalizado de creencias traducidas en rutinas.

Solo intercambiamos nuestros hábitos. Esos provienen de nuestras creencias. Esas creencias dan forma a la forma en que diseñarás tus algos. Puede sonar filosófico y abstracto, pero al final, este es un puente que todos tienen que cruzar.

La parte más difícil del diseño de algo es la obtención de creencias profundas. ¿Cuáles son las creencias subconscientes que te llevaron a este algo en particular?

Un ejemplo simple sería: 1) Creo que la volatilidad es el enemigo 2) Creo que las opciones de OTM profundas cercanas al mes expiran sin valor el 99.9999% del tiempo 3) Por lo tanto, puedo escribir con seguridad una rutina que las venderá hasta el vencimiento 4) esto es una estrategia libre de riesgo
Verificación de la realidad: 1) caducan sin valor hasta que no lo hacen, en cuyo caso exploto 2) Incluso si caducan sin valor, puedo enfrentar una llamada de margen que arruinará la cuenta 3) las malas noticias viajan en paquete, así que si hay una explosión, la correlación va a 1 y puede contaminar
4) Esta estrategia funciona hasta que no funciona. Es una estrategia de baja expectativa negativa de baja volatilidad.

Entonces, como puedes ver, las creencias te llevan por un camino. Esto se relaciona con la respuesta de Jae sobre el catálogo de estrategias generalmente implementadas. Sepa qué resuena con usted y los riesgos que conlleva antes de embarcarse en una odisea algorítmica

Trataré de darte una idea simple que podría ayudarte.
El comercio algorítmico es simplemente el mismo procedimiento de análisis de acciones y comercio que haría todos los días manualmente, pero ahora convertido en un sistema mecánico que una computadora podría repetir exactamente, eso es todo. A pesar de que este concepto es bastante fácil de entender, crear un sistema confiable y rentable no lo es. Requiere tiempo, paciencia, muchas matemáticas, estadísticas y mucho sentido común.
Si “googleas” esos términos, encontrarás mucha información básica para aprender, luego podrás descargar alguna plataforma gratuita y comenzar a aprender tutoriales … etc.

Trataré de responder de una manera simple.

Quieres comerciar, ¿verdad? La regla básica para obtener ganancias es comprar bajo, vender alto. Sin embargo, es muy difícil encontrar patrones en los que sepa que ese es el precio bajo y el precio alto. Pero sabe que hay algoritmos que pueden detectar signos de tendencias al alza / baja, por lo tanto, precios bajos / altos, con una precisión del 70-80%. Luego, puede hacer o crear uno y ejecutarlo con una computadora. Pero este sigue siendo el primer paso, detectar precios.

Lo siguiente es automatizar la actividad comercial también. Lo bueno hoy en día en comparación con hace 30-40 años, no necesita una terminal de intercambio para comerciar. Simplemente puede usar Internet para conectarse a un intercambio o comerciar a través de un corredor. De esta manera, puede conectar la computadora para comprar cuando se detecta una señal de bajo precio y vender de otra manera, a través de su aplicación de corredor (que normalmente también admite el comercio automatizado en la actualidad).

De esta manera, puede automatizar su análisis y orden al mismo tiempo. Lo más desafiante es normalmente cómo detectar el patrón (¡por supuesto!). La mayoría de las personas utilizan análisis técnicos (p. Ej., Promedio móvil, bandas de Bollinger) y algunas otras también agregan análisis de series de tiempo (p. Ej., Correlación). Pero sé que hay algunos profesionales avanzados que también usan Neural Network, por ejemplo, en combinación con los que he mencionado.

Espero que esto ayude.

El término “algoritmos” o “algos” a menudo se usa incorrectamente:

Los algoritmos son programas informáticos creados para realizar grandes pedidos en el mercado, utilizados por grandes actores del mercado. El pedido grande se divide en trozos de pedidos más pequeños, enviados al mercado por el algoritmo.

Las estrategias comerciales automatizadas son programas informáticos que implementan una estrategia comercial, cuándo comprar y cuándo vender.

Un algoritmo es una gran palabra que significa el sistema o establece reglas bajo las cuales desea realizar transacciones. por ejemplo, a alguien se le ocurrirá un sistema de negociación, que incluye una porción de entrada, salida y gestión de riesgos, para simplificarlo. La interacción de estos componentes se llamaría un algoritmo para negociar un activo.

Espero que ayude a responder su pregunta. Gracias por la A2a

En esencia, el comercio algorítmico es bastante simple:

1 – Identifica una estrategia comercial que funcione para usted

2 – Convierte esa estrategia comercial en código

3 – Conecta su código a un corredor y lo deja comerciar en su nombre

La ejecución o el “cómo” es donde entra en juego la complejidad porque hay tantas variables que debe tener en cuenta, sin incluir la definición de una estrategia comercial ganadora.

No puede explicar la esencia del Gran Colisionador de Hadrones en palabras simples, ni comprenderá el comercio algorítmico con un par de respuestas. Tienes que leer mucho. Comience aquí, es bastante útil: Conceptos básicos del comercio algorítmico: conceptos y ejemplos. ¡Buena suerte!

El algoritmo de negociación en realidad funciona sobre los fundamentos de las instrucciones humanas. Cada programa es tomado primero por la lógica del ser humano y solo después. Asegúrese de realizar un seguimiento de las cosas antes de decidir el próximo paso posible. Por ejemplo, Best Pro Trade es un producto de primer nivel que facilita el complicado procedimiento.

Hola, recientemente leí este artículo:

Comercio automatizado 1: ¿Qué es? El | Quastico

lo llaman comercio automatizado, pero es lo mismo