Saturday, October 29, 2016

Backtesting Exitosa De Algorítmica Estrategias De Trading - Parte Ii

Backtesting exitosa de Algorítmica Estrategias de Trading - Parte II Por Michael Salas-Moore el 09 de mayo 2013 En el primer artículo sobre backtesting éxito discutimos sesgos estadísticos y de comportamiento que afectan nuestro desempeño backtest. También hablamos sobre paquetes de software para backtesting, incluyendo Excel, MATLAB, Python, R y C ++. En este artículo vamos a examinar la forma de incorporar los costos de transacción, así como ciertas decisiones que se deben tomar cuando se crea un motor de backtest, tales como tipos de órdenes y la frecuencia de los datos. Costos de transacción Uno de los errores de principiante más prevalentes en la aplicación de modelos de negociación es la negligencia (o gravemente subestimación) los efectos de los costos de transacción en una estrategia. Aunque a menudo se supone que la transacción sólo los costes reflejan comisiones de los agentes, de hecho hay muchas otras maneras de que los costos pueden ser acumulados en un modelo de comercio. Los tres principales tipos de costos que deben ser considerados incluyen: Comisiones / cargos La forma más directa de los costes de transacción incurridos por una estrategia de negociación algorítmica son comisiones y honorarios. Todas las estrategias requieren alguna forma de acceso a un intercambio. ya sea directamente oa través de un intermediario de corretaje ("broker"). Estos servicios incurren en un costo adicional con cada operación, conocida como comisión. Brokers generalmente ofrecen muchos servicios, aunque los algoritmos cuantitativos en realidad sólo hacen uso de la infraestructura de intercambio. De ahí que las comisiones de corretaje son a menudo pequeños en base por el comercio. Los corredores también cobran honorarios. cuales son los costos incurridos para compensar y liquidar operaciones. Además de esto son los impuestos establecidos por los gobiernos regionales o nacionales. Por ejemplo, en el Reino Unido hay un impuesto de timbre a pagar sobre las transacciones bursátiles. Desde comisiones, tasas e impuestos son generalmente fijos, que son relativamente fáciles de implementar en un motor de backtest (ver más abajo). El deslizamiento / Latencia El deslizamiento es la diferencia en el precio alcanzado entre el momento en que un sistema de comercio decide realizar transacciones y el tiempo en que una transacción se lleva a cabo en realidad en un intercambio. El deslizamiento es un componente importante de los costos de transacción y puede hacer la diferencia entre una estrategia muy rentable y uno que funciona mal. El deslizamiento es una función de la volatilidad del activo subyacente, la latencia entre el sistema comercial y el intercambio y el tipo de estrategia que se lleva a cabo. Un instrumento con mayor volatilidad es más probable que sea el movimiento y lo que los precios entre la señal y la ejecución pueden diferir sustancialmente. La latencia se define como la diferencia de tiempo entre la generación de señal y el punto de ejecución. Estrategias de mayor frecuencia son más sensibles a los problemas de latencia y mejoras de milisegundos en esta latencia puede hacer toda la diferencia hacia la rentabilidad. El tipo de estrategia también es importante. Sistemas Momentum sufren más de deslizamiento en promedio, ya que están tratando de adquirir los instrumentos que ya se están moviendo en la dirección prevista. Lo contrario es cierto para las estrategias de reversión a la media ya que estas estrategias se están moviendo en una dirección opuesta a la operación. Repercusión en los mercados / Liquidez Repercusión en los mercados es el costo incurrido para los comerciantes debido a la dinámica de oferta / demanda de intercambio (y activos) a través del cual están tratando de comercio. Un gran pedido de un activo relativamente ilíquidos es probable que se mueva sustancialmente el mercado como tendrá el comercio de acceder a un gran componente de la oferta actual. Para contrarrestar esto, las grandes operaciones de bloque se dividen en "trozos" más pequeñas que se tramitan periódicamente, a medida que nueva liquidez llega a la central. En el extremo opuesto, para los instrumentos de alta liquidez, como el S & P 500 E-Mini contrato de futuros sobre índices, comercios de bajo volumen es poco probable que ajustar el "precio actual" en cualquier gran cantidad. Más activos no líquidos se caracterizan por una propagación mayor. que es la diferencia entre la oferta actual y pedir precios en el libro de órdenes límite. Esta expansión es un costo de transacción adicional asociado con cualquier comercio. Spread es un componente muy importante del coste total de la transacción - como lo demuestra el gran número de empresas del Reino Unido de amplio apuestas cuyas campañas de publicidad expresar la "opresión" de sus diferenciales de los instrumentos negociados en gran medida. Modelos de Costos de Transacción Para modelar con éxito los costos anteriores en un sistema de control a posteriori, se han introducido varios grados de modelos de transacciones complejas. Se extienden desde el modelado plano simple a través a una aproximación cuadrática no lineal. Aquí vamos a describir las ventajas y desventajas de cada modelo: / Transacción fija modelos de costos planas Los costos de transacción planas son la forma más simple de modelar los costos de transacción. Ellos asumen un costo fijo asociado a cada comercio. Así que mejor representan el concepto de comisiones de intermediación y comisiones. Ellos no son muy precisos para modelar un comportamiento más complejo, como el deslizamiento o impacto en el mercado. De hecho, no tienen en cuenta la volatilidad de los activos o liquidez en absoluto. Su principal beneficio es que son computacionalmente sencillo de implementar. Sin embargo, es probable que significativamente bajo o sobre los costos de transacción de estimación, dependiendo de la estrategia que se emplea. Así que rara vez se utilizan en la práctica. Lineal / lineal a trozos / cuadráticas modelos de costos de transacción Los modelos más avanzados de los costos de transacción comienzan con modelos lineales, continúe con pieza sabio modelos lineales y concluir con modelos cuadráticas. Se encuentran en un espectro de menos a más precisa, aunque con menor al mayor esfuerzo de implementación. Desde el deslizamiento y el impacto de mercado son inherentemente fenómenos no lineales funciones cuadráticas son los más precisos en el modelado de estas dinámicas. Modelos de costos de transacción cuadráticas son mucho más difíciles de implementar y puede tomar mucho más tiempo para calcular que para los modelos planos o lineales simples, pero a menudo se utilizan en la práctica. Comerciantes algorítmicos también intentan hacer uso de la transacción histórica real cuesta para sus estrategias como insumos para sus modelos de transacción actuales para hacerlos más precisos. Este es un asunto complicado y muchas veces raya en las zonas complicadas de la volatilidad de modelado, el deslizamiento y el impacto de mercado. Sin embargo, si la estrategia comercial está tramitando grandes volúmenes durante períodos cortos de tiempo, entonces estimaciones precisas de los costes de transacción incurridos pueden tener un efecto significativo en la línea de fondo la estrategia y por lo que vale la pena el esfuerzo de invertir en la investigación de estos modelos. Cuestiones de Implementación de Estrategia Backtest Mientras que los costos de transacción son un aspecto muy importante de implementaciones exitosas de backtesting, hay muchas otras cuestiones que pueden afectar al rendimiento de estrategia. Tipos Comercio Solicitar Una elección que un comerciante algorítmico debe hacer es cómo y cuándo hacer uso de los diferentes órdenes de cambio disponible. Esta elección generalmente cae en el ámbito del sistema de ejecución. pero vamos a considerar aquí, ya que puede afectar en gran medida el rendimiento estrategia backtest. Hay dos tipos de órdenes que se pueden llevar a cabo: las órdenes de mercado y órdenes limitadas. Una orden de mercado se ejecuta una operación de inmediato, independientemente de los precios disponibles. Por lo tanto grandes operaciones ejecutadas como órdenes de mercado suelen tener una mezcla de los precios, ya que cada orden de límite posterior en el lado opuesto está vacío. Las órdenes de mercado se consideran órdenes agresivos ya que es casi seguro que se llenarán, aunque con un costo potencialmente desconocida. Las órdenes limitadas proporcionan un mecanismo para la estrategia para determinar el peor precio al que el comercio se ejecutan, con la advertencia de que el comercio no puede conseguir llena parcial o totalmente. Las órdenes limitadas se consideran órdenes pasivos ya que a menudo están sin cubrir, pero cuando son un precio está garantizada. La colección de un intercambio individual de órdenes de límite se conoce como el libro de órdenes límite. que es esencialmente una cola de órdenes de compra y venta en ciertos tamaños y precios. Cuando backtesting, es esencial para modelar los efectos de utilizar correctamente las órdenes de mercado o limitar. Para que las estrategias de alta frecuencia, en particular, pruebas retrospectivas pueden superar significativamente el comercio directo si los efectos de impacto en el mercado y el libro de órdenes límite no se modelan con precisión. OHLC datos idiosincrasias Hay cuestiones particulares relacionadas con las estrategias de backtesting al hacer uso de los datos diarios en forma de abierta Alto-Bajo-Cerrar figuras (OHLC), especialmente para la renta variable. Tenga en cuenta que este es precisamente el tipo de datos determinado por Yahoo Finanzas, que es una fuente muy común de datos para los operadores algorítmicos por menor! Conjuntos de datos baratos o gratuitos, mientras que sufren de sesgo de supervivencia (que ya hemos discutido en la Parte I), son también a menudo precio compuesto alimenta de múltiples intercambios. Esto significa que los puntos extremos (es decir, la apertura, cierre, alta y baja) de los datos son muy susceptibles a los valores "periféricas", debido a los pequeños pedidos en los intercambios regionales. Además, estos valores también son a veces más probabilidades de ser-errors garrapatas que aún tienen que ser retirados del conjunto de datos. Esto significa que si su estrategia de negociación hace un amplio uso de cualquiera de los puntos OHLC específicamente, el rendimiento backtest puede diferir de actuación en vivo como órdenes pueden ser enviados a diferentes intercambios, dependiendo de su corredor y su acceso a la liquidez disponible. La única manera de resolver estos problemas es hacer uso de los datos de frecuencia más alta u obtener datos directamente de un intercambio individual en sí, en lugar de una alimentación de material compuesto más barato. En el próximo par de artículos vamos a considerar la medición del desempeño del backtest, así como un ejemplo real de un algoritmo de backtesting, con muchos de los efectos anteriores incluido. Michael Salas-Moore Mike es el fundador de QuantStart y ha estado involucrado en la industria de las finanzas cuantitativas en los últimos cinco años, principalmente como desarrollador quant y luego como consultora comerciante quant para los hedge funds.


No comments:

Post a Comment