A quantificação é essencial: o que são os dados do Tick e por que é tão difícil encontrar dados confiáveis de transações?

Autora:Sonhos pequenos, Criado: 2016-11-02 19:33:56, Atualizado: 2016-11-02 19:48:20

  • Primeiro, o que é o Tick Data?

O Tick Data não é um mistério em si, é uma troca que envia-lhe o status de cada ordem ativa de cada ação (ou opções de futuros) que está no livro de ordens (ou seja, o seu pedido ainda existe no mercado, mas não foi sintetizado).

**举例说明:**
  某天的市场一开始的时候苹果股票的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

O Tick Data é tão simples que o mercado repete o processo.Mas o que é mais complicado é:

- Muitas vezes, os dados do tick são enviados em UDP, imagine que no mercado de ações, se as transações forem muito ativas, o volume de dados será muito grande, o UDP irá existir em casos de perda de pacote, como lidar.

- 2. Como processar mais rapidamente os dados do tick em tempo real, caso contrário, o volume de dados é tão grande que, uma vez atrasado, você nunca mais acompanhará o ritmo do tick em tempo real até que seu programa fique pendurado.

- 3. Como evitar que algumas circunstâncias especiais causem um bug, uma vez que um tick não é válido, a tabela de ticks atrás dele é errada:)

** Também há um problema de compreensão do tick: os ticks de diferentes mercados também são diferentes, o que está sendo dito acima é que os mercados de ações dos países desenvolvidos são impulsionados em tempo real. O número de milissegundos de troca de prazo interno é cortar um instantâneo (snapshot), o tempo de troca é de 3 segundos e enviar para você, provavelmente o sistema de troca nacional é muito antigo e não acompanha o desenvolvimento da TI. Então, esses dados de ticks não são real-time, você só sabe o que é!

(Este artigo foi redigido pelo comerciante de quantidade WeChat id:quantcity)

  • Segundo, quais são os detalhes dos snapshots e dos dados das bolsas?

Para os dados de alta frequência de ticks de países estrangeiros, há um processo completo de dados de ordem, para que você possa usar esses dados de ordem para recuperar os dados de snapshot.

As duas maiores ações e os quatro maiores futuros do país são, em teoria, dados de snapshot. Por exemplo, os campos de dados típicos incluem: O que é isso? Preço de abertura Preço mais alto Preço mais baixo Preço mais recente Volumes de transações Volumes de transações O que é isso? O preço mais baixo aqui é o preço mais alto que ocorreu desde a abertura até agora, supondo que você tenha detalhes detalhados de cada transação, na verdade, esse dado pode ser deduzido com max (min), portanto, os dados de ticks estrangeiros geralmente não possuem esse campo. O que é isso? A troca em tempo real oferecida pelas bolsas de câmbio e pela central é feita em três tipos: instantânea e transação e encomenda por conta. O que é isso? O snapshot é uma foto do mercado a cada 3 segundos, e depois é enviada uma foto do mercado com o preço atual, o máximo, o mínimo, o volume de transações, o valor de transações. Como a foto é feita a cada 3 segundos, não sabemos o que acontece no mercado durante esses 3 segundos. O tempo de licitação diário contínuo é de duas horas e duas horas da manhã. O que é isso? A transação por transação é a transação por átomo real. Mas este dado também é enviado em um lote de 3 segundos, não em tempo real. Por exemplo, uma transação que ocorreu no segundo 1.5 só foi enviada no segundo 3. O que é isso? Os dados de listagem de comissões, no nível 2, contêm apenas os 50 melhores compradores e vendedores, não todos os listados. (Este artigo foi redigido pelo comerciante de quantidade WeChat id:quantcity)

**典型的有几类原因导致数据的差异**
- **1. 数据记录方式**

Por exemplo, se o nível 1 de um estoque é um banco de dados, o banco de dados publica um arquivo dbf que registra todos os dados de estado atualizados, e o banco de dados é constantemente atualizado automaticamente. Então, o provedor de dados ou o registrador de dados precisa ler o arquivo de vez em quando e colocar todos os dados no banco de dados, mas como o banco de dados não atualiza com uma frequência única, a melhor maneira de não perder os dados é que você leia com mais frequência do que ele atualiza. Como há essa regra, você pode ver que alguns títulos não negociados estão com menos dados do que os negociados, que os futuros de longo prazo estão com menos dados do que os de curto prazo, que o cronograma não está alinhado e assim por diante.

- **2. 运维问题**

Ninguém pode garantir que não haverá interrupções. Se ocorrerem interrupções, erros de máquina, erros de programação, etc., você perderá a transmissão dos dados da bolsa. De acordo com o mecanismo de dados mencionado anteriormente, na verdade, não há nenhuma relação lógica entre os momentos T e T + 1 dos dados do Nível 1.

- **3. 程序导致的数据错误**

Alguns erros mais anormais, como o aparecimento de preços anormais, vazios, etc. em certos tipos de ações, podem ser causados por erros no processo de registro de dados. Por que ocorrem? Portanto, em princípio, é difícil ter dados 100% confiáveis, o exame e a limpeza dos dados são necessários e também uma coisa chata, a criação de regras também depende da experiência pessoal.


Mais.