Definição e como funciona
Uma API de Dados de Mercado é uma interface de software que entrega informações relacionadas ao mercado (por exemplo, cotações, negociações ou candles) de uma ou mais fontes de dados para o seu aplicativo. Antes de avaliar fornecedores, separe a mecânica estável (como a API representa e transporta os dados) das condições variáveis (como o mercado subjacente se comporta, o que o provedor escolhe publicar e com que frequência as atualizações chegam). Isso ajuda a evitar confundir “a API entregou algo” com “os dados são adequados para o seu propósito”.
Fluxos típicos de requisição/resposta incluem autenticação, seleção de um endpoint, escolha de identificadores de instrumento, especificação de um intervalo de tempo ou assinatura, e recebimento de payloads que contêm campos e metadados (geralmente carimbos de data/hora e indicadores de status). Considere que o tratamento de tempo é importante: o mesmo evento pode aparecer em horários diferentes dependendo dos relógios do provedor, atrasos de ingestão e de como os carimbos de data/hora são definidos.
Checklist de evidências: o que verificar
Use um checklist de due diligence e colete evidências que você possa revisar por escrito.
- Cobertura de dados e identificadores
- Quais instrumentos estão disponíveis (e como são identificados)? Use a documentação do provedor para confirmar mapeamentos e formatos suportados.
- Todos os tipos de campo necessários para o seu caso de uso estão presentes (por exemplo, bid/ask, última negociação, volume, candles OHLC, séries ajustadas por eventos corporativos)?
- Definições de campos e normalização
- Confirme as definições precisas de cada campo. Por exemplo, defina o que “último” significa no feed do provedor e se os candles são baseados em negociações ou cotações.
- Verifique como o provedor normaliza símbolos, casas decimais, códigos de moeda e unidades.
- Carimbos de data/hora, fusos horários e ordenação
- Verifique o que cada carimbo de data/hora representa (hora do evento vs. hora do processamento) e o padrão de fuso horário usado.
- Teste a ordenação: as atualizações chegam fora de ordem durante carga, e como a API sinaliza isso?
- Frequência de atualização e modo de entrega
- Determine se a API é de polling (requisição/resposta) ou streaming (assinatura). Elas se comportam de forma diferente sob variabilidade de rede.
- Valide a cadência de atualização esperada e o comportamento prático sob carga, usando seus próprios logs de teste.
- Confiabilidade e modos de falha Pelo menos um modo de falha material deve ser identificado e testado:
- Dados ausentes ou lacunas durante interrupções.
- Repetições (retries) que duplicam eventos.
- Limitação de taxa (rate limiting) levando a cobertura parcial.
- Respostas de erro que não preservam o contexto da requisição.
- Limites de taxa, cotas e direcionadores de custo Mesmo sem alegações de preços em tempo real, você pode verificar os direcionadores de custo:
- Limites de taxa por chave e se há limites separados para diferentes endpoints.
- Tamanho do payload (número de instrumentos por requisição, granularidade dos candles) e impacto na largura de banda.
- Quaisquer restrições de licenciamento ou uso que limitem redistribuição ou armazenamento.
- Preenchimento retroativo histórico e reprodutibilidade Se você precisar de séries históricas, verifique se pode reproduzir o mesmo conjunto de dados posteriormente:
- O preenchimento retroativo (backfill) é suportado para um intervalo de tempo?
- Revisões de dados são possíveis e, se sim, como os valores atualizados são comunicados?
- Segurança e verificações de integridade de dados
- Confirme os requisitos do método de autenticação (sem presumir que sejam suficientes para o seu ambiente).
- Valide sinais de integridade nas respostas (por exemplo, somas de verificação ou flags de status, se fornecidos) e registre todos os metadados das respostas.
Limitações, riscos e a mentalidade de “sinal de alerta”
Problemas de qualidade de dados de mercado geralmente vêm de incompatibilidades entre o que você presume e o que o provedor publica.
- Inconsistência de tempo: Carimbos de data/hora históricos ou em tempo real podem não estar alinhados com os relógios do seu sistema, levando a sequenciamento ou janelamento incorretos.
- Interpretação do feed do provedor: A semântica dos campos pode diferir entre fontes (por exemplo, como os candles são construídos). Relações históricas podem falhar porque o comportamento futuro do mercado muda e porque o feed pode refletir diferentes tipos de evento ao longo do tempo.
- Risco operacional: Limites de taxa, jitter de rede ou interrupções de serviço podem criar lacunas, duplicatas ou atualizações atrasadas. Isso pode distorcer cálculos downstream se você tratar a chegada dos dados como equivalente à ocorrência do evento.
- Lacuna de verificação: A documentação por si só não é evidência para o seu ambiente. Execute testes controlados: compare saídas de amostra com uma referência independente quando possível e registre discrepâncias.
Um critério de clareza importante é que você consiga explicar seu pipeline de dados usando premissas explícitas: qual definição de tempo você usa, como lida com valores ausentes, como deduplica e o que faz quando os limites de taxa são acionados.
Verificação e próximas perguntas a fazer
Para avaliar de forma independente, escolha um pequeno conjunto de instrumentos representativos e janelas de tempo e, em seguida, verifique estes pontos em seus próprios logs:
- Os carimbos de data/hora atendem aos seus requisitos de sequenciamento? - Há lacunas observáveis, duplicatas ou rajadas de erros sob volume de requisições realista?