avatar of 发明者量化-小小梦 发明者量化-小小梦
Seguir Mensajes Privados
4
Seguir
1271
Seguidores

Lectura obligatoria cuantitativa: ¿Qué son exactamente los datos Tick? ¿Por qué es tan difícil encontrar datos comerciales confiables?

Creado el: 2016-11-02 19:33:56, Actualizado el: 2016-11-02 19:48:20
comments   0
hits   12005
  • ### Primero, ¿qué es Tic Data?

Tick Data no es un misterio en sí mismo, es que la bolsa te envía el orden de compra y venta de cada acción (o opciones de futuros) en el libro de órdenes activas (es decir, tu orden aún está en la bolsa, pero no ha sido tomada y intercambiada).

**举例说明:**
  某天的市场一开始的时候苹果股票的order book(委托挂单)清空(这里不进行auction period的探讨):
  1. 接着来了第一个卖家:1000@100 :
  这时候交易所会发给你一个message,告诉你是苹果股票有人想以100块钱卖出1000股,
  那么这个order就先挂在了order book上,成为卖一。

  卖:1000@100


  2. 第二个卖家来了,他想卖得更高: 1000@101:
  这时候交易所会发给你另一个message,告诉你是苹果股票有人卖的价格比你差,于是排序在更上面,卖二。

  卖:1000@101

  1000@100


  3. 刚才的第一个卖家后悔了,cancel了他的order:1000@100撤消了,那么交易所会有message告诉你,
  现在只剩一个1000@101(卖一)。但是你可能需要自己编程处理这种remove掉一个tick的情况。

  卖:1000@101


  4. 终于有买家来了... 500@90 , 这个价格是不会成交的,因为买家低于现在的最佳卖价:101,
  那么order book里面会继续存着这个order,同时会发送一个tick告诉市场上的其他人,有买单了:

  卖:1000@101

  买:500@90


  5. 继续,接着有一位买家以101块钱买入1000股,等于要把目前的bestoffer 1000@101给match - 撮合了,那么你是不会收到这个最新的bid: 101@1000 的,
  因为它会进入matching engine的瞬间跟对面的best offer 撮合了,tick table的一个规则: bid offer 永远不会cross,
  否则要么是数据商的bug,要么是交易所的bug。现在,你只会收到一个告诉你delete the best offer的message,那么tick table长这样:

  买:500@90

  Los datos de Tick son tan simples que el mercado repetirá el proceso. Pero lo más problemático es que:

    1. Muchas veces los datos de ticks se envían en UDP, imagínese que si el mercado de valores está muy activo, entonces el volumen de datos es muy grande, UDP puede haber casos de pérdida de paquetes, cómo tratar. He tenido una actualización de tick muy loca, pero también tengo que mantener la caché de actualización en micro segundos, tal vez deba ordenar (ver protocolo de la bolsa), y enviarla al front-end.
    1. ¿Cómo procesar más rápidamente los datos de ticks en tiempo real, ya que de lo contrario el volumen de datos sería tan grande que una vez que se retrasara, no podría seguir el ritmo de los ticks en tiempo real hasta que su programa se bloqueara?
    1. ¿Cómo evitar que ciertas situaciones especiales causen un error, ya que una vez que una de las ticks no es correcta, la siguiente tabla de ticks es incorrecta?

** También hay un problema de comprensión de ticks: los ticks de los diferentes mercados son diferentes, lo que se dice es que los mercados de valores de los países desarrollados se envían en tiempo real ((hay nuevos pedidos y dentro del nivel de envío de ticks, por ejemplo, la Bolsa de Tokio solo envía 8 niveles de ticks, entonces no puedes ver el tick completo, ya que puede haber más de 100 niveles, si hay mucha gente negociando)) ¿Cuántos milisegundos es el tick en el mercado interno? ¡Corta una instantánea! ¡El tick en el mercado interno es de 3 segundos, y luego te lo envían, tal vez el sistema de intercambio interno es muy antiguo, no puede seguir el desarrollo de la TI!

(Este artículo fue compilado por el comerciante cuantitativo WeChat)

  • ### Dos: ¿Qué es el dato de la instantánea y algunos detalles de los datos de la bolsa?

   Para los datos de tick de alta frecuencia en el extranjero, hay un proceso completo de datos de orden, por lo que puede usar estos datos de orden para restaurar los datos de instantánea.

Los dos mayores mercados de acciones y los cuatro mayores mercados de futuros son, en teoría, datos instantáneos. Precio de apertura Precio más alto Precio más bajo Precio más reciente Cantidad de transacciones Cantidad de transacciones El precio más bajo es el precio más bajo desde el inicio de la operación hasta el momento de la transacción, suponiendo que tenga los detalles de cada transacción, en realidad, este dato se puede calcular con max (min), por lo que los datos de ticks en el extranjero generalmente no tienen este campo. El intercambio en tiempo real es de tres tipos: instantáneos y transacciones y comisiones por escrito. Las instantáneas toman una fotografía del mercado cada 3 segundos (en las bolsas profundas y en las altas es de 5 segundos) y luego envían fotografías de la situación actual, máxima, mínima, volumen de transacciones, cantidad de transacciones, etc. Debido a que las fotografías son cada 3 segundos, no sabemos lo que sucedió en el mercado durante estos 3 segundos. La transacción por unidad es una transacción por átomo real. Sin embargo, esta información también se envía en un lote de 3 segundos, y no en tiempo real. Por ejemplo, una transacción que ocurre en 1.5 segundos, se envía en 3 segundos. En el nivel 2, solo hay los primeros 50 que compran y venden, no todos los listados. (Este artículo fue compilado por el comerciante cuantitativo WeChat)

Típicamente hay varias categorías de causas que causan diferencias en los datos.

  • 1. Cómo se registran los datos Por ejemplo, tomando el nivel 1 de datos de acciones, las bolsas publican un archivo dbf que registra los últimos datos de estado de todos los valores, el archivo dbf se actualiza automáticamente constantemente. Entonces, el proveedor de datos o la persona que registra los datos necesita hacer es leer este archivo cada cierto tiempo y luego poner todos los datos en la base de datos, pero debido a que la frecuencia con la que la bolsa actualiza los datos no es un valor único, para no perder los datos, la mejor manera es leer con mayor frecuencia que la frecuencia con la que se actualiza. Debido a esta regla, algunos de los valores no activos que se ven son menos que los activos, los futuros a largo plazo son menos que los más recientes, y las cadenas de tiempo no están sincronizadas.

  • 2. Problemas de mantenimiento Nadie puede garantizar que no se desconectará de la red. Si se produce una desconexión de la red, un error de la máquina, un error de programación, etc., se perderá la reproducción de los datos de la bolsa. De acuerdo con el mecanismo de datos descrito anteriormente, en realidad no hay ninguna relación lógica entre los datos de nivel 1 en los momentos T y T + 1, suponiendo que se haya perdido, no se puede encontrar en los datos en sí mismos, por lo que una gran cantidad de pérdidas son causadas por estas razones y no se pueden reparar.

  • 3. Errores en los datos causados por el programa Algunos errores más inusuales, como que el precio de ciertos tipos de acciones sea inusual, vacío, etc., pueden ser causados por errores en el programa de registro de datos. ¿Por qué ocurren? De todos modos, hay muchas razones por las que sabemos que ocurren. Por lo tanto, en principio, es difícil tener datos 100% fiables, la comprobación y limpieza de los datos es necesaria y tediosa, y el establecimiento de reglas depende también de la experiencia individual.