| 項目 | 內容 |
|---|---|
| 資料庫檔案 | database/AIStockPlatform.db |
| 資料庫引擎 | SQLite |
| 結構管理程式 | database/database_manager.py |
| 文件盤點日期 | 2026-08-23 |
| 業務資料表數 | 28 |
本資料庫是 AI 選股平台的主要資料儲存區,涵蓋股票與 ETF 主檔、每日行情、FinLab 指標目錄、多倍股研究資料,以及策略 T0 選股與績效驗證結果。
所有資料庫連線、建表、查詢與新增更新功能,原則上應集中在 database/database_manager.py。各功能程式只呼叫資料庫管理器,不應自行建立 SQLite 連線或重複撰寫 SQL。
flowchart LR
ST[strategies<br/>策略主檔] --> SR[strategy_runs<br/>T0 執行紀錄]
BM[benchmarks<br/>Benchmark 主檔] --> SR
SR --> SP[strategy_picks<br/>T0 選股結果]
SP --> SSP[strategy_stock_perf<br/>個股未來績效]
SR --> SPP[strategy_portfolio_perf<br/>投資組合績效]
SSP --> SPP
AC[adjcloseprice<br/>調整後收盤價] --> SSP
MI[market_index<br/>市場指數] --> SPP
AC --> SPP
STOCKS[stocks<br/>股票主檔] -.標的資料.-> SP
策略驗證資料的核心關係如下:
strategies 可以有多次 T0 執行 strategy_runs。strategy_picks。strategy_stock_perf。strategy_portfolio_perf。strategy_runs.benchmark_id 對應 benchmarks.benchmark_id;舊版資料表以驗證觸發器補足關聯檢查。DATE 欄位使用 ISO 格式 YYYY-MM-DD。DATETIME 欄位由 SQLite CURRENT_TIMESTAMP 或程式提供。created_at 表示初次建立時間;upsert 更新時通常保留原值。updated_at 表示最後更新時間;upsert 時更新。