Autonomous AI Prediction Engine for Bet261 Virtual Spanish League.
start_all.bat- Start Backend + Frontend togetherstart_backend.bat- Start API onlystart_frontend.bat- Start Dashboard onlystart_orchestrator.bat- Start autonomous engine
- Dashboard: http://localhost:3000
- API: http://localhost:8000
- API Docs: http://localhost:8000/docs
cd backend
py -m pip install python-dotenv pydantic pydantic-settings sqlalchemy playwright pandas numpy scikit-learn xgboost lightgbm scipy fastapi uvicorn python-multipart aiohttp httpx loguru python-dateutil joblib
py -m playwright install chromium
py init_db.pycd frontend
npm installThis system continuously monitors Bet261 virtual Spanish league matches, collects historical data, builds predictive models, and identifies value betting opportunities.
The system consists of 14 integrated subsystems:
- Browser Automation Engine - Playwright-based Chrome automation
- Data Extraction Engine - Parses and deduplicates match data
- SQLite Database - Stores teams, matches, predictions, bets
- Feature Engineering Pipeline - Computes 50+ predictive features
- Team Strength Models - ELO, Bayesian, Poisson ratings
- Sequence Pattern Analysis - Markov chains, HMM
- Machine Learning Ensemble - Logistic Regression, Random Forest, XGBoost, LightGBM
- Monte Carlo Simulation - Match outcome probabilities
- Odds Analysis - Value detection, Kelly criterion
- Betting Decision Engine - Confidence thresholds, value requirements
- Bankroll Management - Fractional Kelly, risk metrics
- Profit Tracking - Bet history, ROI calculation
- Season Lifecycle Manager - 38 matchdays, standings
- Continuous Learning Engine - Model updates, weight adaptation
Bet261PredictionEngine/
├── start_all.bat # Start all services
├── start_backend.bat # Start API
├── start_frontend.bat # Start Dashboard
├── start_orchestrator.bat # Start autonomous engine
├── backend/
│ ├── app/
│ │ ├── api/ # FastAPI routes
│ │ ├── core/ # Config, database, orchestrator
│ │ ├── models/ # SQLAlchemy ORM models
│ │ └── services/ # Business logic modules
│ ├── init_db.py # Initialize database
│ ├── requirements.txt
│ └── .env
├── frontend/
│ ├── src/
│ │ ├── pages/ # React components
│ │ └── services/ # API client
│ ├── package.json
│ └── vite.config.ts
├── data/ # SQLite database
├── logs/ # Application logs
└── models/ # Saved ML models
Key settings in .env:
| Setting | Default | Description |
|---|---|---|
DATABASE_URL |
sqlite:///./data/bet261_prediction.db | SQLite database path |
INITIAL_BANKROLL |
1000 | Starting bankroll |
MIN_ODDS |
2.0 | Minimum odds to bet |
MIN_CONFIDENCE |
0.65 | Minimum prediction confidence |
KELLY_FRACTION |
0.25 | Fractional Kelly multiplier |
MAX_STAKE_PERCENT |
0.05 | Max bankroll per bet |
RESULT_TRIGGER_SECONDS |
58 | Countdown trigger for scraping |
MODEL_RETRAIN_INTERVAL |
100 | Matches between retraining |
GET /api/dashboard/overview- Main dashboard dataGET /api/dashboard/standings- League standingsGET /api/dashboard/statistics- League statistics
GET /api/matches/- List matchesGET /api/matches/upcoming- Upcoming matches with oddsGET /api/matches/recent- Recent results
GET /api/predictions/- List predictionsGET /api/predictions/upcoming- Predictions for upcoming matchesGET /api/predictions/accuracy/stats- Accuracy statistics
GET /api/betting/- Bet historyGET /api/betting/pending- Pending betsGET /api/betting/summary- Betting summaryGET /api/betting/bankroll/current- Current bankroll
GET /api/teams/- All teamsGET /api/teams/elo-rankings- ELO rankingsGET /api/teams/{id}/matches- Team match history
The system tracks 20 teams:
- Real Madrid, Barcelona, Atlético Madrid, Athletic Bilbao
- Sevilla, Real Sociedad, Villarreal, Real Betis
- Valencia, Getafe, Rayo Vallecano, Osasuna
- Celta Vigo, Mallorca, Girona, Almería
- Cádiz, Las Palmas, Alavés, Espanyol
- Data Collection: Browser automation monitors Bet261 for upcoming matches and results
- Feature Engineering: Each match gets 50+ computed features (form, H2H, strength, momentum)
- Prediction: ML ensemble + Monte Carlo + ELO combine for final probabilities
- Value Detection: Compare model probabilities to bookmaker odds
- Betting Decision: Apply confidence/value thresholds, Kelly criterion
- Continuous Learning: Update models after each match result
MIT