8 votos

Lo de la latencia debo usar para backtesting una alta frecuencia de estrategia?

Estamos desarrollando una HFT estrategia altamente líquido de futuros negociados en Eurex. Estamos planeando colocate nuestro servidor y el uso de alimentación de datos de QuantHouse y ejecución de la API de ObjectTrading. Backtesting se realiza en tick data comprado de QuantHouse, donde las marcas de tiempo tiene una resolución de milisegundos (por CIERTO, los oficios y las comillas se ordenan por separado, así que si los comercios y de las comillas tienen una misma marca de tiempo, no están ordenados). Mi pregunta es acerca de la latencia se debe utilizar para backtesting. Yo defino la latencia como: feed de datos de latencia + tiempo de proceso interno (varios microsegundos) + ejecución de latencia. Podemos simular esto mediante la adición de X ms para la alimentación de tiempo (T) de la garrapata que desencadenó el comercio, entonces, si el último tick con el tiempo de dosificación no más tarde de T + X fue una cita que el uso de su libro para la ejecución, de lo contrario (si el último tick con el tiempo de dosificación no más tarde de T + X fue un comercio) esperamos para una entrada de la cita y su libro es utilizado para la ejecución. Así que mis preguntas son:

  1. Es nuestro modelo de ejecución razonable?
  2. Lo que X debe ser utilizado para nuestra instalación?
  3. Podría usted sugerir otros (no muy caro) el programa de instalación con el fin de reducir cualquier tipo de latencia?

5voto

John Rennie Puntos 6821

Primero el tipo de estrategia que se va a implementar es de importancia:

Si es de escala (arbitrar propagación cruces: comprar en uno pida a uno de un lugar que es más barato que una oferta en otro lugar), el tipo de enfoque que el plan de uso racional. Sin embargo, se debe tomar en cuenta:

  • el hecho de que la latencia es de alguna manera no determinista, el uso de un proceso de Poisson para la duración entre dos mensajes,
  • la latencia no es la misma en cualquier momento durante el día, más o menos proporcional a la actividad (en forma de U en los estados unidos, con un aumento cuando NY está abierto en Europa).

Si es un stat arb basado en la estrategia, su PnL no debe ser demasiado sensible tonthe orden de los mensajes. En lugar de la adición de latencia, usted debe hacer el backtest con perturbaciones locales en el orden de los mensajes (por ejemplo, con un radio de 1 a 10 mensajes).

1voto

Frank Bannister Puntos 1147

Yo diría que el promedio de latencia para la mayoría de los proveedores de datos ( nivel 1 CTA de alimentación ) está entre 100ms-450ms.

Esto también varía cuando hay picos en el volumen de comercio, por ejemplo: Mercado de Abrir/Cerrar.

1voto

M D Puntos 21

Para hacer esto correctamente, usted debe:

  • datos históricos de flujos por instrumento y
  • backtest es un motor de sincronización de aquellos en uno GlobalMarket objeto (presupuesto instantáneo de la representación después de cada tick). Se produce la sincronización mediante la lectura de fecha y hora de cada tick y, a continuación, empujando en su GlobalMarket

Si usted tiene esta configuración, a continuación, la latencia puede ser añadido como un cambio de marca de tiempo de retraso de las garrapatas antes de la sincronización. Cambio pueden ser fijos o aleatorios siguiendo algunos de distribución de latencia. Incluso colocación de comercio de la caja de azar latencia siguiente distribución muy estrecha.

Sin embargo, tenga en cuenta lo siguiente.

  • Los datos que se almacenan podría haber físico (real) de latencia ya. Por lo tanto, no agregar la latencia de aquellos. O al menos, resta esperar la latencia (que es aleatorio) y agregar solo la quería uno
  • Tiene sentido agregar latencia sólo si utiliza los datos almacenados por los intercambios a partir de su motor de comparación. Pero incluso entonces, hay una posibilidad de que el intercambio de los relojes de (utilizados para las marcas de tiempo) no están alineados, probablemente por valor fijo. Se debe utilizar algún reloj atómico sincronizados entre ellos para hacer el partido perfecto de su hora.

No podría ser más advertencias en ella. El de arriba te podría ayudar a identificar a ellos.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X