How aykan2004/quantbet works
Quantbet is a soccer 1X2 research and paper-trading pipeline. Its live workflow scans upcoming fixtures, obtains recent team form and bookmaker odds, builds model inputs, estimates calibrated outcome probabilities, filters and sizes candidate bets, and records selected bets with feature snapshots. Later, settlement grades pending bets; nightly retraining can consume newly settled snapshots alongside historical replay data. Separate research paths train and evaluate the model, compare it with a Poisson baseline, and backtest against historical odds. The README documents these capabilities; some module wiring is inferred only where it explicitly describes the workflow.
Main entry points: cli.py Command interface · slip.py Live bet slip · train.py Train and calibrate · backtest.py Historical backtest
Components 22
Research Data
- Historical data builder
quantbet/build_dataset.py - Training matches
data/soccer_data_full.csv - Historical odds set
data/historical_dataset_2024.json
Modeling
- Feature engine
quantbet/features.py - Train and calibrate
quantbet/train.py - Outcome model
quantbet/model.py - Model weights
models/soccer_model_full.pth - Model mappings
models/mappings.json
Paper Trading
- Command interface
quantbet/cli.py - Live bet slip
quantbet/slip.py - API clients
quantbet/api_client.py - EV and staking
quantbet/strategy.py - Paper ledger
quantbet/ledger.py - Bet settlement
quantbet/settlement.py - Experience replay
quantbet/retrain.py
Evaluation
- Poisson baseline
quantbet/baselines.py - Historical backtest
quantbet/backtest.py - Ledger report
quantbet/report.py
Other components
- Operator
- Nightly cron
- Football stats API
- Odds API
Connections 37
- Operator → Command interface: runs commands
- Nightly cron → Command interface: runs nightly jobs
- Command interface → Live bet slip: dispatches slip
- Command interface → Train and calibrate: dispatches training
- Command interface → Historical backtest: dispatches backtest
- Command interface → Poisson baseline: dispatches baseline
- Command interface → Bet settlement: dispatches settlement
- Command interface → Experience replay: dispatches retraining
- Command interface → Ledger report: dispatches report
- Historical data builder → Football stats API: fetches fixtures
- Historical data builder → Odds API: fetches historical odds
- Historical data builder → Historical odds set: writes dataset
- Train and calibrate → Training matches: reads matches
- Train and calibrate → Feature engine: uses features
- Train and calibrate → Outcome model: trains network
- Train and calibrate → Model weights: writes weights
- Train and calibrate → Model mappings: writes mappings
- Live bet slip → API clients: requests fixture data
- API clients → Football stats API: fetches form and fixtures
- API clients → Odds API: fetches live odds
- Live bet slip → Feature engine: builds inputs
- Live bet slip → Outcome model: requests probabilities
- Live bet slip → Model weights: loads weights
- Live bet slip → Model mappings: loads mappings
- Live bet slip → EV and staking: filters and sizes bets
- Live bet slip → Paper ledger: records selected bets
- Bet settlement → API clients: looks up results
- Bet settlement → Paper ledger: grades pending bets
- Experience replay → Paper ledger: reads and marks bets
- Experience replay → Training matches: samples replay matches
- Experience replay → Model weights: updates weights
- Historical backtest → Historical odds set: reads odds and results
- Historical backtest → Outcome model: trains and evaluates
- Historical backtest → Model mappings: loads mappings
- Historical backtest → EV and staking: simulates bet selection
- Poisson baseline → Training matches: fits and evaluates
- Ledger report → Paper ledger: reads history