# 2026 世界盃對標市場主流版:資料驅動量化架構藍圖(Gemini 路線) ## 一、目標 將網站從「賠率列表」提升為「市場主流級決策中心」: - 跨平台賠率矩陣化(多書比較) - 走勢與成交量監測(Line Movement + Sharp/Public 分流) - 量化模型直接回傳投注信號(EV / Poisson / Monte Carlo) - 個人資金回報與 CLV 監控(Portfolio Tracker) ## 二、資料分層 - **Ingestion(來源層)**:主力 Odds API + 可擴展的 Odds/Stats/News Feed。 - **Normalization(正規化層)**:統一 `matchId / teamId / market / outcome`。 - **Feature Store(特徵層)**:暫存賽事快照、盤口快取、賽中事件。 - **Analytics Engine(分析層)**:EV、Poisson、Monte Carlo 的模型輸出。 - **Presentation Layer(展示層)**:儀表板頁面 + API。 ## 三、資料庫建議(PostgreSQL) 以下為最小可用表結構: ### teams - `id` UUID - `name` TEXT - `fifa_code` TEXT ### matches - `id` UUID - `provider_match_id` TEXT - `stage` TEXT - `kickoff_at` TIMESTAMPTZ - `venue` TEXT - `city` TEXT - `altitude` NUMERIC - `home_team_id` UUID - `away_team_id` UUID ### odds_history`(建議以 `match_id, provider, market, updated_at` 分區) - `id` BIGSERIAL - `match_id` UUID - `provider` TEXT - `market` TEXT - `outcome` TEXT - `point` NUMERIC - `odds` NUMERIC - `updated_at` TIMESTAMPTZ ### betting_tickets - `id` BIGSERIAL - `match_id` UUID - `market` TEXT - `selection` TEXT - `point` NUMERIC - `tickets_pct` NUMERIC - `handle_pct` NUMERIC - `provider` TEXT - `snapshot_at` TIMESTAMPTZ ### portfolio_bets(本機用量化追蹤) - `id` UUID - `match_id` UUID - `market` TEXT - `selection` TEXT - `odds` NUMERIC - `stake` NUMERIC - `result` TEXT - `settled_at` TIMESTAMPTZ ## 四、快取與即時性 - **Redis key 建議** - `live:match:{matchId}:latest` - `odds:market:{matchId}:{market}` - `stats:line:{matchId}:{market}:{outcome}` ## 五、量化分析模型 - **EV Detector**:以模型機率與市場隱含機率對照,EV > 0 直接產生 `value_bet=true`。 - **Poisson**:推估雙方進球分佈與比分機率,輸出 1-3 機率最高 score。 - **Monte Carlo**:10k 次模擬輸出「淨勝 2 球以上」、「高波動場次」 ## 六、實作進度接軸 本次提交已完成: 1. 量化模組核心引擎(Node) 2. 市場矩陣 + 線路變化 API 3. 資金流偏差與走勢資料快照 API 4. 組合/組合式投資組合 CLV API(in-memory prototype) 5. 量化儀表頁樣式與 API 串接骨架 後續可無縫接入 PostgreSQL/Redis:將 in-memory 資料改為 DB Repository 注入。