Estratégia 1 — AH -0.5 Mandante em Necessidade
vitória do mandante · odd típica 1.40–1.55Filtro: mandante com necessidade alta (nq_home) + favorito pelo Elo + forma ofensiva superior ao visitante. Yield calculado usando o preço soft disponível.
| Filtro | N jogos | Acerto% | Odd Justa média | Yield (soft) |
|---|---|---|---|---|
nq>0.3 + elo>100 + forma |
273 | 74.0% | 1.415 | +5.95% |
nq>0.3 + elo>100 |
625 | 70.7% | 1.464 | +4.97% |
nq>0.5 + elo>100 + forma |
156 | 72.4% | 1.411 | +3.59% |
nq>0.3 + elo>150 |
437 | 72.3% | 1.406 | +2.50% |
nq>0.5 + elo>50 |
446 | 69.3% | 1.529 | +8.44% |
Últimos 20 jogos — nq>0.3 + elo>100 + forma
| Data | Jogo | Liga | nq | elo Δ | Odd J | Res |
|---|---|---|---|---|---|---|
| 2026-05-30 | Flamengo RJ vs Coritiba | Serie A | 0.480 | 235 | None | ✓ H |
| 2026-05-17 | Ath Madrid vs Girona | La Liga | 1.587 | 176 | None | ✓ H |
| 2026-05-17 | Lille vs Auxerre | Ligue 1 | 0.769 | 168 | None | ✗ A |
| 2026-05-16 | Leverkusen vs Hamburg | Bundesliga | 0.378 | 206 | None | ✗ D |
| 2026-05-09 | Liverpool vs Chelsea | Premier League | 1.740 | 111 | None | ✗ D |
| 2026-05-09 | Hoffenheim vs Werder Bremen | Bundesliga | 0.764 | 101 | None | ✓ H |
| 2026-05-09 | RB Leipzig vs St Pauli | Bundesliga | 0.737 | 236 | None | ✓ H |
| 2026-05-09 | Ath Madrid vs Celta | La Liga | 1.547 | 138 | None | ✗ A |
| 2026-05-03 | Lille vs Le Havre | Ligue 1 | 1.433 | 209 | None | ✗ D |
| 2026-04-27 | Fluminense vs Chapecoense-SC | Serie A | 0.423 | 276 | None | ✓ H |
| 2026-04-26 | Stuttgart vs Werder Bremen | Bundesliga | 0.671 | 165 | None | ✗ D |
| 2026-04-26 | Villarreal vs Celta | La Liga | 0.410 | 114 | None | ✓ H |
| 2026-04-25 | Ath Madrid vs Ath Bilbao | La Liga | 1.357 | 114 | None | ✓ H |
| 2026-04-24 | RB Leipzig vs Union Berlin | Bundesliga | 0.360 | 213 | None | ✓ H |
| 2026-04-19 | Flamengo RJ vs Bahia | Serie A | 0.584 | 143 | None | ✓ H |
| 2026-04-18 | Lille vs Nice | Ligue 1 | 0.668 | 137 | None | ✗ D |
| 2026-04-18 | Leverkusen vs Augsburg | Bundesliga | 0.346 | 232 | None | ✗ A |
| 2026-04-11 | RB Leipzig vs M'gladbach | Bundesliga | 1.231 | 163 | None | ✓ H |
| 2026-04-10 | Marseille vs Metz | Ligue 1 | 1.208 | 279 | None | ✓ H |
| 2026-04-04 | Leverkusen vs Wolfsburg | Bundesliga | 0.302 | 235 | None | ✓ H |
Leitura
nq_home mede pressão de necessidade: times que precisam de pontos (disputa por título, rebaixamento) × vantagem Elo × progresso da temporada.
elo_diff > 100 = mandante tem ~60–65% de probabilidade real de vitória segundo o Elo.
Yield positivo significa que o filtro identifica jogos onde o mandante ganha MAIS do que a Pinnacle implica, e o preço soft paga acima do justo.
Atenção: com elo_diff > 200, a Pinnacle já incorpora toda a vantagem e oferece odds abaixo do break-even — yield negativo.
Estratégia 2 — BTTS (Ambas Marcam)
mercado BTTS Sim · odd típica 1.75–1.90Filtros testados em combinação: média de gols marcados e sofridos dos últimos 5 jogos, equilíbrio entre times, recorte por liga. Yield estimado para odds de 1.85 e 1.75 (não temos BTTS odds nos dados históricos).
| Filtro | N jogos | BTTS% | Odd break-even | Yield @1.85 | Yield @1.75 |
|---|---|---|---|---|---|
Bundesliga + ambos + elo<150 |
163 | 65.6% | 1.523 | +21.44% | +14.88% |
Bundesliga + hgf5>1.5 + agf5>1.5 |
455 | 63.7% | 1.569 | +17.91% | +11.54% |
PL+Bundesliga + hgf5>1.5 + agf5>1.5 |
907 | 60.4% | 1.655 | +11.78% | +5.73% |
Bundesliga geral |
1985 | 59.3% | 1.686 | +9.70% | +3.77% |
ambos ataque+defesa + elo<150 |
587 | 57.2% | 1.747 | +5.89% | +0.17% |
Últimos 20 jogos — Bundesliga + h_gf5>1.5 + a_gf5>1.5
| Data | Jogo | Placar | hgf5 | agf5 | BTTS |
|---|---|---|---|---|---|
| 2026-05-16 | Union Berlin vs Augsburg | 4:0 | 1.60 | 2.20 | ✗ não |
| 2026-05-16 | Bayern Munich vs FC Koln | 5:1 | 3.40 | 1.60 | ✓ sim |
| 2026-05-10 | FC Koln vs Heidenheim | 1:3 | 1.80 | 2.20 | ✓ sim |
| 2026-05-09 | Stuttgart vs Leverkusen | 3:1 | 2.00 | 2.80 | ✓ sim |
| 2026-05-02 | Bayern Munich vs Heidenheim | 3:3 | 4.00 | 2.20 | ✓ sim |
| 2026-05-02 | Leverkusen vs RB Leipzig | 4:1 | 2.60 | 2.80 | ✓ sim |
| 2026-04-25 | FC Koln vs Leverkusen | 1:2 | 2.00 | 2.40 | ✓ sim |
| 2026-04-19 | Freiburg vs Heidenheim | 2:1 | 1.60 | 2.00 | ✓ sim |
| 2026-04-19 | Bayern Munich vs Stuttgart | 4:2 | 3.40 | 2.40 | ✓ sim |
| 2026-04-19 | M'gladbach vs Mainz | 1:1 | 1.60 | 1.60 | ✓ sim |
| 2026-04-18 | Hoffenheim vs Dortmund | 2:1 | 1.60 | 1.80 | ✓ sim |
| 2026-04-11 | Dortmund vs Leverkusen | 0:1 | 2.20 | 2.80 | ✗ não |
| 2026-04-11 | RB Leipzig vs M'gladbach | 1:0 | 2.20 | 1.80 | ✗ não |
| 2026-04-04 | M'gladbach vs Heidenheim | 2:2 | 1.60 | 1.60 | ✓ sim |
| 2026-04-04 | Werder Bremen vs RB Leipzig | 1:2 | 1.60 | 2.20 | ✓ sim |
| 2026-04-04 | Stuttgart vs Dortmund | 0:2 | 3.00 | 2.20 | ✗ não |
| 2026-03-20 | RB Leipzig vs Hoffenheim | 5:0 | 1.60 | 2.00 | ✗ não |
| 2026-03-15 | Stuttgart vs RB Leipzig | 1:0 | 2.60 | 2.00 | ✗ não |
| 2026-03-14 | Leverkusen vs Bayern Munich | 1:1 | 1.80 | 3.60 | ✓ sim |
| 2026-03-07 | RB Leipzig vs Augsburg | 2:1 | 1.80 | 1.60 | ✓ sim |
Leitura
Bundesliga tem a maior taxa histórica de BTTS (59.8%) entre as 5 ligas europeias — estilo de jogo mais ofensivo.
h_gf5 > 1.5 = mandante marcou em média mais de 1.5 gols nos últimos 5 jogos. Mesmo filtro para o visitante (a_gf5).
63.7% BTTS com n=455 é o melhor filtro com amostra >300. A odd de break-even é 1.569 — qualquer BTTS Sim acima disso gera EV positivo.
Importante: yield é estimado — precisamos de odds reais de BTTS para calcular CLV.
Estratégia 3 — Score Composto (Mandante Forte em Casa)
vitória do mandante · top 20% do score
Score = nq_home × 0.4 + h_gf5 × 0.3 − a_gf5 × 0.3 + elo_norm × 0.3
— combina necessidade, forma ofensiva e diferença de qualidade.
Top 20% dos jogos por score (threshold ≈ 0.43).
| Filtro | N jogos | Acerto% | Odd Justa média | Yield (soft) |
|---|---|---|---|---|
Top 20% — geral |
3353 | 66.6% | 1.531 | +5.15% |
Top 20% — La Liga |
491 | 73.3% | 1.464 | +13.84% |
Top 20% — Bundesliga |
452 | 67.7% | 1.524 | +4.83% |
Top 20% — Serie A |
1399 | 64.7% | 1.548 | +4.64% |
Decil 10 (score>0.70) |
1676 | 70.6% | 1.418 | +2.36% |
Últimos 20 jogos — top 20% do score composto
| Data | Jogo | Liga | Score | Res |
|---|---|---|---|---|
| 2026-05-31 | Palmeiras vs Chapecoense-SC | Serie A | 1.014 | ✓ H |
| 2026-05-30 | Flamengo RJ vs Coritiba | Serie A | 0.685 | ✓ H |
| 2026-05-24 | Milan vs Cagliari | Serie A | 1.143 | ✗ A |
| 2026-05-24 | Villarreal vs Ath Madrid | La Liga | 0.520 | ✓ H |
| 2026-05-24 | Man City vs Aston Villa | Premier League | 0.463 | ✗ A |
| 2026-05-24 | Cruzeiro vs Chapecoense-SC | Serie A | 0.677 | ✓ H |
| 2026-05-24 | Napoli vs Udinese | Serie A | 0.701 | ✓ H |
| 2026-05-24 | Liverpool vs Brentford | Premier League | 0.671 | ✗ D |
| 2026-05-23 | Lazio vs Pisa | Serie A | 0.791 | ✓ H |
| 2026-05-23 | Real Madrid vs Ath Bilbao | La Liga | 0.563 | ✓ H |
| 2026-05-18 | Arsenal vs Burnley | Premier League | 1.208 | ✓ H |
| 2026-05-17 | Botafogo RJ vs Corinthians | Serie A | 0.652 | ✓ H |
| 2026-05-17 | Lyon vs Lens | Ligue 1 | 0.782 | ✗ A |
| 2026-05-17 | Inter vs Verona | Serie A | 1.867 | ✗ D |
| 2026-05-17 | Roma vs Lazio | Serie A | 0.936 | ✓ H |
| 2026-05-17 | Udinese vs Cremonese | Serie A | 0.654 | ✗ A |
| 2026-05-17 | Juventus vs Fiorentina | Serie A | 1.269 | ✗ A |
| 2026-05-17 | Lille vs Auxerre | Ligue 1 | 0.583 | ✗ A |
| 2026-05-17 | Ath Madrid vs Girona | La Liga | 1.288 | ✓ H |
| 2026-05-17 | Bahia vs Gremio | Serie A | 0.448 | ✗ D |
Leitura
Score alto = mandante com necessidade, ataque em forma, visitante defensivamente fraco, e Elo superior.
La Liga top 20% se destaca: 73.3% de acerto, yield +13.84% — possível viés estrutural da liga.
Decil 10 (score > 0.70): n=1.676, acerto=70.6%, mas yield menor (+2.36%) porque Pinnacle já precifica bem favoritos fortes.
Melhor janela: decil 9 (score 0.43–0.70): n=1.676, acerto=62.6%, yield=+6.96% — mandante favorito moderado que Pinnacle sub-precia ligeiramente.
get_odds_df() em calc_value_signals.py
a um feed de odds ao vivo e acompanhar o CLV real das apostas.
M1 — Over 1.5 Gols
odd estimada 1.30 · mercado principal: Bundesliga ambos atacamResumo — filtros (backtest histórico)
| Filtro | N | Acerto | Odd Est. | Yield Est. |
|---|---|---|---|---|
| Bundesliga + hgf5>1.5 agf5>1.5 | 489 | 85.9% | 1.3 | +11.66% |
| PL+Bundesliga + hgf5>1.5 agf5>1.5 | 961 | 83.8% | 1.3 | +8.90% |
| Bundesliga geral | 2142 | 83.6% | 1.3 | +8.70% |
| qualquer + hgf5>1.8 agf5>1.8 | 671 | 82.0% | 1.3 | +6.56% |
| Premier League + hgf5>1.5 agf5>1.5 | 472 | 81.6% | 1.3 | +6.04% |
Últimos 20 jogos (Bundesliga hgf5>1.5 agf5>1.5)
| Data | Jogo | Gols | Over 1.5 | h_gf5 | a_gf5 |
|---|---|---|---|---|---|
| 2026-05-16 | Union Berlin × Augsburg | 4–0 | SIM | 1.60 | 2.20 |
| 2026-05-16 | Bayern Munich × FC Koln | 5–1 | SIM | 3.40 | 1.60 |
| 2026-05-10 | FC Koln × Heidenheim | 1–3 | SIM | 1.80 | 2.20 |
| 2026-05-09 | Stuttgart × Leverkusen | 3–1 | SIM | 2.00 | 2.80 |
| 2026-05-02 | Bayern Munich × Heidenheim | 3–3 | SIM | 4.00 | 2.20 |
| 2026-05-02 | Leverkusen × RB Leipzig | 4–1 | SIM | 2.60 | 2.80 |
| 2026-04-25 | FC Koln × Leverkusen | 1–2 | SIM | 2.00 | 2.40 |
| 2026-04-19 | Freiburg × Heidenheim | 2–1 | SIM | 1.60 | 2.00 |
| 2026-04-19 | Bayern Munich × Stuttgart | 4–2 | SIM | 3.40 | 2.40 |
| 2026-04-19 | M'gladbach × Mainz | 1–1 | SIM | 1.60 | 1.60 |
| 2026-04-18 | Hoffenheim × Dortmund | 2–1 | SIM | 1.60 | 1.80 |
| 2026-04-11 | Dortmund × Leverkusen | 0–1 | NÃO | 2.20 | 2.80 |
| 2026-04-11 | RB Leipzig × M'gladbach | 1–0 | NÃO | 2.20 | 1.80 |
| 2026-04-04 | M'gladbach × Heidenheim | 2–2 | SIM | 1.60 | 1.60 |
| 2026-04-04 | Werder Bremen × RB Leipzig | 1–2 | SIM | 1.60 | 2.20 |
| 2026-04-04 | Stuttgart × Dortmund | 0–2 | SIM | 3.00 | 2.20 |
| 2026-03-20 | RB Leipzig × Hoffenheim | 5–0 | SIM | 1.60 | 2.00 |
| 2026-03-15 | Stuttgart × RB Leipzig | 1–0 | NÃO | 2.60 | 2.00 |
| 2026-03-14 | Leverkusen × Bayern Munich | 1–1 | SIM | 1.80 | 3.60 |
| 2026-03-07 | RB Leipzig × Augsburg | 2–1 | SIM | 1.80 | 1.60 |
M2 — BTTS ou Over 2.5
odd estimada 1.30 · ganha se QUALQUER um dos dois for verdadeiroResumo — filtros (backtest histórico)
| Filtro | N | Acerto | Odd Est. | Yield Est. |
|---|---|---|---|---|
| Bundesliga + hgf5>1.5 agf5>1.5 | 489 | 77.7% | 1.3 | +1.02% |
Últimos 20 jogos (Bundesliga hgf5>1.5 agf5>1.5)
| Data | Jogo | Gols | BTTS | Over 2.5 | Ganha? |
|---|---|---|---|---|---|
| 2026-05-16 | Union Berlin × Augsburg | 4–0 | NÃO | SIM | ✓ |
| 2026-05-16 | Bayern Munich × FC Koln | 5–1 | SIM | SIM | ✓ |
| 2026-05-10 | FC Koln × Heidenheim | 1–3 | SIM | SIM | ✓ |
| 2026-05-09 | Stuttgart × Leverkusen | 3–1 | SIM | SIM | ✓ |
| 2026-05-02 | Bayern Munich × Heidenheim | 3–3 | SIM | SIM | ✓ |
| 2026-05-02 | Leverkusen × RB Leipzig | 4–1 | SIM | SIM | ✓ |
| 2026-04-25 | FC Koln × Leverkusen | 1–2 | SIM | SIM | ✓ |
| 2026-04-19 | Freiburg × Heidenheim | 2–1 | SIM | SIM | ✓ |
| 2026-04-19 | Bayern Munich × Stuttgart | 4–2 | SIM | SIM | ✓ |
| 2026-04-19 | M'gladbach × Mainz | 1–1 | SIM | NÃO | ✓ |
| 2026-04-18 | Hoffenheim × Dortmund | 2–1 | SIM | SIM | ✓ |
| 2026-04-11 | Dortmund × Leverkusen | 0–1 | NÃO | NÃO | ✗ |
| 2026-04-11 | RB Leipzig × M'gladbach | 1–0 | NÃO | NÃO | ✗ |
| 2026-04-04 | M'gladbach × Heidenheim | 2–2 | SIM | SIM | ✓ |
| 2026-04-04 | Werder Bremen × RB Leipzig | 1–2 | SIM | SIM | ✓ |
| 2026-04-04 | Stuttgart × Dortmund | 0–2 | NÃO | NÃO | ✗ |
| 2026-03-20 | RB Leipzig × Hoffenheim | 5–0 | NÃO | SIM | ✓ |
| 2026-03-15 | Stuttgart × RB Leipzig | 1–0 | NÃO | NÃO | ✗ |
| 2026-03-14 | Leverkusen × Bayern Munich | 1–1 | SIM | NÃO | ✓ |
| 2026-03-07 | RB Leipzig × Augsburg | 2–1 | SIM | SIM | ✓ |
M3 — Double Chance 1X (Mandante não perde)
odd estimada 1.45 · resultado H ou DResumo — filtros (backtest histórico)
| Filtro | N | Acerto | Odd Est. | Yield Est. |
|---|---|---|---|---|
| elo_diff > 100 | 3559 | 87.4% | 1.45 | +26.67% |
| hgf5>avg_liga + elo>50 | 3631 | 85.8% | 1.45 | +24.47% |
| elo_diff > 50 + nq>0.3 | 899 | 85.9% | 1.45 | +24.52% |
| Serie A (Italy) + elo>50 | 917 | 86.0% | 1.45 | +24.76% |
| elo>50 + soft_home < 2.5 | 5668 | 85.2% | 1.45 | +23.49% |
| elo_diff > 50 | 5809 | 84.6% | 1.45 | +22.73% |
| elo_diff 50–150 | 3768 | 82.0% | 1.45 | +18.91% |
| nq_home > 0.5 | 665 | 80.8% | 1.45 | +17.09% |
Últimos 20 jogos (elo_diff > 100)
| Data | Jogo | Liga | Elo Δ | Odd H | Resultado | DC 1X |
|---|---|---|---|---|---|---|
| 2026-05-31 | Palmeiras × Chapecoense-SC | Serie A | 386 | None | H | ✓ |
| 2026-05-30 | Flamengo RJ × Coritiba | Serie A | 235 | None | H | ✓ |
| 2026-05-24 | Cruzeiro × Chapecoense-SC | Serie A | 240 | None | H | ✓ |
| 2026-05-24 | Milan × Cagliari | Serie A | 211 | None | A | ✗ |
| 2026-05-24 | Napoli × Udinese | Serie A | 165 | None | H | ✓ |
| 2026-05-24 | Man City × Aston Villa | Premier League | 171 | None | A | ✗ |
| 2026-05-24 | Liverpool × Brentford | Premier League | 112 | None | D | ✓ |
| 2026-05-23 | Lazio × Pisa | Serie A | 200 | None | H | ✓ |
| 2026-05-23 | Real Madrid × Ath Bilbao | La Liga | 236 | None | H | ✓ |
| 2026-05-23 | Betis × Levante | La Liga | 111 | None | H | ✓ |
| 2026-05-18 | Arsenal × Burnley | Premier League | 413 | None | H | ✓ |
| 2026-05-17 | Palmeiras × Cruzeiro | Serie A | 137 | None | D | ✓ |
| 2026-05-17 | Nice × Metz | Ligue 1 | 179 | None | D | ✓ |
| 2026-05-17 | Lille × Auxerre | Ligue 1 | 168 | None | A | ✗ |
| 2026-05-17 | Brest × Angers | Ligue 1 | 101 | None | D | ✓ |
| 2026-05-17 | Udinese × Cremonese | Serie A | 121 | None | A | ✗ |
| 2026-05-17 | Atalanta × Bologna | Serie A | 102 | None | A | ✗ |
| 2026-05-17 | Inter × Verona | Serie A | 454 | None | D | ✓ |
| 2026-05-17 | Juventus × Fiorentina | Serie A | 144 | None | A | ✗ |
| 2026-05-17 | Como × Parma | Serie A | 187 | None | H | ✓ |