快速開始¶
這一頁只回答兩件事:
- 怎麼把系統跑起來
- 你跑起來之後會看到什麼
執行環境¶
根據 pyproject.toml,本專案目前要求:
- Python
>= 3.13
主要依賴包含:
fastapiuvicornpandasnumpysqlalchemyshioajidatabento
安裝依賴¶
如果你使用 uv:
uv sync
啟動 API¶
uv run python app.py
啟動後預設會開在:
http://127.0.0.1:8000
可直接使用:
- Swagger UI:
http://127.0.0.1:8000/docs - ReDoc:
http://127.0.0.1:8000/redoc
啟動時會發生什麼¶
app.py 在模組載入時就會做幾件事:
load_dotenv()- 初始化 quote adapter
- 建立資料庫連線與資料表
- 印出 startup config
- 直接跑一次初始回測
這代表:
- 啟動不是完全無副作用
- 若外部資料源或金鑰有問題,服務可能在啟動階段就失敗
這一點在部署時非常重要,詳見 部署指南。
最低必要環境變數¶
實際使用時,至少可能需要:
SHIOAJI_API_KEY=...
SHIOAJI_SECRET_KEY=...
DB_TYPE=sqlite
SQLITE_PATH=./training_params.db
# 若使用 PostgreSQL
# DB_TYPE=postgresql
# DATABASE_URL=postgresql+psycopg2://USER:PASSWORD@HOST:PORT/DBNAME
STRATEGY_NAME=BollingerATRStrategy
OPTIMIZATION_WORKERS=4
驗證系統是否正常¶
建議依序檢查:
GET /strategy_listGET /ticker_listGET /get_strategyGET /get_timeframeGET /get_paramsGET /state
若以上可正常回應,代表:
- API 已啟動
- 全域狀態已初始化
- 策略系統可用
- 參數系統可用
- 回測主流程至少能產出 state
本機文件站¶
若要把本專案文件變成網站:
uv add --dev mkdocs mkdocs-material
uv run mkdocs serve
建置靜態網站:
uv run mkdocs build
輸出目錄:
site/