← Voltar aos artigos
March 19, 2026
5 min read

Impressão Digital de um Trader: Como Identificar um Market Maker pelo Comportamento no Order Book

Impressão Digital de um Trader: Como Identificar um Market Maker pelo Comportamento no Order Book
#fingerprint
#market maker
#order book
#Hawkes process
#clustering
#spoofing
#Hyperliquid
#market microstructure
📖
Part 6 of 6 · Collection
Order Book & Market Microstructure

Digital fingerprint of a trader Impressão digital comportamental de um algoritmo de trading: padrões únicos de timing, tamanho e posicionamento

Todo algoritmo deixa uma impressão digital única. Aprenda a lê-la — e você saberá quem está do outro lado da sua operação.


Introdução: O Order Book como Cena de Crime

Quando um investigador forense chega a uma cena de crime, ele procura impressões digitais, marcas de sapato, DNA — qualquer coisa que ligue um evento a um indivíduo específico. O order book é um lugar onde, a cada segundo, centenas de participantes deixam suas "impressões digitais": ordens de um tamanho específico, com uma frequência específica, a uma distância específica do preço, com um tempo de vida específico.

Nas exchanges centralizadas (CEX), essas impressões digitais são anônimas — você vê apenas o volume agregado em cada nível de preço. Mas mesmo a partir de dados agregados é possível aprender muito. E em exchanges DEX com order book on-chain — como a Hyperliquid — cada ordem está vinculada a um endereço de carteira específico, e as "impressões digitais" se tornam pessoais.

Neste artigo, vamos explorar como construir um sistema de "impressões digitais comportamentais" para identificar tipos de participantes e algoritmos específicos de market makers.


Parte 1: O Que É uma Impressão Digital Comportamental

Five dimensions of a digital fingerprint Gráfico radar: cinco dimensões-chave da impressão digital comportamental de um trader

Todo Algoritmo É um Conjunto de Regras

Um bot de market making é um programa que toma decisões com base em regras rígidas (ou aprendidas):

  • A que distância do mid-price as ordens devem ser colocadas? Cada MM tem seu próprio "perfil de spread."
  • Que tamanho? Lotes redondos (100, 500, 1000)? Números aleatórios? Tamanho fixo com ruído de ±5%?
  • Com que frequência as cotações devem ser atualizadas? A cada 50ms? Só quando o mid-price muda? Em um timer?
  • Como reagir a fills? Recotação instantânea? Pausa? Deslocamento do lado remanescente?
  • Como reagir à volatilidade? Alargamento do spread? Retirada de cotações? Redução de tamanho?
  • Como gerenciar o inventário? Skew de cotação ao acumular posição?

Cada conjunto de respostas a essas perguntas é uma "assinatura" única do algoritmo.

Cinco Dimensões da Impressão Digital

┌─────────────────────────────────────────────────────────────────┐
│              DIGITAL FINGERPRINT OF A TRADER                    │
│                                                                 │
│  1. TIMING       │  Inter-order intervals, reaction             │
│                  │  to events, circadian patterns               │
│──────────────────┼─────────────────────────────────────────────  │
│  2. SIZING       │  Order size distribution,                    │
│                  │  round-lot ratio, dispersion                  │
│──────────────────┼─────────────────────────────────────────────  │
│  3. PLACEMENT    │  Distance from mid-price,                    │
│                  │  bid/ask symmetry, level anchoring            │
│──────────────────┼─────────────────────────────────────────────  │
│  4. REACTION     │  Response to fills, cancels, price jumps,    │
│                  │  volatility changes                           │
│──────────────────┼─────────────────────────────────────────────  │
│  5. LIFECYCLE    │  Average order lifetime,                     │
│                  │  cancel conditions, modify vs cancel+new      │
│──────────────────┴─────────────────────────────────────────────  │
└─────────────────────────────────────────────────────────────────┘

Parte 2: Extração de Features

Hawkes process and timing patterns Processo Hawkes auto-excitante: clusters de eventos com decaimento exponencial

Timing: Quando e Com Que Frequência

O padrão de timing é o elemento mais difícil de forjar na impressão digital. Ele é determinado pela arquitetura do algoritmo, pela latência de rede, pelo hardware e até pelo fuso horário dos desenvolvedores.

Métricas-chave:

  • Inter-order interval (IOI) — o tempo entre ordens consecutivas do mesmo participante. Para um bot HFT, IOI = 50–500 microssegundos. Para um trader manual — segundos a minutos.

  • Tempo de reação a um trade — o atraso entre o fill de uma ordem e a próxima ação. Reflete a arquitetura interna do bot.

  • Padrão circadiano — o perfil de atividade diário. Um MM institucional opera durante sessões de negociação. Um bot cripto roda 24/7.

  • Auto-excitação (intensidade de Hawkes) — o quanto uma ordem atual "dispara" a próxima. Market makers exibem forte auto-excitação.

Para modelar padrões de timing, os processos de Hawkes — processos pontuais auto-excitantes — são ideais. Os parâmetros do processo de Hawkes (intensidade base μ, coeficiente de excitação α, taxa de decaimento β) formam uma "impressão digital cronológica" compacta de um participante.

Sizing: Quanto e Como

  • Distribuição de tamanhos — a distribuição dos tamanhos das ordens. MMs profissionais costumam usar lotes redondos com ruído: 100 ± 5, 500 ± 10.
  • Correlação tamanho-profundidade — o tamanho da ordem depende da profundidade atual do book?
  • Assimetria de tamanho bid-ask — a razão entre os tamanhos no bid e no ask. O padrão de skew é a "caligrafia" da gestão de inventário.
  • Autocorrelação de tamanho — repetibilidade dos tamanhos ao longo do tempo.

Placement: Onde no Book

  • Offset de spread — distância do mid-price em ticks ou bps
  • Preferência de nível — ancoragem a níveis específicos (números redondos?)
  • Simetria de cotação — quão simétricas são as ordens de bid e ask
  • Footprint multi-nível — quantos níveis são cotados simultaneamente

Reaction: Como Reage a Eventos

  • Comportamento pós-fill — o que acontece depois que uma ordem é preenchida
  • Resposta à volatilidade — como o comportamento muda quando a volatilidade aumenta
  • Quote-to-trade ratio (QTR) — a razão entre atualizações de ordens e fills
  • Resposta à seleção adversa — reação ao movimento de preço contrário à posição

Lifecycle: O Ciclo de Vida da Ordem

  • Distribuição do tempo de vida da ordem — tempo médio de vida da ordem
  • Modify vs Cancel+New — atualiza via modify ou via cancel+new?
  • Clustering de cancelamentos — cancela uma por uma ou em lotes?

Parte 3: Classificação de Participantes

Market participant classification Taxonomia de participantes de mercado: market makers, HFT, oportunistas, fundamentalistas e traders de ruído

Taxonomia dos Participantes de Mercado

Com base em features comportamentais, os participantes podem ser classificados em categorias estáveis. Pesquisa da CFTC (Kirilenko et al., 2011):

1. Market Makers

  • Cotações dos dois lados (bid + ask) por mais de 80% do tempo
  • Posição líquida zero ou próxima de zero ao final do dia
  • QTR alto (>100:1)
  • Reagem à volatilidade alargando os spreads

2. High-Frequency Traders (HFT)

  • Taxa de mensagens ultra-alta (>1000 eventos/minuto)
  • Período de holding muito curto (segundos)
  • Tempos de reação em sub-milissegundos

3. Traders Oportunistas

  • Frequência moderada
  • Reagem a condições específicas de mercado
  • Timing irregular, agrupado em torno de eventos

4. Traders Fundamentalistas

  • Acumulam posições de longo prazo
  • Baixa frequência, ordens de grande tamanho
  • Algoritmos TWAP/VWAP para execução

5. Traders de Ruído (Varejo)

  • Tamanhos pequenos, timing irregular
  • Reativos: operam depois que o preço se move, não antes
  • Ordens a mercado no pico de volatilidade

Métodos de Classificação

Aprendizado Supervisionado: Para dados de DEX (Hyperliquid), um conjunto de treinamento pode ser montado a partir de endereços de market makers conhecidos. Modelos RNN atingem acurácia >85%.

Aprendizado Não Supervisionado:

  • Spectral Clustering (Cont et al., 2023) — clustering pela matriz de similaridade do padrão de order flow
  • FIDR-SCAN (2024) — interpolação de features + redução de dimensionalidade + clustering baseado em densidade
  • Inverse Reinforcement Learning (CFTC, 2014) — recuperação da função de recompensa de cada trader

Parte 4: Identificando Market Makers Específicos

Da Classificação à Identificação

A classificação responde à pergunta "Isto é um market maker?" A identificação responde à pergunta "Isto é aquele market maker específico?"

Construindo o Vetor de Impressão Digital

A partir das cinco dimensões, extraímos um vetor numérico — o embedding do participante:

Fingerprint Vector (example):
┌──────────────────────────────────────────────────────────┐
  Timing:                                                 
    hawkes_mu:           0.3       (base intensity)       
    hawkes_alpha:        0.7       (self-excitation)      
    hawkes_beta:         1.2       (decay rate)           
    median_IOI_ms:       240       (ms between orders)    
    circadian_peak_utc:  14.5      (peak activity)        
                                                          
  Sizing:                                                 
    median_size:         500                              
    size_cv:             0.08      (coeff. of variation)  
    round_lot_ratio:     0.92      (round lot share)      
    bid_ask_size_ratio:  0.97                             
                                                          
  Placement:                                              
    median_offset_bps:   3.2       (from mid-price)       
    quoting_symmetry:    0.94      (0=asymmetric,1=symm)  
    num_levels:          5         (quoted levels)         
                                                          
  Reaction:                                               
    post_fill_delay_ms:  12                               
    vol_spread_elasticity: 2.1     (spread/sigma)         
    qtr:                 850       (quote-to-trade ratio)  
                                                          
  Lifecycle:                                              
    median_lifetime_ms:  1200                             
    modify_ratio:        0.85      (modify vs cancel+new) 
    batch_cancel_rate:   0.60      (batch cancel share)   
└──────────────────────────────────────────────────────────┘

Clustering de Endereços: "Um Operador — N Carteiras"

Wallet address clustering Grafo de cluster de endereços: um operador — múltiplas carteiras, agrupadas por similaridade comportamental

Na Hyperliquid, um único market maker pode operar através de dezenas ou centenas de endereços.

Algoritmo de clustering:

  1. Para cada endereço ativo — construir um vetor de impressão digital em uma janela de N horas
  2. Clustering hierárquico — mesclar endereços com distância abaixo de um limiar
  3. Validação temporal — verificar a estabilidade do cluster ao longo do tempo
  4. Validação cross-pair — se dois endereços negociam pares diferentes mas as impressões digitais coincidem — sinal forte
Cluster #7 (suspected: Wintermute)
├── 0x3a1f...2e8c  — BTC/USDT, 45% of activity
├── 0x7b2d...9f1a  — ETH/USDT, 30% of activity
├── 0xc4e8...5d3b  — SOL/USDT, 15% of activity
└── 0x91fa...0c7e  — ARB/USDT, 10% of activity

Common pattern: symmetric quoting, 5 levels, median_IOI=240ms,
median_size=500±8%, batch cancel 60%, presence 95%

Parte 5: Cenários de Manipulação e Suas Impressões Digitais

Spoofing: A Impressão Digital de um Muro Falso

Spoofer fingerprint:
  cancel_rate:         > 95%
  lifetime:            < 2 seconds
  placement:           1-3 ticks from mid-price
  size:                anomalously large (>10x median depth)
  reaction_to_approach: cancel when price approaches
  cyclicity:           repeats >3 times / minute

Squeeze: A Armadilha de Liquidez

Quatro fases: acumulação silenciosa, remoção de liquidez, cascata de stop-orders, realização de lucro. A detecção em tempo real é possível identificando a transição da Fase 1 para a Fase 2.

Iceberg / Acumulação Oculta: A Construção Silenciosa

Hidden accumulation fingerprint:
  visible_size:        small (10-50 lots)
  refill_speed:        instant (< 100ms after fill)
  refill_count:        > 20 at a single level per session
  price_reaction:      price does not move despite volume

Wash Trading: Autonegociação

Dois ou mais endereços do mesmo cluster ficam simultaneamente no bid e no ask e executam um contra o outro. Objetivo: inflar o volume.


Parte 6: Implementação na Marketmaker.cc

Arquitetura do Sistema de Impressão Digital Comportamental

┌─────────────────────────────────────────────────────────────┐
│  DATA LAYER                                                 │
│  ├── Hyperliquid Node  → L3 order-by-order + wallet IDs    │
│  ├── CEX WebSocket     → L2 depth + trades                 │
│  └── Historical Store  → QuestDB / Parquet                 │
├─────────────────────────────────────────────────────────────┤
│  FEATURE EXTRACTION                                         │
│  ├── Timing Engine     → Hawkes fit, IOI distribution       │
│  ├── Sizing Engine     → Size stats, round-lot detection    │
│  ├── Placement Engine  → Offset calc, symmetry analysis     │
│  ├── Reaction Engine   → Post-fill tracker, vol response    │
│  └── Lifecycle Engine  → Lifetime stats, cancel patterns    │
├─────────────────────────────────────────────────────────────┤
│  CLASSIFICATION / IDENTIFICATION                            │
│  ├── Online Classifier → Real-time participant tagging      │
│  ├── Cluster Engine    → Address clustering (DEX)           │
│  ├── Similarity Search → Fingerprint matching               │
│  └── Anomaly Detector  → Spoof / squeeze / wash detection   │
├─────────────────────────────────────────────────────────────┤
│  VISUALIZATION                                              │
│  ├── Queue Position + Participant Labels                    │
│  ├── Cluster Graph (known MM clusters)                      │
│  ├── Alert System (manipulation detected)                   │
│  └── Historical Fingerprint Browser                         │
└─────────────────────────────────────────────────────────────┘

O Que o Trader Vê no Terminal

╔═══════════════════════════════════════════════════════════════════════════╗
  10000 USDT    Total: 3,200                                           
║──────────────┼───────────────────────────────────────────────────────── 
  Breakdown:    🤖 MM (cluster#7, ~Wintermute): 800 lots [5 levels]   
                🤖 MM (cluster#12, unknown):     400 lots [3 levels]   
                ⚠️ Suspicious (spoof score 87):  500 lots [lifetime<2s]
                🟡 @pro_scalper:                 100 lots              
                🔴 MINE:                         10 lots               
                👤 Retail / unclassified:         1,390 lots           
║──────────────┼───────────────────────────────────────────────────────── 
  Queue ahead   Real: ~1,200 (excl. spoof)       Nominal: 1,800       
  "Clean" ETA   6.7s (vs nominal 10s)                                  
  Wall type:    MM-backed (65% MM volume)  likely to hold             
╚═══════════════════════════════════════════════════════════════════════════╝

Alertas

  • 🔴 Spoof detectado no seu nível de preço — um bloco suspeito foi identificado na frente da sua ordem
  • 🟡 Retirada de MM — um market maker retirou suas cotações, a liquidez caiu
  • 🟡 Setup de squeeze detectado — um cluster de endereços está acumulando posição e removendo liquidez
  • 🟢 Muro reforçado — volume de um MM conhecido foi adicionado no seu nível

Parte 7: Ética e Limitações

O Que É e Não É Aceitável

Aceitável e incentivado:

  • Classificar participantes anônimos por tipo para suas próprias decisões de trading
  • Detectar manipulação para se proteger contra seleção adversa
  • Fazer clustering de endereços em DEX para entender a estrutura do mercado

Não aceitável:

  • Desanonimizar indivíduos por endereços de carteira
  • Vender padrões identificados sem consentimento
  • Usar dados para manipulação de mercado

Limitações

  1. Algoritmos adaptativos — MMs avançados adicionam aleatorização
  2. Regime switching — um único bot pode mudar de comportamento dependendo do regime de mercado
  3. Falsos positivos — dois participantes podem coincidentemente compartilhar parâmetros semelhantes
  4. Opacidade da CEX — dados L3 não estão disponíveis em CEX

Conclusão: De Ler o Book a Ler os Participantes

Um trader tradicional vê: 2.400 lotes no nível 10000. Um trader avançado vê: "minha ordem está na posição 1.800 da fila, ETA — 15 segundos." Mas um trader com fingerprinting comportamental vê:

"800 desses 2.400 são de um market maker (provavelmente Wintermute), o muro é sólido. 500 são suspeitos de spoof, a fila real à minha frente é de 1.300, não 1.800. ETA ajustado — 10 segundos. O market maker não está retirando cotações — então nenhum movimento grande é esperado por enquanto."

Cada nova camada de informação é uma vantagem. E, ao contrário da velocidade, a qualidade da interpretação do order book é um domínio no qual um trader de varejo pode competir.

Na Marketmaker.cc, estamos construindo esse sistema — da posição na fila ao fingerprinting comportamental — como um produto unificado.


Artigo anterior da série: "Fila Dentro do Muro: Analisando a Posição da Ordem na Densidade do Order Book"


Referências e Leitura Adicional

blog.disclaimer

Authors

Eugen Soloviov
Eugen Soloviov

Trading-systems engineer

Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.

Newsletter

Fique à frente do mercado

Assine nossa newsletter para insights exclusivos sobre trading com IA, análises de mercado e atualizações da plataforma.

Respeitamos sua privacidade. Cancele a inscrição a qualquer momento.