Inteligência aplicada ao futebol e aos mercados

Entrar

Contexto do curso

Vibe Coding para Construir Ferramentas de Research de Futebol

Modelo de Elo Rating

Estruturar o uso de assistencia de IA para prototipar, validar e manter pipelines de pesquisa de futebol, garantindo rastreabilidade de codigo, isolamento de execucao, precisao estatistica e disciplina de backtesting.

Extracao de Dados e Modelagem de Mercado Intermediário 15 min

Aula 9

Modelo de Elo Rating

Formula mental

Pontuacao esperada do Elo

E_A = 1 / (1 + 10^((R_B - R_A)/400))

Use esta formula como uma lente de leitura, nao como uma verdade mecanica. O objetivo e tornar a tese auditavel antes da decisao.

Exemplo de mercado

Aplicacao do Modelo de Elo Rating

Contexto

Escolha um projeto real e separe evidencias observaveis de narrativa publica.

Leitura de preço

Compare a leitura contextual com odds, liquidez e timing do movimento de mercado.

Hipótese

Escreva uma hipotese que admita intervalo de incerteza e criterio de invalidacao.

Risco

Fator K fixo em ligas desbalanceadas, ratings desatualizados gerando vies.

Modo de falha

Fator K fixo em ligas desbalanceadas, ratings desatualizados gerando vies.

Este erro reduz a qualidade da decisao porque troca processo verificavel por interpretacao conveniente.

Checklist de decisão

Checklist do Modelo de Elo Rating

  • Fator K ajustado por liga
  • Convergencia validada apos N rodadas
  • Integracao com lambda do Poisson testada
  • Log de atualizacoes persistido

Diagrama

Ciclo de atualizacao Elo

Rating pre-jogo
Expectativa de resultado
Resultado observado
Atualizacao de rating
Rating pos-jogo
Integracao com lambda Poisson
Rating pre-jogo -> Expectativa de resultado
Expectativa de resultado -> Resultado observado
Resultado observado -> Atualizacao de rating
Atualizacao de rating -> Rating pos-jogo
Rating pos-jogo -> Integracao com lambda Poisson
flowchart LR
  A["Rating pre-jogo"] --> B["Expectativa de resultado"]
  B --> C["Resultado observado"]
  C --> D["Atualizacao de rating"]
  D --> E["Rating pos-jogo"]
  E --> F["Integracao com lambda Poisson"]

Modelo de Elo Rating

Ideia central

Quantificar força relativa entre equipes através de um sistema de atualização iterativa que recalibra expectativas com base em resultados observados, permitindo a geração de probabilidades estruturais e a integração controlada com modelos de distribuição de gols.

Modelo mental

Reputação como preço dinâmico. Cada time carrega um rating que funciona como um marcador de força implícita, não absoluto. O valor se move conforme o desempenho real diverge da expectativa matemática. O sistema opera como um mercado de atualização de crença: vitórias contra adversários fortes geram ganhos maiores, empates contra times superiores preservam rating, e derrotas inesperadas impõem correções imediatas. A força é sempre relacional, sensível ao contexto e sujeita a ruído amostral.

O que e

O Elo Rating é um sistema de pontuação numérica originalmente desenvolvido para xadrez, adaptado ao futebol para medir força relativa de forma contínua e auditável. Diferente de tabelas de classificação estáticas ou métricas acumuladas por temporada, o Elo não depende de pontos fixos ou saldo de gols isolados. Ele calcula uma expectativa de resultado com base na diferença de rating entre duas equipes e atualiza os valores pós-jogo usando um fator de correção (K-factor). O output é um ranking vivo que pode ser mapeado para probabilidades implícitas, servindo como prior em modelos de previsão ou como filtro de ruído de mercado.

Por que importa

Mercados de preço refletem força relativa implícita, mas frequentemente carregam ineficiências de curto prazo, viés de narrativa e ajustes tardios a mudanças estruturais. O Elo oferece uma baseline matemática para calibrar expectativas antes da interação com odds. Quando integrado a modelos de Poisson, o rating atua como ponderador de lambda, ajustando a taxa esperada de gols conforme a força do adversário e o contexto da partida. Para pesquisa, o sistema fornece rastreabilidade de atualização, permite backtesting temporal e expõe onde a probabilidade de mercado diverge da expectativa estrutural. Não substitui análise contextual; estabiliza a fundação probabilística.

Mecanismo

O núcleo do sistema opera em três etapas: cálculo de expectativa, definição de resultado observado e atualização de rating.

  1. Expectativa de resultado: A probabilidade esperada de vitória para o time A é calculada pela diferença de rating: E_A = 1 / (1 + 10^((R_B - R_A) / 400)) Onde R_A e R_B são os ratings atuais. O valor de 400 é a escala padrão; determina a sensibilidade da curva logística.

  2. Resultado observado (S_A): Codificado como 1 para vitória, 0.5 para empate e 0 para derrota. Em variações avançadas, S_A pode ser ponderado por margem de vitória ou xG diferencial.

  3. Atualização de rating: R_A' = R_A + K × (S_A - E_A) O fator K controla a volatilidade do sistema. Valores altos (K=30 a 40) aceleram ajustes, adequados para ligas com alta rotatividade ou amostras iniciais. Valores baixos (K=15 a 20) suavizam ruído, preferíveis em ligas estáveis ou após convergência histórica.

  4. Ajustes contextuais:

    • Home advantage: adição de pontos fixos ao rating do mandante antes do cálculo de expectativa (ex: +50 a +100, calibrado por liga).
    • Margem de vitória: substituição de S_A por função contínua baseada em diferença de gols ou xG.
    • Fator K dinâmico: variação por importância da competição, número de jogos disputados ou volatilidade histórica da liga.
  5. Mapeamento para probabilidade: A diferença de rating (ΔR = R_A - R_B) pode ser convertida em probabilidade esperada usando a mesma curva logística. Esse valor serve como prior para calibrar lambdas em modelos de Poisson ou como referência para cálculo de edge frente a odds de mercado.

Exemplo aplicado de futebol e mercado

Considere dois times da Premier League com ratings iniciais: R_A = 1850 (favorito), R_B = 1720 (visitante). A diferença é 130 pontos. A expectativa de vitória para A é: E_A = 1 / (1 + 10^(-130/400)) ≈ 0.678 O mercado, após remover overround, precifica a vitória de A em 0.64. Há uma divergência de ~3.8 pontos percentuais. Se o time A vence, o rating sobe; se empata, a correção é negativa, pois o resultado ficou abaixo da expectativa. Em um pipeline de pesquisa, essa divergência não é interpretada como sinal imediato, mas como variável de calibração. O ΔR é usado para ajustar o lambda base do time A (ex: λ_A = λ_base × (1 + α × ΔR/400)), onde α é um coeficiente de sensibilidade validado por backtesting. O sistema expõe onde a força relativa estrutural e o preço de mercado se alinham ou se distanciam, permitindo análise de risco antes da execução.

Quadro de raciocinio

Passo a passo numérico com K=25, sem home advantage para simplificação:

  • Ratings iniciais: R_A = 1800, R_B = 1750
  • Diferença: ΔR = 50
  • Expectativa A: E_A = 1 / (1 + 10^(-50/400)) ≈ 0.571
  • Expectativa B: E_B = 1 - E_A ≈ 0.429
  • Resultado real: Empate (S_A = 0.5, S_B = 0.5)
  • Atualização A: R_A' = 1800 + 25 × (0.5 - 0.571) = 1800 - 1.775 = 1798.225
  • Atualização B: R_B' = 1750 + 25 × (0.5 - 0.429) = 1750 + 1.775 = 1751.775
  • Nova diferença: ΔR' ≈ 46.45
  • Nova expectativa A: ≈ 0.565

Observação analítica: O empate gerou correção simétrica. O rating de A caiu porque o resultado ficou abaixo da expectativa; o de B subuiu porque superou a expectativa. A magnitude da correção é controlada por K. Se K fosse 15, a correção seria ~1.065 pontos; se K fosse 40, seria ~2.84 pontos. A escolha de K define a inércia do sistema. Em pesquisa, K deve ser calibrado por validação cruzada temporal, não por intuição.

Modo de falha

  • Fator K fixo em contextos voláteis: Ligas com alta rotatividade de elenco ou competições de mata-mata exigem K maior. K fixo subestima mudanças estruturais ou superestima ruído amostral.
  • Ausência de ajuste por contexto: Ignorar home advantage, calendário congestionado, motivação ou lesões gera ratings que refletem apenas histórico bruto, não força atual.
  • Ratings congelados ou com drift não monitorado: Sistemas que não atualizam continuamente perdem aderência à realidade. Sem log de drift, o modelo opera com dados obsoletos.
  • Confusão entre rating e probabilidade de mercado: O Elo mede força relativa, não preço. Tratar ΔR como odds direta ignora overround, liquidez e ajustes de risco do mercado.
  • Overfitting a margem de vitória: Ponderar S_A por diferença de gols sem validação empírica introduz viés de placar, especialmente em jogos com eventos aleatórios (pênaltis, cartões vermelhos).
  • Integração não calibrada com Poisson: Usar ΔR para ajustar lambda sem testar sensibilidade (α) gera previsões superconfiantes ou subajustadas. A validação temporal é obrigatória.

Checklist

  • Fator K calibrado por liga e fase da competição, com validação de sensibilidade.
  • Home advantage quantificado e documentado por liga (ex: +70 pontos ou ajuste de expectativa).
  • Função de resultado (S_A) definida (binária ou contínua) e justificada metodologicamente.
  • Pipeline de atualização iterativa com log de ratings por rodada e timestamp.
  • Validação de convergência: comparação entre rating e métricas de desempenho de longo prazo (xG, pontos por jogo).
  • Integração com modelo de gols testada: coeficiente de sensibilidade (α) validado por backtesting temporal.
  • Monitoramento de drift: alerta quando a divergência entre rating e odds de mercado excede limiar histórico.
  • Remoção de viés de calendário: ponderação por força do adversário e densidade de jogos.

Exercicio pratico

Implemente um cálculo Elo em Python para uma liga com 6 times. Use dados de 5 rodadas (resultados reais ou simulados). Configure K=25, home advantage=+60 pontos para o mandante. Para cada rodada:

  1. Calcule expectativa de resultado para ambas as equipes.
  2. Aplique o resultado observado e atualize os ratings.
  3. Armazene ratings em estrutura auditável (DataFrame ou JSON com timestamp).
  4. Calcule ΔR para um confronto específico e converta em probabilidade esperada.
  5. Compare a probabilidade gerada com odds de referência (ex: 1.80 decimal → 0.555 implícita).
  6. Registre erro absoluto e documente se a divergência está dentro de 1 desvio padrão histórico. Entregue código comentado, log de atualizações e relatório de calibração. Não otimize parâmetros sem validação temporal.

Repositorio de referencia: implementacao do sistema Elo com log de atualizacoes e integracao Poisson em github.com/aimidas1. Ajuste o fator K e valide sensibilidade antes de aplicar a dados reais.

Sintese operacional

O Elo Rating não é um gerador de sinais; é uma estrutura de atualização de crença que quantifica força relativa de forma contínua e auditável. Sua utilidade reside na capacidade de calibrar expectativas, servir como prior probabilístico para modelos de gols e expor divergências entre força estrutural e preço de mercado. O valor do sistema está na disciplina de atualização, na transparência do fator K e na integração controlada com pipelines de backtesting. Sem validação temporal e ajuste contextual, o rating torna-se ruído. Com rigor metodológico, opera como alicerce de modelagem probabilística.