national
Deploy Iddaai Backend / build-and-deploy (push) Successful in 58s

This commit is contained in:
2026-06-02 13:20:45 +03:00
parent 033a29c79c
commit b9700f9fda
6 changed files with 294 additions and 1 deletions
+70
View File
@@ -0,0 +1,70 @@
# Milli Takım / Dünya Kupası — Bahis Stratejisi (Veri-Temelli)
> Kaynak: 2.300 maçlık milli backtest (multi_backtest_20260602, /tmp/bt_natl.csv).
> Tüm rakamlar offline simülasyon (production'a dokunulmadan, aynı veride kural testi).
> Tarih: 2026-06.
## Temel Bulgular (kanıtlanmış)
1. **Kalibrasyon İYİ** (MS ECE 1.6, OU15 2.2) — model olasılıkları milli maçta da doğru.
Sorun kalibrasyon değil EDGE. Yani piyasa oranları da keskin; avantaj sadece
belirli segmentlerde var.
2. **Sadece MS market'inde edge var.** OU/BTTS/HT/DC/OE hepsi "bet-all" ROI
12%..21% — milli maçta gol/skor marketleri güvenilmez, KAPATILMALI.
3. **MS'te edge oran bandına + rekabet türüne bağlı:**
- Favori (oran<3): zararlı (10..18%). Milli favoriler takılır (rotasyon/motivasyon).
- Denk-üstü (oran 4-7): ELEME/HAZIRLIK'ta kârlı, TURNUVA'da zararlı.
4. **Rekabet türü kritik faktör** (DB'de feature YOK, lig adından türetilir):
HAZIRLIK / ELEME / TURNUVA çok farklı davranır.
## Grid + Kararlılık Testi (overfit'e karşı)
En iyi kombolar (N>=150, MS market):
| kural | N | hit% | ROI |
|---|---|---|---|
| 4.0-7.0 sadece ELEME | 585 | 25% | +23.1% |
| 3.5-6.0 HAZ+ELE | 1021 | 25% | +14.5% |
| **4.0-7.0 HAZ+ELE (SEÇİLEN)** | **865** | **24%** | **+17.1%** |
| 3.0-6.0 HAZ+ELE | 1381 | 25% | +10.1% |
**Kararlılık (en güçlü kanıt):** "4-7 sadece ELEME" eski yarı +22.1% / yeni yarı +24.0%
→ iki bağımsız zaman diliminde de pozitif = overfit DEĞİL, sahada tutar.
## TURNUVA/FİNAL farkı (Dünya Kupası finalleri için kritik)
Turnuva (Avrupa Şamp, Copa America, Uluslar Ligi, Gold Cup, Asya/Afrika Kupası):
- 4-7 bandı turnuvada ZARARLI (8.9%) — elemenin tersi.
- Sadece underdog 5+ kârlı (+51% ama n=274, oynak, şans payı yüksek).
- Sebep: büyük turnuva finallerinde favoriler tutarlı, sürpriz az.
## SEÇİLEN STRATEJİ (kullanıcı kararı)
**Milli-maç gate kuralı:**
- Market: SADECE MS (diğer tüm marketler milli maçta kapalı)
- Oran bandı: 4.0 ≤ odds < 7.0
- Rekabet türü: SADECE Hazırlık + Eleme
- TURNUVA/FİNAL: bahis ÖNERME (sadece analiz/olasılık göster). Underdog +51%
cazip ama oynak/az-örneklem → gerçek paraya bağlanmadı (kullanıcı kararı).
Beklenen: +17% ROI, ~865 bahis/2300 maç. Mevcut gate +0.9% idi → ~19x iyileşme.
## Mimari Notu (uygulama için)
- Sorun model değil → ayrı ML modeli GEREKSİZ (1898 maç zaten overfit riski; karar verildi: kurma).
- Çözüm = betting brain'de milli-maça özel GATE (eğitim-sonrası kural katmanı).
- Rekabet türü lig adından türetilir: 'hazırlık'→HAZIRLIK, 'eleme/play-off'→ELEME,
diğer→TURNUVA. Milli lig tespiti: qualified_leagues.json'a eklenen 21 milli lig.
- Kalıcı feature olarak rekabet türü eklenebilir (daha temiz) ama gate hardcode de yeter.
## Durum: UYGULANDI + DOĞRULANDI (betting_brain v31f-national-regime).
Kod:
- utils/national_leagues.py — loader (data/national_leagues.json, 21 lig) + classify_competition
- single_match_orchestrator.py — self.national_leagues yüklenir
- orchestrator/market_board.py — match_info.is_national + competition_type; _is_national_match/_competition_type_for helpers
- betting_brain.py _judge_row — national regime bloğu: is_national ise club mantığını override eder,
SADECE MS + 4.0-7.0 + (HAZIRLIK|ELEME) → BET (NATIONAL_BASE_SCORE 66, stake 0.5u, grade B),
diğer her şey REJECT. Hard-safety vetoları (low_reliability_hard, v25_v27_hard, htft_reversal)
national'da da geçerli. Rich analiz payload korunur.
DOĞRULAMA (V2 backtest, yeni gate aktif, 1829 maç, /tmp/bt_natl_v2.csv):
BET=784 → TAMAMI MS, oran 4.00-6.99 (bant dışı 0 bahis), hit %23.7, ROI +16.0%, +125.7u.
Simülasyondaki +17% ile birebir. OU/BTTS/HT/turnuva artık 0 BET.
NOT: ai-engine ~10:10'da restart oldu (compose) → national-gate + V31e recal + league_confidence
kodu CANLI API'de aktif. Ama bunlar docker cp ile deploy edildi; kalıcılık için repo commit +
image rebuild gerekir (yeni container build'inde kaybolur).
## İlgili: 422 lig-gate düzeltmesi CANLIDA (qualified_leagues 48→69, milli ligler açıldı).