Wednesday 29 November 2017

Estrategias De Negociación Algorítmicas Con Ejemplos Matlab


Fundamentos de la negociación algorítmica: Conceptos y ejemplos Carga del jugador. Un algoritmo es un conjunto específico de instrucciones claramente definidas destinadas a llevar a cabo una tarea o proceso. El trading algorítmico (trading automatizado, black-box trading o simplemente algo-trading) es el proceso de usar computadoras programadas para seguir un conjunto definido de instrucciones para colocar un comercio con el fin de generar beneficios a una velocidad y frecuencia que es imposible para un Comerciante humano Los conjuntos de reglas definidas se basan en el tiempo, el precio, la cantidad o cualquier modelo matemático. Aparte de las oportunidades de beneficio para el comerciante, algo-trading hace que los mercados más líquidos y hace que el comercio más sistemático por descartar impactos humanos emocionales en las actividades comerciales. Supongamos que un comerciante sigue estos sencillos criterios comerciales: Compra 50 acciones de una acción cuando su media móvil de 50 días supera el promedio móvil de 200 días Vende las acciones de la acción cuando su promedio móvil de 50 días se sitúa por debajo de la media móvil de 200 días Utilizando este conjunto de dos instrucciones sencillas, es fácil escribir un programa informático que monitorizará automáticamente el precio de las acciones (y los indicadores de media móvil) y colocará las órdenes de compra y venta cuando se cumplan las condiciones definidas. El comerciante ya no tiene que mantener un reloj para los precios en vivo y gráficos, o poner en los pedidos manualmente. El sistema de comercio algorítmico lo hace automáticamente para él, identificando correctamente la oportunidad de negociación. Algo-trading ofrece los siguientes beneficios: Operaciones ejecutadas a los mejores precios posibles Posicionamiento inmediato y preciso de pedidos comerciales (con altas posibilidades de ejecución en los niveles deseados) Operaciones Controlar simultáneamente los controles automatizados en múltiples condiciones de mercado Reducir el riesgo de errores manuales en la colocación de las operaciones Volver a probar el algoritmo, sobre la base de datos históricos y en tiempo real disponibles Reducido La posibilidad de errores por parte de los comerciantes humanos basada en factores emocionales y psicológicos La mayor parte del día actual algo-trading es el comercio de alta frecuencia (HFT), que intenta capitalizar sobre la colocación de un gran número de pedidos a velocidades muy rápidas en múltiples mercados y múltiples decisiones Parámetros, basándose en instrucciones preprogramadas. Algo-trading se utiliza en muchas formas de comercio y las actividades de inversión, incluyendo: Inversores de mediano a largo plazo o empresas de compra de lado (fondos de pensiones , Fondos de inversión, compañías de seguros) que compran en acciones en grandes cantidades pero no quieren influir en los precios de las acciones con inversiones discretas de gran volumen. Los comerciantes a corto plazo y los participantes de la parte vendedora (fabricantes de mercado, especuladores y arbitrajes) se benefician de la ejecución automatizada del comercio, además de las ayudas para la creación de liquidez suficiente para los vendedores en el mercado. Los comerciantes sistemáticos (seguidores de tendencias, comerciantes de parejas, fondos de cobertura, etc.) encuentran mucho más eficiente programar sus reglas comerciales y dejar que el programa se comercialice automáticamente. El comercio algorítmico proporciona un enfoque más sistemático al comercio activo que los métodos basados ​​en la intuición o el instinto de los comerciantes humanos. Estrategias de negociación algorítmica Cualquier estrategia para el comercio algorítmico requiere una oportunidad identificada que sea rentable en términos de ganancias mejoradas o reducción de costos. Las siguientes son estrategias comunes de trading usadas en algo-trading: Las estrategias de trading algorítmicas más comunes siguen las tendencias en las medias móviles. Canales. Movimientos del nivel de precios e indicadores técnicos relacionados. Estas son las estrategias más sencillas y fáciles de implementar a través de la negociación algorítmica, ya que estas estrategias no implican la realización de predicciones o previsiones de precios. Las operaciones se inician en función de las tendencias deseadas. Que son fáciles y sencillos de implementar a través de algoritmos sin entrar en la complejidad del análisis predictivo. El ejemplo mencionado de 50 y 200 días de media móvil es una estrategia de seguimiento de la tendencia popular. Comprar una acción cotizada dual a un precio más bajo en un mercado y venderlo simultáneamente a un precio más alto en otro mercado ofrece el diferencial de precio como beneficio libre de riesgo O arbitraje. La misma operación puede repetirse para las acciones frente a los instrumentos de futuros, ya que existen diferencias de precios de vez en cuando. La implementación de un algoritmo para identificar tales diferenciales de precios y colocar los pedidos permite oportunidades rentables de manera eficiente. Los fondos de índice han definido períodos de reequilibrio para que sus participaciones estén a la par con sus respectivos índices de referencia. Esto crea oportunidades rentables para los comerciantes algorítmicos, que capitalizan las operaciones esperadas que ofrecen beneficios de 20-80 puntos básicos dependiendo de la cantidad de acciones en el fondo de índice, justo antes de reequilibrar el fondo de índice. Tales operaciones se inician a través de sistemas de negociación algorítmica para la ejecución oportuna y mejores precios. Una gran cantidad de modelos matemáticos probados, como la estrategia de negociación delta neutral, que permiten la negociación sobre la combinación de opciones y su valor subyacente. Donde las operaciones se colocan para compensar los deltas positivos y negativos para que el delta de la cartera se mantenga en cero. La estrategia de reversión media se basa en la idea de que los precios altos y bajos de un activo son un fenómeno temporal que vuelve a su valor medio periódicamente. Identificar y definir un rango de precios y un algoritmo de implementación basado en que permite que los oficios se colocan automáticamente cuando el precio del activo se rompe dentro y fuera de su rango definido. La estrategia de precio medio ponderado por volumen rompe un pedido grande y libera trozos más pequeños determinados dinámicamente de la orden al mercado usando perfiles de volumen históricos específicos de stock. El objetivo es ejecutar el pedido cerca del Precio Promedio ponderado por volumen (VWAP), beneficiándose así del precio medio. La estrategia de precios promedio ponderada en el tiempo rompe una gran orden y libera trozos más pequeños dinámicamente determinados de la orden al mercado usando intervalos de tiempo divididos de manera uniforme entre un inicio y un final. El objetivo es ejecutar la orden cerca del precio medio entre el inicio y el final, minimizando así el impacto en el mercado. Hasta que el pedido comercial se llene completamente, este algoritmo continúa enviando órdenes parciales, de acuerdo a la relación de participación definida y de acuerdo con el volumen negociado en los mercados. La estrategia de pasos relacionados envía órdenes a un porcentaje definido por el usuario de volúmenes de mercado y aumenta o disminuye esta tasa de participación cuando el precio de la acción alcanza los niveles definidos por el usuario. La estrategia de déficit de implementación tiene como objetivo minimizar el costo de ejecución de una orden negociando el mercado en tiempo real, ahorrando así el costo de la orden y beneficiándose del costo de oportunidad de la ejecución retrasada. La estrategia aumentará la tasa de participación objetivo cuando el precio de las acciones se mueve favorablemente y disminuirlo cuando el precio de las acciones se mueve adversamente. Hay algunas clases especiales de algoritmos que intentan identificar acontecimientos en el otro lado. Estos algoritmos de sniffing, utilizados, por ejemplo, por un fabricante de mercado de venta, tienen la inteligencia integrada para identificar la existencia de cualquier algoritmo en el lado de compra de una orden grande. Esta detección a través de algoritmos ayudará al creador de mercado a identificar grandes oportunidades de pedidos y le permitirá beneficiarse al llenar los pedidos a un precio más alto. Esto a veces se identifica como de alta tecnología front-running. Requisitos técnicos para el comercio algorítmico La implementación del algoritmo usando un programa de computadora es la última parte, batida con backtesting. El desafío es transformar la estrategia identificada en un proceso computarizado integrado que tiene acceso a una cuenta de negociación para realizar pedidos. Los siguientes son necesarios: Conocimiento de programación de computadoras para programar la estrategia de negociación requerida, programadores contratados o software de comercio pre-fabricado Conectividad de red y acceso a plataformas de negociación para colocar los pedidos Acceso a los feeds de mercado que serán monitoreados por el algoritmo para oportunidades de colocar Órdenes La capacidad y la infraestructura para backtest el sistema una vez construido, antes de que vaya vivo en los mercados reales Datos históricos disponibles para backtesting, dependiendo de la complejidad de las reglas implementadas en el algoritmo Aquí está un ejemplo completo: Royal Dutch Shell (RDS) Bolsa de Valores (AEX) y Bolsa de Valores de Londres (LSE). Permite crear un algoritmo para identificar oportunidades de arbitraje. Debido a la diferencia horaria de una hora, AEX se abre una hora antes que LSE, seguido de ambos intercambios que operan simultáneamente durante las próximas horas y luego se negocian sólo en LSE durante La última hora a medida que se cierra AEX ¿Podemos explorar la posibilidad de negociación de arbitraje en las acciones de Royal Dutch Shell que figuran en estos dos mercados en dos monedas diferentes Un programa informático que puede leer los precios actuales del mercado Precios de feeds de LSE y AEX Tipo de cambio de GBP-EUR Capacidad de colocación de pedidos que puede encaminar el pedido al intercambio correcto Capacidad de back-testing en precios históricos El programa de computadora debe realizar lo siguiente: Leer el feed de precio entrante de acciones RDS de ambos intercambios Usando los tipos de cambio disponibles . Convertir el precio de una moneda a otro Si existe una discrepancia de precio suficientemente grande (descontando los costos de corretaje) que conduce a una oportunidad rentable, entonces ponga la orden de compra en el precio más bajo de cambio y el orden de venta en un cambio más alto Si los pedidos se ejecutan como Sin embargo, la práctica del trading algorítmico no es tan simple de mantener y ejecutar. Recuerde, si usted puede colocar un comercio algo-generado, así que puede los otros participantes del mercado. En consecuencia, los precios fluctúan en milisegundos e incluso microsegundos. En el ejemplo anterior, ¿qué sucede si su compra de comercio se ejecuta, pero vender el comercio doesnt como los precios de venta cambian en el momento en que su orden llega al mercado Usted terminará sentado con una posición abierta. Haciendo su estrategia de arbitraje sin valor. Existen riesgos y desafíos adicionales: por ejemplo, los riesgos de falla del sistema, los errores de conectividad de la red, los intervalos de tiempo entre las órdenes comerciales y la ejecución y, lo que es más importante, los algoritmos imperfectos. Cuanto más complejo sea un algoritmo, el backtesting más riguroso es necesario antes de que se ponga en acción. El análisis cuantitativo de un desempeño de algoritmos juega un papel importante y debe ser examinado críticamente. Es emocionante ir a la automatización ayudada por computadoras con la noción de ganar dinero sin esfuerzo. Pero uno debe cerciorarse de que el sistema esté probado a fondo y los límites requeridos se fijen. Los comerciantes analíticos deben considerar el aprendizaje de la programación y los sistemas de construcción por su cuenta, para estar seguros de la aplicación de las estrategias adecuadas de manera infalible. Introducción a Algorithmic Trading con Heikin-Ashi Tendencia y la media de reversión de código de estrategias de comercialización en MATLAB y Python El petróleo crudo y el gas natural centrado en las estrategias de comercio explicado en este seminario en línea : Las estrategias de negociación cuantitativa pueden convertir cualquier visión de mercado realizable en una ejecución de comercio basada en la cantidad (matemáticas). Aunque difícil de emular, incluso la intuición de los comerciantes veteranos pueden ser reducidos en una estrategia puramente automatizada cuantitativa. Estos sistemas pueden basarse en cualquier combinación de análisis técnico, análisis fundamental, noticias / eventos y análisis de sentimientos para nombrar algunos. En términos de una ruptura real de la negociación algorítmica, echa un vistazo a Investopedias post. (Exención de responsabilidad: trabajo en Quantiacs) Una vez que esté listo para ganar dinero como un quant, puede unirse al último concurso de comercio automatizado de Quantiacs, con un total de 2.250.000 en inversiones disponibles: ¿Puede competir con los mejores quants 1.9k Vistas middot Ver Upvotes Middot No para la reproducción Más respuestas abajo. Preguntas relacionadas ¿Cuáles son algunos buenos algoritmos de negociación es el algoritmo de comercio todo sobre la ejecución del algoritmo ¿No hay identificación de la señal o estrategias comerciales complicadas ¿Cuál es la manera más rápida de crear estrategias de negociación algorítmica que el trabajo ¿Puedo construir un algoritmo de comercio basado en una estrategia de tendencia y utilizarlo Para comerciar forex por diez años por ejemplo ¿Cuáles son algunos ejemplos de algoritmos comerciales basados ​​en noticias En primer lugar, tenga cuidado de no confundir lo que convencionalmente consideramos para el comercio cuantitativo sistemático y el comercio algorítmico. En el lenguaje de la industria, el comercio algorítmico se refiere más a menudo al uso de algoritmos de ejecución que dividen un orden padre puntual en un conjunto de órdenes hijo extendido a lo largo de un intervalo e intentan alcanzar un punto de referencia, p. VWAP o minimización del deslizamiento. Correctamente, ahora es bastante común incorporar predicciones alfa en un algo de ejecución, e igualmente, se pueden emplear algoritmos genéricos (por ejemplo, Bellman-Ford) o algoritmos de ejecución en estrategias de negociación cuantitativas. Así que quizás ser específico sobre las diferencias entre los dos se limita a una búsqueda de empleo: Las responsabilidades son muy diferentes entre un equipo de negociación cuantitativa en un fondo de cobertura y una mesa de negociación algorítmica en un corredor de bolsa. Sin embargo, con el propósito de añadir claridad a mi respuesta, distinguiré los dos. Una simple estrategia de negociación algorítmica para entender es una estrategia ingenua de TWAP, que simplemente divide un orden padre grande en órdenes infantiles más pequeños y de igual tamaño distribuidos uniformemente durante el intervalo de tiempo, que es empíricamente (y teóricamente bajo ciertas suposiciones del proceso de formación de precios) Reducir el impacto en el mercado. En cuanto a las estrategias cuantitativas sistemáticas, en un horizonte más largo, muchas de éstas todavía están motivadas por modelos de factor o optimización de media-varianza. En el primero, una estrategia básica expresa los rendimientos futuros de un activo como una combinación lineal de factores históricos y ruido distribuido normalmente. Los factores comunes de equidad son los rendimientos del mercado, la capitalización bursátil, la relación libro-mercado y el impulso. Para los ingresos fijos, los factores de riesgo a largo plazo y por defecto se usan a menudo. Las cargas factoriales o coeficientes constantes de los factores se resuelven con mínimos cuadrados sobre alguna ventana de datos históricos - esta parte se realiza casi siempre por un ordenador, por lo tanto algorítmico. Como una nota secundaria: Este modelo también es anterior a la idea popular de una estrategia neutral de mercado, practicada por muchos fondos de cobertura, con la creencia en un fuerte comportamiento de revertir media en la serie temporal residual. En la forma general de la optimización de la media-varianza, se expresan los retornos esperados de su cartera, la varianza y las restricciones como funciones de los tamaños de las posiciones en cada valor en su cartera. Este es un problema arquetípico para el método de los multiplicadores de Lagrange, y hay bibliotecas numéricas maduras que lo resuelven muy rápido en una CPU. Esta es una formulación elegante y flexible: de hecho, puede expresar una variedad de restricciones interesantes en los pesos, ya sea sólo de larga duración, apalancamiento, gamma ponderada, o neutralidad beta, los costos de transacción cuadrática - estos casos especiales motivan sus implementaciones algorítmicas en Un fondo de acciones de largo plazo, fondo beta neutral, fondo 130/30, y así sucesivamente. Como otro ejemplo, las estrategias de arbitraje de volatilidad apuntan a capturar la diferencia entre la volatilidad implícita y la volatilidad prevista. En el nivel inferior, estas estrategias pueden emplear modelos de red y simulaciones Monte Carlo que tienen que ser resueltas numéricamente, limitando esencialmente la práctica de estas estrategias a cierto grado de implementación algorítmica. Los avances en el procesamiento de GPGPU y los marcos de computación paralela permiten interesantes actividades de comercio sistemático en este espacio. 2.6k Vistas middot Ver Upvotes middot No es para reproducción Algorithmic Trading es un proceso para comprar o vender una seguridad basada en un conjunto predefinido de reglas que son backtested en datos históricos. Estas reglas pueden basarse en Análisis Técnico, gráficos, indicadores o incluso fundamentos de Acciones. Por ejemplo, suponga que tiene un plan de negociación que compraría una acción en particular si cierra en rojo durante 5 días consecutivos. Puede formular esta regla en el sistema Algorithmic Trading e incluso automatizarla para que la orden de compra se coloque automáticamente cuando se cumpla su condición. Incluso puede definir su stoploss, objetivo y posicionamiento de tamaño en el algoritmo que haría su vida comercial más fácil. Echa un vistazo a la siguiente enlace que contiene un montón de estrategias de comercio algorítmico basado en Excel y Amibroker: También, consulte este artículo para desarrollar su propio sistema de comercio algorítmico desde cero: 324 Vistas middot Ver Upvotes middot No son reproducciones Aquí hay algunas estrategias clásicas. Estrategias de rotación. Largo unos cuantos mejores intérpretes y corto unos pocos peores artistas en una industria. Media móvil de crossovers. 133 Vistas middot No para ReproductionBeginner39s Guía para la negociación cuantitativa En este artículo voy a presentarle algunos de los conceptos básicos que acompañan a un sistema de comercio cuantitativo de extremo a extremo. Esperamos que este post sirva a dos audiencias. La primera será las personas que tratan de obtener un empleo en un fondo como un comerciante cuantitativo. El segundo será los individuos que desean intentar y fijar su propio negocio de negociación algorítmico al por menor. El comercio cuantitativo es un área extremadamente sofisticada de finanzas cuantitativas. Puede tomar una cantidad significativa de tiempo para obtener el conocimiento necesario para pasar una entrevista o construir sus propias estrategias comerciales. No sólo eso, sino que requiere una amplia experiencia en la programación, al menos en un lenguaje como MATLAB, R o Python. Sin embargo, a medida que aumenta la frecuencia de negociación de la estrategia, los aspectos tecnológicos se vuelven mucho más relevantes. Por lo tanto, estar familiarizado con C / C será de suma importancia. Un sistema de comercio cuantitativo consta de cuatro componentes principales: Identificación de la Estrategia - Encontrar una estrategia, explotar una ventaja y decidir sobre la frecuencia de negociación Estrategia Backtesting - Obtención de datos, análisis del desempeño de la estrategia y eliminación de sesgos Sistema de ejecución - Vinculación a un corretaje, automatización del comercio y minimización Costos de transacción Gestión de Riesgos - Asignación de capital óptima, tamaño de la apuesta / criterio de Kelly y la psicología comercial Bien comience por echar un vistazo a cómo identificar una estrategia comercial. Identificación de la estrategia Todos los procesos de negociación cuantitativa comienzan con un período inicial de investigación. Este proceso de investigación abarca la búsqueda de una estrategia, ver si la estrategia encaja en una cartera de otras estrategias que puede ejecutar, la obtención de cualquier información necesaria para probar la estrategia y tratar de optimizar la estrategia para mayores retornos y / o menor riesgo. Debe tener en cuenta sus propios requisitos de capital si ejecuta la estrategia como un comerciante minorista y cómo los costos de transacción afectarán a la estrategia. Contrariamente a la creencia popular es en realidad bastante sencillo encontrar estrategias rentables a través de diversas fuentes públicas. Los académicos publican periódicamente los resultados comerciales teóricos (aunque en su mayor parte son brutos de los costos de transacción). Los blogs cuantitativos de finanzas discutirán las estrategias en detalle. Las revistas comerciales describirán algunas de las estrategias empleadas por los fondos. Usted puede preguntarse por qué las personas y las empresas están dispuestos a discutir sus estrategias rentables, sobre todo cuando saben que otros apiñando el comercio puede detener la estrategia de trabajar a largo plazo. La razón radica en el hecho de que no suelen discutir los parámetros exactos y los métodos de ajuste que han llevado a cabo. Estas optimizaciones son la clave para convertir una estrategia relativamente mediocre en una muy rentable. De hecho, una de las mejores maneras de crear sus propias estrategias únicas es encontrar métodos similares y luego llevar a cabo su propio procedimiento de optimización. Aquí hay una pequeña lista de lugares para comenzar a buscar ideas de estrategia: Muchas de las estrategias que verá caerán en las categorías de reversión media y seguimiento de tendencias / impulso. Una estrategia de revertir la media es una estrategia que intenta explotar el hecho de que existe una media a largo plazo en una serie de precios (como el diferencial entre dos activos correlacionados) y que las desviaciones a corto plazo de esta media eventualmente revertirán. Una estrategia de impulso intenta explotar tanto la psicología de los inversionistas como la estructura de los grandes fondos al atraer la atención a una tendencia del mercado que puede recolectar ímpetu en una dirección y seguir la tendencia hasta que se invierte. Otro aspecto enormemente importante del comercio cuantitativo es la frecuencia de la estrategia comercial. Bajo frecuencia de negociación (LFT) generalmente se refiere a cualquier estrategia que tiene activos más largo que un día de negociación. Correspondientemente, el comercio de alta frecuencia (HFT) generalmente se refiere a una estrategia que mantiene activos intradía. El comercio de frecuencia ultra-alta (UHFT) se refiere a estrategias que tienen activos en el orden de segundos y milisegundos. Como un practicante de venta al por menor HFT y UHFT son ciertamente posibles, pero sólo con un conocimiento detallado de la pila de tecnología de negociación y la dinámica del libro de pedidos. No discutiremos estos aspectos en gran medida en este artículo introductorio. Una vez que se ha identificado una estrategia o un conjunto de estrategias, ahora es necesario probar la rentabilidad de los datos históricos. Ese es el dominio del backtesting. Estrategia Backtesting El objetivo del backtesting es proporcionar evidencia de que la estrategia identificada a través del proceso anterior es rentable cuando se aplica tanto a datos históricos como fuera de la muestra. Esto establece la expectativa de cómo la estrategia se llevará a cabo en el mundo real. Sin embargo, backtesting no es una garantía de éxito, por varias razones. Es quizás el área más sutil del comercio cuantitativo, ya que conlleva numerosos sesgos, que deben ser cuidadosamente considerados y eliminados en la medida de lo posible. Discutiremos los tipos comunes de sesgo, incluyendo el sesgo prospectivo. El sesgo de supervivencia y el sesgo de optimización (también conocido como sesgo de snooping de datos). Otras áreas de importancia dentro de backtesting incluyen la disponibilidad y limpieza de datos históricos, teniendo en cuenta los costos de transacción realistas y decidir sobre una sólida plataforma de backtesting. Discuta los costos de transacción más adelante en la sección de Sistemas de Ejecución a continuación. Una vez que se ha identificado una estrategia, es necesario obtener los datos históricos a través de los cuales realizar pruebas y, quizás, refinamiento. Hay un número significativo de proveedores de datos en todas las clases de activos. Sus costos generalmente varían con la calidad, profundidad y oportunidad de los datos. El punto de partida tradicional para comenzar comerciantes cuantitativamente (al menos en el nivel minorista) es utilizar el conjunto de datos gratuito de Yahoo Finance. No voy a pensar demasiado en los proveedores aquí, más bien me gustaría concentrarme en los problemas generales cuando se trata de conjuntos de datos históricos. Las principales preocupaciones con los datos históricos incluyen la precisión / limpieza, el sesgo de supervivencia y el ajuste para las acciones corporativas, tales como dividendos y divisiones de stock: Exactitud se refiere a la calidad general de los datos - si contiene errores. Los errores a veces pueden ser fáciles de identificar, como con un filtro de espiga. Que seleccionará picos incorrectos en datos de series de tiempo y corregirá para ellos. En otras ocasiones pueden ser muy difíciles de detectar. A menudo es necesario tener dos o más proveedores y, a continuación, comprobar todos sus datos entre sí. El sesgo de supervivencia es a menudo una característica de los conjuntos de datos gratuitos o baratos. Un conjunto de datos con sesgo de supervivencia significa que no contiene activos que ya no son comerciales. En el caso de las acciones, esto significa acciones enajenadas / quebradas. Este sesgo significa que cualquier estrategia de negociación de valores probada en un conjunto de datos de este tipo probablemente funcionará mejor que en el mundo real ya que los ganadores históricos ya han sido preseleccionados. Las acciones corporativas incluyen actividades logísticas llevadas a cabo por la empresa que suelen provocar un cambio de paso en el precio bruto, que no debe ser incluido en el cálculo de las devoluciones del precio. Los ajustes por dividendos y divisiones de acciones son los culpables comunes. En cada una de estas acciones es necesario realizar un proceso conocido como ajuste posterior. Uno debe tener mucho cuidado de no confundir una división de acciones con un verdadero ajuste de devoluciones. Muchos comerciantes han sido atrapados por una acción corporativa Para llevar a cabo un procedimiento de backtest es necesario utilizar una plataforma de software. Usted tiene la opción entre software de backtest dedicado, como Tradestation, una plataforma numérica como Excel o MATLAB o una implementación personalizada completa en un lenguaje de programación como Python o C. No voy a ocuparme demasiado de Tradestation (o similar), Excel o MATLAB, ya que creo en la creación de una pila de tecnología completa en la casa (por las razones descritas a continuación). Uno de los beneficios de hacerlo es que el software de backtest y el sistema de ejecución pueden estar estrechamente integrados, incluso con estrategias estadísticas muy avanzadas. Para las estrategias HFT en particular, es esencial utilizar una implementación personalizada. Cuando backtesting un sistema uno debe ser capaz de cuantificar qué tan bien está realizando. Las métricas estándar de la industria para las estrategias cuantitativas son la reducción máxima y la relación de Sharpe. La desgravación máxima caracteriza la mayor caída de pico a vaciado en la curva de patrimonio de la cuenta durante un período de tiempo particular (generalmente anual). Esto se cita más a menudo como un porcentaje. Las estrategias LFT tienden a tener mayores tiradas que las estrategias HFT, debido a una serie de factores estadísticos. Un backtest histórico demostrará el máximo drenaje pasado, que es una buena guía para el funcionamiento futuro de la reducción de la estrategia. La segunda medición es la relación de Sharpe, que se define heurísticamente como la media de los rendimientos excedentes divididos por la desviación estándar de esos retornos excedentes. Aquí, el exceso de retornos se refiere al retorno de la estrategia por encima de un punto de referencia predeterminado. Como el SP500 o un bono del Tesoro a tres meses. Tenga en cuenta que la rentabilidad anualizada no es una medida utilizada normalmente, ya que no tiene en cuenta la volatilidad de la estrategia (a diferencia del Índice de Sharpe). Una vez que una estrategia ha sido backtested y se considera que está libre de sesgos (en la medida de lo posible), con un buen Sharpe y reducir las reducciones, es el momento de construir un sistema de ejecución. Sistemas de Ejecución Un sistema de ejecución es el medio por el cual la lista de operaciones generadas por la estrategia son enviadas y ejecutadas por el corredor. A pesar de que la generación comercial puede ser semiautomática o totalmente automatizada, el mecanismo de ejecución puede ser manual, semi-manual (es decir, un clic) o totalmente automatizado. Para las estrategias LFT, las técnicas manuales y semi-manuales son comunes. Para las estrategias de HFT es necesario crear un mecanismo de ejecución totalmente automatizado, que a menudo estará estrechamente vinculado con el generador de comercio (debido a la interdependencia de la estrategia y la tecnología). Las consideraciones clave al crear un sistema de ejecución son la interfaz con la correduría. Minimización de los costos de transacción (incluyendo la comisión, el deslizamiento y la propagación) y la divergencia del desempeño del sistema en vivo con el desempeño backtestado. Hay muchas formas de interactuar con una correduría. Que van desde llamar a su agente en el teléfono a través de una totalmente automatizada de alto rendimiento de la interfaz de programación de aplicaciones (API). Idealmente, desea automatizar la ejecución de sus operaciones, tanto como sea posible. Esto le libera para concentrarse en la investigación adicional, así como le permiten ejecutar múltiples estrategias o incluso estrategias de mayor frecuencia (de hecho, HFT es esencialmente imposible sin la ejecución automatizada). El software común de backtesting descrito anteriormente, como MATLAB, Excel y Tradestation, son buenos para estrategias de menor frecuencia y más sencillas. Sin embargo, será necesario construir un sistema de ejecución interno escrito en un lenguaje de alto rendimiento como C para hacer cualquier HFT real. Como una anécdota, en el fondo que solía ser empleado en, tuvimos un bucle de 10 minutos de comercio donde se descarga nuevos datos de mercado cada 10 minutos y luego ejecutar operaciones basadas en esa información en el mismo marco de tiempo. Esto estaba utilizando una escritura optimizada de Python. Para cualquier cosa que se aproxima a los datos de frecuencia minuto o segunda, creo que C / C sería más ideal. En un fondo más grande no es a menudo el dominio del comerciante del quant para optimizar la ejecución. Sin embargo, en las tiendas más pequeñas o las empresas de HFT, los comerciantes son los ejecutores y por lo que un nivel de competencia mucho más amplio es a menudo deseable. Tener esto en mente si desea ser empleado de un fondo. Sus habilidades de programación serán tan importantes, si no más, que sus estadísticas y talentos de econometría Otra cuestión importante que cae bajo la bandera de la ejecución es la minimización de costos de transacción. Generalmente hay tres componentes a los costos de transacción: Las comisiones (o impuestos), que son los cargos cobrados por la correduría, el intercambio y el deslizamiento de la SEC (o un organismo regulador gubernamental similar), que es la diferencia entre lo que usted pensó que su pedido fuera Llenado en comparación con lo que realmente se llenó en el spread, que es la diferencia entre el precio de oferta / demanda de la seguridad que se negocian. Tenga en cuenta que el diferencial no es constante y depende de la liquidez actual (es decir, disponibilidad de órdenes de compra / venta) en el mercado. Los costos de transacción pueden hacer la diferencia entre una estrategia extremadamente rentable con una buena relación de Sharpe y una estrategia extremadamente poco rentable con una proporción terrible de Sharpe. Puede ser un desafío para predecir correctamente los costos de transacción de un backtest. Dependiendo de la frecuencia de la estrategia, necesitará tener acceso a los datos históricos de intercambio, los cuales incluirán datos de tick para los precios de oferta / solicitud. Equipos enteros de quants se dedican a la optimización de la ejecución en los fondos más grandes, por estas razones. Considere el escenario en el que un fondo necesita descargar una cantidad sustancial de operaciones (de las cuales las razones para hacerlo son muchas y variadas). Al depositar tantas acciones en el mercado, deprimirán rápidamente el precio y no podrán obtener una ejecución óptima. De ahí que los algoritmos que gotean pedidos de alimentación en el mercado existen, aunque entonces el fondo corre el riesgo de deslizamiento. Además, otras estrategias se aprovechan de estas necesidades y pueden explotar las ineficiencias. Este es el dominio del arbitraje de la estructura del fondo. El último problema importante para los sistemas de ejecución se refiere a la divergencia del desempeño de la estrategia con el rendimiento respaldado. Esto puede suceder por varias razones. Ya hemos discutido el sesgo prospectivo y el sesgo de optimización en profundidad, al considerar los backtests. Sin embargo, algunas estrategias no facilitan la comprobación de estos sesgos antes de la implementación. Esto ocurre en HFT más predominantemente. Puede haber bugs en el sistema de ejecución, así como la estrategia de comercio en sí que no se muestran en un backtest pero DO mostrar en el comercio en vivo. El mercado puede haber estado sujeto a un cambio de régimen posterior al despliegue de su estrategia. Los nuevos entornos regulatorios, el cambio del sentimiento de los inversionistas y los fenómenos macroeconómicos pueden conducir a divergencias en el comportamiento del mercado y, por lo tanto, en la rentabilidad de su estrategia. Gestión de Riesgos La última pieza del rompecabezas de negociación cuantitativa es el proceso de gestión de riesgos. El riesgo incluye todos los sesgos anteriores que hemos discutido. Incluye el riesgo de la tecnología, tales como servidores co-ubicados en el intercambio de repente el desarrollo de un mal funcionamiento del disco duro. Incluye riesgo de corretaje, como el corredor que se quiebra (no tan loco como parece, dado el reciente susto con MF Global). En resumen, cubre casi todo lo que podría interferir con la aplicación de comercio, de los cuales hay muchas fuentes. Los libros enteros se dedican a la gestión del riesgo para las estrategias cuantitativas así que no intentaré aclarar sobre todas las posibles fuentes de riesgo aquí. La gestión de riesgos también abarca lo que se conoce como asignación óptima de capital. Que es una rama de la teoría de la cartera. Este es el medio por el cual el capital se asigna a un conjunto de estrategias diferentes ya los oficios dentro de esas estrategias. Es un área compleja y se basa en algunas matemáticas no triviales. El estándar de la industria por el cual la asignación óptima del capital y el apalancamiento de las estrategias se relacionan se llama el criterio de Kelly. Puesto que esto es un artículo introductorio, no voy a detenerme en su cálculo. El criterio de Kelly hace algunas suposiciones acerca de la naturaleza estadística de los retornos, que a menudo no son verdad en los mercados financieros, por lo que los comerciantes son a menudo conservadores en lo que respecta a la implementación. Otro componente clave de la gestión de riesgos es el trato con el propio perfil psicológico. Hay muchos prejuicios cognitivos que pueden arrastrarse a la negociación. Aunque esto es sin duda menos problemático con el comercio algorítmico si la estrategia se deja solo Un sesgo común es el de la aversión a la pérdida donde una posición perdedora no se cerrará debido al dolor de tener que realizar una pérdida. Del mismo modo, los beneficios pueden ser tomados demasiado pronto porque el miedo de perder un beneficio ya ganado puede ser demasiado grande. Otro sesgo común se conoce como sesgo de recency. Esto se manifiesta cuando los comerciantes ponen demasiado énfasis en los acontecimientos recientes y no en el largo plazo. Luego, por supuesto, hay el clásico par de prejuicios emocionales - el miedo y la codicia. Éstos a menudo pueden conducir a sub o sobre-apalancamiento, lo que puede provocar la explosión (es decir, la partida de equidad de la cuenta a cero o peor) o beneficios reducidos. Resumen Como puede verse, el comercio cuantitativo es un área de finanzas cuantitativas extremadamente compleja, aunque muy interesante. Literalmente he rayado la superficie del tema en este artículo y ya está recibiendo bastante largo Se han escrito libros enteros y documentos sobre cuestiones que sólo he dado una oración o dos hacia. Por esa razón, antes de solicitar puestos de trabajo cuantitativos de comercio de fondos, es necesario llevar a cabo una cantidad significativa de estudio de base. Por lo menos necesitarás un amplio fondo en estadísticas y econometría, con mucha experiencia en la implementación, a través de un lenguaje de programación como MATLAB, Python o R. Para estrategias más sofisticadas en el extremo de mayor frecuencia, tu conjunto de habilidades es probable Para incluir la modificación del kernel de Linux, C / C, programación de ensamblaje y optimización de latencia de red. Si usted está interesado en tratar de crear sus propias estrategias de negociación algorítmica, mi primera sugerencia sería ser bueno en la programación. Mi preferencia es construir tanto de la captura de datos, la estrategia backtester y el sistema de ejecución por ti mismo como sea posible. Si su propio capital está en la línea, no dormir mejor por la noche sabiendo que ha probado completamente su sistema y son conscientes de sus peligros y problemas particulares Outsourcing esto a un proveedor, mientras que potencialmente ahorrar tiempo en el corto plazo, podría ser extremadamente Caro a largo plazo.

No comments:

Post a Comment