FLOX 是一套模組化交易系統框架,以 C++20 為核心,提供五種語言綁定與統一策略 API。指標庫、訂單簿、回測引擎、四個原生交易所連接器均內建,另附 flox-mcp 讓 AI coding agent 取得真實 FLOX 介面。本手冊從安裝走到第一次回測。
FLOX 來自 FLOX Foundation,是一套以 C++20 為核心的模組化交易系統框架,2026 年 5 月釋出 v0.6.1。README 首行標示的核心設計是 polyglot strategy bindings:以 Python、Node.js、Codon、嵌入式 JavaScript 或 C API 撰寫策略,底層統一跑在同一份 C++ 引擎上,行為一致。
多數量化工具需要兩份程式碼:研究階段用 Python 寫 backtest 腳本,上線時再以 C++ 或 Rust 重寫正式版。FLOX 去掉這個重寫步驟。它的設計目標是同一份策略程式碼,從回測直接走到實盤,中間沒有 rewrite step。策略繼承 Strategy / IStrategy,實作 on_trade()、start()、stop() 等生命週期方法;成交與報價事件透過 Disruptor 風格的 ring buffer 無鎖派送,busy-spin consumer 負責低延遲消費。
框架不只給你一個空殼。串流指標庫(EMA、RSI、SMA…)、訂單簿、回測引擎、資料 I/O 都內建。交易所這端有四個原生 connector:Bybit V5、Bitget V2、Hyperliquid、Polymarket。再加上一個專門讓 AI coding agent 理解 FLOX 的 MCP 伺服器 flox-mcp。整套採 MIT 授權,floxlabs.dev 提供商用支援。
FLOX 把安裝拆成兩條路。只要寫策略、跑指標、做回測,直接從 PyPI 或 npm 裝預編譯套件,完全不用碰 C++ 工具鏈。要連接交易所、編譯 connector,或自己改引擎,才需要從原始碼用 CMake 建。
需要 Python 3.10+、Node 18+、C++20 編譯器(GCC 13+ 或 Clang 16+)、CMake 3.22+,作業系統限 Linux 或 macOS。FLOX 以一組 CMake feature flag 控制編譯範圍,預設幾乎全部關閉,按需開啟。
BacktestRunner 需要 -DFLOX_ENABLE_BACKTEST=ON 才會把 src/backtest/ 編進核心庫;連接器需要 -DFLOX_BUILD_CONNECTORS=ON,並先備妥 OpenSSL、zlib、libcurl。Polymarket executor 另外吃 Rust 工具鏈,不需要時用 -DFLOX_ENABLE_POLYMARKET_ORDER_EXECUTOR=OFF 關掉。
FLOX 把一條完整交易管線拆成可組合的模組,依職責分為四組:策略與語言綁定、市場數據與指標、回測、交易所連接器。研究階段通常只用前三組,上線才接 connector。每張卡片對應一個具體模組。
| 語言綁定 | 安裝方式 | 適合場景 |
|---|---|---|
| Python | pip install flox-py |
研究、回測、快速原型 |
| Node.js | npm install @flox-foundation/flox |
Node 服務、TypeScript 團隊 |
| Codon | 原始碼建置 | 要 Python 語法,但接近原生速度 |
| JavaScript | C++ 內嵌(QuickJS) | 把策略邏輯熱載入引擎 |
| C API | libflox_capi.so |
接上任何其他語言的整合點 |
FLOX README 所稱的「AI-friendly developer tools」,指的是 flox-mcp,一個跑在本機的 Model Context Protocol 伺服器。它將 FLOX 的 C-API 簽章、錯誤碼目錄、指標庫直接提供給 Cursor、Claude Code、Cline 等 AI agent,使其取得真實介面而非依訓練資料推測。flox-mcp 由 IDE 以子行程啟動,走 stdio 溝通,全程本機執行,不對外連線。以下說明八個配置要點。
pip install flox-mcp 之後跑 flox-mcp init,它會生成 .mcp.json。加 --global 寫到 ~/.config/claude/.mcp.json;先用 --print 看合併結果、再決定要不要寫入。
flox-mcp 共開 14 個工具。查資料常用 list_indicators、list_capi_functions、docs_search,分別列出指標簽章、搜尋 C-API 介面、全文搜文件。AI agent 可直接取得函式名稱,無需推測。
scaffold_strategy 生成 Python / Node 的起手式模板(bar / trade / hybrid 三種變體);validate_strategy 對 Python 策略做 AST 靜態分析,檢查 hook 有沒有接對。讓 AI 生出的策略先過這關。
跑出 E_SYM_001 這類錯誤碼時,lookup_error_code 會對應到 Markdown 文件說明。配合 explain_event 解釋事件結構欄位,debug 不用翻原始碼。
compute_indicator 對 float 陣列跑指標(輸入上限 1 MiB);run_backtest 在資源受限的子行程裡跑策略對 CSV 資料集。AI agent 能當場驗證數字,不只生成程式碼。
flox-mcp、flox-py、@flox-foundation/flox 版本號同步發佈。wheel 內含 C-API snapshot、錯誤文件、binding manifest、SQLite FTS5 文件索引等唯讀快照,確保 agent 讀到的介面與實際安裝版本一致。
不確定該用哪個指標時,suggest_indicator 把英文描述對應到排序後的指標建議;lookup_symbol 則把符號名在 C-API、Python、Node、Codon 之間互譯。
flox-mcp 預設只給唯讀查詢與計算。要解鎖 tier-5/6 的實盤功能,得另外起 paper engine:flox engine sim --strategy s.py --tape ./tape,再用 flox-mcp init --engine-url URL --token T 把控制伺服器接上。
以下是一段示範流程:你想做一個 BTCUSDT 的雙均線交叉策略。先讓 Claude Code 透過 flox-mcp 生出骨架,再用 flox-py 寫策略、跑回測。指令與程式碼取自 FLOX 官方文件與 mcp/README.md;回測數字為示意值。
flox-mcp 的作用是讓 AI agent 取得真實的 FLOX 介面,而非生成程式碼。scaffold_strategy 提供官方模板,validate_strategy 執行真實 AST 分析,run_backtest 在受限子行程裡執行。agent 使用的是確認過的 API,不依賴訓練資料推測。
sma_cross.py 從回測到實盤不需修改,原因是 BacktestRunner 與 Runner 共用同一份策略 API。回測時 run_csv 餵入歷史成交(CSV 欄位為 timestamp,price,qty,is_buy),實盤時 connector 餵入 WebSocket 事件。策略的 on_trade 邏輯保持不變。
-DFLOX_ENABLE_BACKTEST=ON,BacktestRunner 就不存在;忘了 -DFLOX_BUILD_CONNECTORS=ON,就連不上交易所。建置指令要按用途配齊。
run_backtest 只限制資源。要餵不可信輸入,得自己用 nsjail、firejail 或 Docker 包一層。
hl_signerd.py)做簽章;Polymarket 需要 Rust 工具鏈、連好的 proxy 錢包與 USDC 資金。不是 cmake 一下就全部到位。
PM_PRIVATE_KEY、PM_FUNDER_WALLET),禁止硬編。實盤金鑰外洩等同資金外洩。
--engine-url 與 --token 接上真實帳戶後,需自行管理對應權限。
FLOX 的整合點設計開放。C API 是官方文件明指「adding support for any other language」的擴充入口,凡能呼叫 C 的語言均可接上 FLOX 引擎。
1. 用 Codon 寫接近原生速度的策略。Codon 綁定讓你用接近 Python 的語法寫策略,卻編譯成原生碼。研究階段的 Python 程式碼能更平滑地過渡到高效能版本。
2. 把策略熱載進引擎。QuickJS 綁定把 JavaScript 策略執行階段內嵌進 C++ 引擎,適合需要動態載入、不重啟服務就換策略的場景。
3. 只編你要的連接器。用 -DFLOX_CONNECTORS="bybit;bitget" 挑選要編哪些交易所,不用每次把四個全編。連接器以 flox::connectors 靜態庫的形式跟引擎一起建。
4. 接上你自己的語言。編出 libflox_capi.so 後,Rust、Go、C# 都接得上。C API 就是 FLOX 給「任何其他語言」預留的擴充點。
5. 把 flox-mcp 接進團隊 AI 工作流。用 flox-mcp init --global 讓整台機器的 Claude Code / Cursor / Cline 都連上同一份 FLOX 介面快照,團隊成員的 AI agent 看到的 API 就一致。
① FLOX-Foundation/flox:主 repo 與 README,polyglot 綁定總覽與快速上手。
② mcp/ 目錄:flox-mcp 的完整工具清單、設定旗標與安全須知。
③ connectors/ 目錄:四個原生交易所連接器的建置與設定細節。