效能基準

實測結果,而非行銷話術。詳細基準將隨 v1.0 版本一同發佈。

StratForge vs Python 回測器

核心回測操作的正面比較。

指標PythonStratForge改善幅度
單一指標(每根K線)TBDTBDTBD
策略步驟TBDTBDTBD
完整回測(1M 根K線)TBDTBDTBD
吞吐量TBDTBDTBD
記憶體佔用TBDTBDTBD

最佳化之旅

StratForge 如何在回測管線中複合最佳化效果。

階段 1:欄式K線儲存TBD

K線以快取友好的欄式緩衝區儲存。指標計算串流經過連續記憶體,而非追逐指標。

階段 2:增量指標TBD

每個指標維護內部狀態,每根K線以 O(1) 更新。無滑動視窗重新計算。

階段 3:無分支決策路徑TBD

策略的進場/出場邏輯在可能的情況下被改寫為無分支算術,以避免價格條件程式碼中的管線停滯。

階段 4:編譯時特化TBD

編譯時已知的指標參數成為 consteval。特化模板消除了執行時期調度。

零分配證明

在熱路徑上執行回測。

操作Python 回測器StratForge
堆積分配大量(每根K線的 Python 物件)0
K線儲存pandas DataFrame 複製欄式緩衝區上的 std::span 視圖
指標狀態每次呼叫的陣列分配預分配的滾動狀態
記憶體佔用動態、GC 驅動靜態、預分配
確定性跨執行的浮點漂移位元精確可重現

技術比較

複合為確定性、低延遲回測的設計決策。

技術Python 回測器StratForge
記憶體佈局列導向(DataFrame)欄導向(快取友好)
指標更新每次呼叫重新計算視窗每根K線增量 O(1)
迴圈調度解譯式 Python 迴圈內聯 C++ 模板迴圈
數值確定性依賴 NumPy / pandas 版本跨執行位元精確
策略組合類別階層 + 動態調度Concepts + 靜態多型
錯誤處理例外std::expected(無拋出)

架構影響

在 StratForge 設計過程中研究的業界領先函式庫與框架。

函式庫我們學到的我們建構的成果
TA-Lib權威的指標定義與邊界情況處理C++23 僅標頭指標庫138 個指標
vectorbt向量化回測 API 與參數掃描編譯時的模板化參數擴展TBD
backtrader策略生命週期與事件掛鉤Concept 驅動的策略介面型別安全生命週期
QuantLib模組化定價與分析架構可插拔的分析模組TBD
Eigen零開銷數學的表達式模板延遲指標組合無臨時緩衝區
Arrow欄式記憶體佈局標準原生欄式K線儲存快取行友好
Folly無鎖原語與 small_vector預分配的交易日誌TBD
Highway可攜式 SIMD 抽象SIMD 友好的指標內部迴圈TBD
fmt編譯時格式化字串零成本報告格式化TBD
Boost.PMR用於 Arena 分配的單調緩衝區std::pmr::monotonic_buffer_resource 池零堆積分配
Catch2BDD 風格的指標單元測試位元精確回歸測試套件可重現的 CI

準備好試用 StratForge 了嗎?

三行命令即可複製並開始回測。

git clone https://github.com/StratCraftsAI/StratForge.git cd StratForge ./start.sh build