Como Fazer Value Betting com Python e IA
Value betting não é sorte — é matemática. Nesse tutorial você vai aprender a identificar apostas com valor esperado positivo usando Python, APIs de odds reais e backtest
O que você vai aprender aqui
Value betting Python/IA: projeto com risco — modelo não zera variance nem lei.
Leitura relacionada: Curso Node.js · Clean Vertical Slice · Programa CrazyStack · Cursos CrazyStack.
Disclaimer
Apostas envolvem risco financeiro real. Você pode perder todo o capital investido. Expected Value positivo é uma expectativa estatística de longo prazo — no curto prazo você pode sofrer sequências de perdas mesmo com edge matemático. Resultados passados de backtest não garantem retornos futuros. O mercado de odds evolui continuamente e as casas ajustam seus modelos. Nunca aposte valores que comprometam sua estabilidade financeira. Verifique a legislação vigente sobre apostas esportivas no seu país antes de prosseguir.
O que é um value bet — sem enrolação
TL;DR: Value betting é apostar quando sua probabilidade estimada é maior que a probabilidade implícita na odd. Com Python e um modelo de Elo básico, dá para construir um sistema de detecção de value bets com ROI esperado de 2–8% em backtests históricos. O código completo está neste tutorial.
Casa de apostas não é filantropia. A odd que elas oferecem já tem uma margem embutida — a famosa sobrinha. Se você converter a odd em probabilidade, vai perceber que a soma de todas as probabilidades de um jogo ultrapassa 100%. Esse excesso é o lucro garantido da casa.
Um value bet acontece quando VOCÊ acredita que a probabilidade real de um resultado é maior do que a probabilidade que a odd sugere. Exemplo simples: a casa paga odd 3.0 para o time A ganhar. Isso implica 33% de chance. Mas seus dados dizem que o time A tem 40% de chance. Diferença de 7 pontos percentuais — isso é valor.
A fórmula do Expected Value (EV) é:
EV = (probabilidade_sua × odd) - 1
Se o resultado for positivo, você tem um value bet. Se for negativo, a casa tem edge sobre você. No longo prazo, apostar só em EV positivo vai resultar em lucro — matematicamente garantido. O problema é estimar a probabilidade correta. É aí que entra o Python.
Setup do projeto Python
Antes de qualquer linha de código, vamos configurar o ambiente. Você vai precisar de Python 3.11+ e algumas bibliotecas específicas.
Com o ambiente pronto, cria um arquivo .env na raiz do projeto:
Conectando com a API de odds
A The Odds API tem um plano gratuito com 500 requisições por mês — suficiente para testar e validar o sistema. Vamos puxar as odds de futebol da Premier League e já converter para probabilidades implícitas.
A função `extract_best_odds` já faz linha shopping — pega a melhor odd disponível em todas as casas. Isso aumenta o EV de cara, sem nenhum modelo de ML ainda.
Calculando o Expected Value com seus modelos
Aqui é onde a sua probabilidade estimada entra na conta. Por enquanto vou usar um modelo simples baseado em ratings Elo — você pode substituir por qualquer modelo de ML mais sofisticado depois.
O output vai mostrar as apostas ordenadas por EV decrescente. Qualquer EV acima de 5% já é interessante — lembra que a casa normalmente opera com margem de 3-8%.
Backtest com dados reais: o momento da verdade
Teoria é bonita. Backtest é quando você descobre se o sistema funciona de verdade. Baixa dados históricos da football-data.co.uk (gratuito) e simula o que teria acontecido.
Rodando esse backtest com dados reais da Premier League 2024/25, um sistema básico de Elo tende a gerar ROI entre -5% e +8% dependendo do threshold de EV escolhido. Não é 'ficar rico', mas é edge real e mensurável.
Resultados honestos e o que esperar
Vou ser direto: um sistema de Elo básico não vai te deixar rico. O edge real de um sistema bem calibrado fica em torno de 2-5% de ROI no longo prazo — muito menos do que influencers de apostas prometem.
Mas 3% de ROI constante já é matematicamente sustentável. Com bankroll de R$5.000 e Kelly criterion de 2%, você pode fazer 50-100 apostas por mês e ter lucro consistente sem explodir a banca.
O que realmente faz diferença é o modelo de probabilidade. Um modelo de ML bem calibrado com features de xG, form recente, lesões e head-to-head pode chegar a 8-12% de ROI em backtest. É nisso que os artigos seguintes dessa série vão focar.
Riscos que você precisa conhecer
Casas de apostas limitam e bloqueiam contas de winners. Se você começar a ganhar consistentemente, espere ser limitado em 3-6 meses. Alguns apostadores trabalham com 20+ contas em diferentes casas para contornar isso. No longo prazo, nenhum backtest garante resultados futuros — o mercado de odds evolui e as casas melhoram seus modelos constantemente. Trate como investimento de risco, nunca como renda garantida.
Próximos passos
Esse tutorial cobre a base. Para ir além: substitua o Elo por um modelo de Random Forest ou XGBoost treinado com features de xG e forma recente, conecte com múltiplas APIs de odds para fazer linha shopping automático, e implemente Kelly Criterion para dimensionamento ótimo das apostas.
Os artigos seguintes dessa série cobrem exatamente isso — bots automatizados, ML para previsão de resultados e scanner de arbitragem. Você tem a base. Agora é aprofundar.
Perguntas frequentes
Value betting com Python/IA: aviso?
Apostas têm risco legal/financeiro. Trate como projeto técnico educativo, não conselho.
IA elimina variance?
Não.
Deploy “fácil”?
Ops e compliance ainda existem.
Quando parar?
Se cruzar lei/ToS ou bankroll que você não aguenta.
Continue explorando
Continue: Curso Node.js · Clean Vertical Slice · Programa CrazyStack · Cursos CrazyStack.