Arbiter 期現套利引擎
(期現套利引擎) 是一套事件驅動的本機端自動套利系統,專為台股「股票期貨 vs 對應現股」的期現價差套利而設計。它連接券商 API,於盤中即時監控每一檔標的的基差(股期市價 − 現股市價)與理論價差的偏離程度,當偏離度大到「扣除所有交易成本後仍有正淨利」時,自動建立 Delta Neutral 的雙腿對沖部位,並於價差收斂或觸及風控條件時平倉。
Arbiter 的運作哲學是**「不預測行情方向,只賺期現基差收斂的確定性報酬」**。它不押漲跌,而是在期、現兩個市場的暫時性失衡中,鎖定一段可計算的收斂利潤。正因為這類套利空間極薄,系統的每一個判斷都以「成本後淨利」為鐵門檻——名目價差再大,若不足以覆蓋手續費、交易稅、融券借券成本與預估滑價,系統一律不進場。
產品定位為單機、單一操作者使用的專業交易工具,而非雲端多租戶平台。它把「業主的策略知識」與「引擎的執行機制」徹底分離:所有進出場門檻、成本費率、風控上限、腿差參數、監控標的清單,全部是可由介面即時調整的設定資料;引擎本身只負責忠實讀取這些設定來運作。業主調整策略時,改的是資料,不需重新開發,也即時套用到運行中的部位。
考量到自動化交易的高度市場風險,Arbiter 把風險控管列為第一優先(P0)核心,而非附屬功能:任何標的要啟用真實自動交易前,必須先通過模擬環境驗證與逐標的「可行性閘門」兩道關卡;盤中則有部位上限、單日最大虧損、保證金預警、報價/連線熔斷等多道防線;並提供常駐、可遠端觸發的緊急停止(Kill Switch)。系統重啟後會自動比對券商端實際部位,避免重複或遺漏下單。
技術亮點
1. 事件驅動的非同步引擎(Python / asyncio)
單一事件迴圈承載報價匯入、價差與成本計算、訊號狀態機、雙腿下單、腿差控管與風控熔斷,確保部位與風控狀態的一致性。熱路徑與資料持久化解耦,內部處理延遲控制在數十毫秒級,避免錯失薄價差。
2. 券商抽象層(BrokerPort / Port-Adapter)
引擎完全不直接相依特定券商的型別。底下可掛三種實作:正式券商接口、測試用 FakeBroker、回測用 ReplayBroker。這讓核心策略邏輯能在無網路、無真錢的條件下被完整驗證,也為未來擴充其他券商保留彈性。
3. 腿差控管演算法(系統最核心的 know-how)
期、現是兩個獨立市場、不同帳戶,無法原子性同步成交,「單邊裸部位」是最高風險來源。Arbiter 以「限時、可追單、逾時即強制消除裸部位」為鐵則:主腿成交後在時間窗內送出對沖腿,未成交則改價追單最多 K 次,仍失敗即反向市價平掉已成交腿。「裸部位逾上限必強制消除」是寫死、不可由設定關閉的安全機制。
4. 宣告式風控與可行性閘門
風控以「閘門表」宣告式管理,新增一道風控等於新增一列資料、不改引擎;每次觸發都寫入不可竄改的稽核日誌,可證明系統依規格執行。可行性閘門則對每一檔標的自動檢核流動性、可對沖整除性、(反向時)可融券狀態與合約有效性,未通過者僅允許監控、不得自動下單。
5. 成本後淨利純函式
所有費率集中參數化,淨利計算為無副作用的純函式(金額一律以 Decimal 處理,杜絕浮點誤差),既好測試、好回測,也便於依券商實際條件調校。
6. 本機 API 與即時介面
引擎以 FastAPI 提供 REST 命令與 WebSocket 即時推播(僅綁定本機,不對外開放);前端為 React + TypeScript + Ant Design 打造的監控盤,即時顯示基差、偏離度、訊號燈、持倉損益、委