跳轉到

Phase 1 實作清單

這份清單的目標,是把 Phase 1 從概念藍圖拆成可以逐項落地的工作項目。

Phase 1 完成定義

如果 Phase 1 完成,應至少滿足以下條件:

  • 有明確的 instrument_id 與 symbol mapping
  • live data 與 historical data 都能轉成 canonical events
  • raw data 有保存
  • strategy 不直接依賴 vendor API
  • execution 有獨立邊界
  • 至少能做基本 replay

1. 架構邊界先寫清楚

必做

  • 定義 資料來源層
  • 定義 資料接入層
  • 定義 標準資料模型
  • 定義 策略層
  • 定義 風控層
  • 定義 執行層

交付物

  • 一張系統上下文圖
  • 一份簡短架構原則文件

2. 商品主檔

必做

  • 定義 instrument_id
  • 定義 symbol alias 規則
  • 定義 market / venue
  • 定義 session template
  • 定義 tick size / lot size / multiplier

建議表格

  • instruments
  • instrument_aliases
  • markets
  • venues
  • session_templates

驗收標準

  • 同一商品在不同 source 下可映射到同一 internal id

3. Canonical Schema

必做

  • 定義 trade
  • 定義 quote
  • 定義 bar
  • 定義 order_intent
  • 定義 order_event
  • 定義 fill

每個 schema 至少包含

  • schema_name
  • schema_version
  • event_time
  • ingest_time
  • instrument_id
  • source
  • metadata

驗收標準

  • strategy 與 replay 都使用相同 schema

4. 資料接入

必做

  • 接入至少一條 live market data source
  • 接入至少一條 historical source
  • 對每個 source 建立獨立 connector
  • 建立 normalizer

每條 source 都要輸出

  • raw payload
  • normalized canonical events

驗收標準

  • 任一 event 都可追到 raw source

5. 儲存與串流

必做

  • 建立 raw/ parquet 目錄規範
  • 建立 canonical/ parquet 目錄規範
  • 建立 Kafka canonical topics

優先 topic

  • md.trade.v1
  • md.quote.v1
  • md.bar.1s.v1
  • md.bar.1m.v1
  • exec.order_intent.v1
  • exec.order_event.v1
  • exec.fill.v1

驗收標準

  • 可以從 Kafka 消費 live canonical events
  • 可以從 parquet 讀回 historical canonical events

6. Replay 與 bar 聚合最小能力

必做

  • historical data 可重播成 canonical events
  • trade / quote 可聚合成 1s bar
  • 1s bar 可聚合成 1m bar

必須先決定的規則

  • 用 event time 還是 ingest time 聚合
  • late event 怎麼處理
  • session 邊界怎麼定義
  • bar finalize 規則

驗收標準

  • 同一策略可在 replay 模式下重跑

7. 策略、風控、執行邊界

必做

  • strategy 只輸出 signal 或 order intent
  • risk engine 決定是否允許下單
  • execution gateway 負責 broker mapping
  • order event / fill 回流平台

禁止事項

  • strategy 直接碰 broker SDK
  • strategy 直接處理 broker callback
  • strategy 直接查 vendor-specific schema

驗收標準

  • 更換 broker adapter 時,不需重寫策略核心

8. 基本可觀測性

必做

  • connector heartbeat
  • Kafka consumer lag 觀測
  • strategy heartbeat
  • execution success / reject metrics

至少要知道

  • 哪個 connector 斷了
  • 哪個 consumer lag 了
  • 哪個 strategy 沒心跳
  • 哪個 broker route 有問題

9. Phase 1 不做清單

先不要做:

  • 全市場多 source 對照
  • 複雜 portfolio engine
  • 完整 metadata catalog
  • Iceberg / Delta Lake
  • 太重的 workflow orchestration
  • 太細碎的 microservices 拆分

10. 建議實作順序

  1. 商品主檔與 symbol mapping
  2. canonical schema
  3. connectors + normalizer
  4. raw archive + canonical Kafka topics
  5. strategy runtime 接 canonical stream
  6. risk engine + execution gateway
  7. replay 與基本 bar aggregation
  8. metrics 與基本觀測

最後一句話

Phase 1 的目標不是完整,而是先做出一個之後不需要砍掉重練的骨架。