Regreso al futuro: las pruebas de rendimiento del robot de comercio con la ayuda de los datos históricos





Regreso al futuro: las pruebas de rendimiento del robot de comercio con la ayuda de los datos históricos



Hemos examinado previamente la cuestión de la estrategia de negociación etapas de desarrollo obligatorios para el mercado de valores. Uno de los pasos más importantes es las estrategias de pruebas de rendimiento sobre los datos históricos - backtesting. Hoy vamos a hablar sobre eso exactamente.

¿Qué es lo En términos simples, backtesting es ejecutar las estrategias de negociación algoritmo utilizando datos financieros históricos. Algoritmo para encontrar estos u otros eventos de acciones ("Señales"), va a generar órdenes de compra o venta de instrumentos financieros - estas operaciones tendrán una ganancia o pérdida asociada.

El importe total de la ganancia o pérdida (pérdida, P & L, PnL y beneficios) durante un tiempo predeterminado en la estrategia de negociación será un indicador del éxito o el fracaso del algoritmo.

Hay varios objetivos buscados por los desarrolladores de software comercial que utilizan backtesting:

  • Filtro Simulación Optimización Verificación -. con el desarrollador de pruebas puede entender si no hubo errores en la descripción de la estrategia en el código
    Regreso al futuro: las pruebas de rendimiento del robot de comercio con la ayuda de los datos históricos

    Las ideas falsas sobre backtesting El reconocido experto en el comercio de acciones, desarrollador e intercambiar robots quant Michael Moore-Cascos, convencido de que los sistemas de intercambio desarrolladores novatos a menudo cometen errores cuando se crean debido a ciertas ideas erróneas. En particular, el experto приводит cuatro de estos conceptos erróneos:

    Esperando resultados igualmente buenos en el futuro A menudo, el desarrollador se enfrenta a la tentación de modificar los parámetros de la prueba para obtener resultados más concluyentes.

    Así, si en el caso de los datos históricos es posible cambiar nada y predecir con exactitud el resultado, el modo de "combate" el robot puede funcionar tan efectivamente. Es necesario medir el desempeño de las estrategias para diferentes valores de los parámetros de entrada.

    Uso de "futuros" de datos En algunos casos, los creadores de estrategias de negociación incluye los datos establecen suposiciones sobre el estado futuro del mercado. En caso de errores en el código de cálculo de forma incorrecta los parámetros óptimos para la estrategia o el uso incorrecto de los valores de los precios extremos (máximos y mínimos), la puesta en marcha de una estrategia de este tipo en el mercado de bienes puede fallar (esta es una de las razones más frecuentes por las estrategias de los datos históricos de trabajar con eficacia que en tiempo real).

    Apreciación errónea de su estabilidad psicológica Durante el desarrollador prueba ve el rendimiento final de su algoritmo. Si en algún momento en el tiempo (por ejemplo, un año o cinco años), el sistema hace un beneficio, es tentador hacer caso omiso de la subsidencia del depósito (de pérdidas), que se produjo en el transcurso de este camino hacia el éxito. Las personas piensan que pueden sobrevivir fácilmente la pérdida de 25% de su dinero (después de todo, entonces el robot debe recuperar).

    En la práctica no todos tienen suficiente resistencia para sobrevivir a estos momentos sin hacer acciones temerarias (y si el algoritmo permite la pérdida del 25% del dinero en la historia, y la realidad de esta situación es muy probable), que a menudo conducen a pérdidas aún mayores.

    ¿Qué parámetros deben ser considerados sistemas de comercio de los desarrolladores deben tener en cuenta muchos parámetros diferentes que pueden afectar a la viabilidad financiera último de una estrategia particular.

    Los costos de transacción Los comerciantes novatos a menudo prestan atención únicamente a la realización de su algoritmo directamente en el mercado, pero se olvide de tener en cuenta los costes asociados, que podrían compensar la totalidad del ingreso del trabajo. Los costos más evidentes en este caso será una comisión por operaciones con cargos intercambios y corredores (en ITinvest sobre algunos aranceles más o menos corresponden a la central).

    deslizamiento y demoras El deslizamiento es la diferencia de precio entre el uno en el que el comercio de robot destinado a llevar a cabo la transacción, y el de los que en realidad se llevó a cabo. Para la "entrega" en el sistema de comercio de cambio de kernel para toma tiempo. En el caso de los robots de alta velocidad de trading (HFT) en la cuenta de cada milisegundo, para los que el precio puede cambiar un poco, por lo que el trato menos favorable (desfavorable) o general.

    Algunos instrumentos financieros tienen alto de volatilidad (el precio cambia con frecuencia), por lo que cuando se trabaja con ellos te deben hacer concesiones para su posible deslizamiento.

    El impacto de la liquidez Cuando se trabaja con instrumentos relativamente ilíquidos comerciante debe tener en cuenta el posible impacto que las acciones de su sistema de comercio tendrán en el mercado. Si una determinada cuota de compra y venta no son muchas personas, el fin de comprar un número significativo de dichas acciones pueden cambiar en gran medida su precio. Para evitar esta situación, es necesario enseñar a un robot a romper el acuerdo sobre un gran número de pequeños pedidos que no pueden afectar fuertemente el mercado.

    Los tipos de órdenes de operaciones La operación de una estrategia de negociación se ve influida por el hecho de algunos de sus órdenes de operaciones desarrollador planea utilizar para las transacciones. Muy a menudo, los comerciantes han recurrido al mercado-pedidos y límite-pedidos.

    Solicitar mercado («Mercado") se realiza formó inmediatamente en el mercado en el momento en que el precio del instrumento financiero (acciones, futuros , opción etc.) Por lo tanto, si es necesario, una transacción importante, tales como la compra de un gran número de acciones, el orden del mercado dará lugar al hecho de que varias transacciones se realizan a precios diferentes - el mercado no puede ser el número correcto de personas dispuestas a vender acciones al mismo precio, entonces la compra de todas sus acciones, el robot se mueve al siguiente precio propuesto y así sucesivamente
    .
    Las órdenes de mercado son una herramienta agresiva - que siempre se ejecutan, mientras que el precio final de la transacción es desconocido para el comerciante.

    Órdenes de límite tipo permite al robot identificar el peor precio al que tiene sentido para llevar a cabo la transacción. Dicha orden puede permanecer sin cumplirse (si el mercado no estaba deseando comprar o vender a un precio determinado), o parcialmente lleno (no encuentra lo suficientemente dispuestos), por lo que se considera las transacciones más pasivos.

    Regreso al futuro: las pruebas de rendimiento del robot de comercio con la ayuda de los datos históricos

    Su ventaja es, sin duda, el hecho de que el precio de la transacción se determina con antelación. Lista de pedidos de límite de corriente de tipo presentadas se llama una cola de solicitudes (Cartera de pedidos) y se muestra en una ventana separada terminales comerciales.

    Al probar la estrategia, es importante prestar atención a su comportamiento al utilizar órdenes de mercado y límite. En el caso de todas las solicitudes de modelados de forma incorrecta el comercio estrategia puede mostrar resultados inferiores cuando se opera en tiempo real, en comparación con la que se ejecuta en los datos históricos.

    Herramientas para backtesting Hay un gran número de sistemas públicos que se pueden utilizar para probar estrategias financieras bastante:

Portal BASHNY.NET – ¡La vida es interesante!
2012-2026

Bashny.Net