本研究將深入探討開源量化交易平台 NautilusTrader 的系統設計與高效能實現方式,特別聚焦於其 Rust 元件如何提升整體運算效能與安全性。NautilusTrader 為一個支援回測與實盤交易一致性的 Python 原生框架,透過將核心元件以 Rust 與 Cython 開發,成功克服傳統 Python 向高效能語言重構的斷層。
本專案將從架構層級剖析該平台如何透過 Rust:
• 實現事件驅動的回測與交易引擎
• 確保記憶體與型別安全(type safety)
• 提供 Python-native 的高效能接口
• 同時支援多資產與多交易所的低延遲操作
tokio::sync模塊提供了幾種狀態同步的機制: Mutex: 互斥鎖 RwLock: 讀寫鎖 Notify: 通知喚醒機制 Barrier: 屏障 Se...
Tokio task 的通信 通常來說,對於允許併發多執行分支的內核或引擎來說,都需要提供對應的通信機制和同步機制。 例如,多進程之間,有進程間通信方式,比如管...
今天來介紹一下要如何管理一個 Rust 專案,因為在開發大型專案時,如何組織程式碼是很重要的。 Rust 有一系列的功能能讓你管理你的程式碼組織,包含哪些細節能...
類型 說明 檔案位置 單元測試 測試單一函式/模組邏輯 mod tests {} 內嵌在模組中 整合測試 模擬外部使用情境 tests/ 目錄...
今天我們來說一下 NautilusTrader 是如何 結合 Rust 和 Python 的 可以透過查看 build.py 來得到,步驟如下 1. Rust...
接下來要開始實作 新的 crate 背景如下 : 當我們拿歷史資料訓練後出一個模型後,我們在實盤上要引入這個模型,根據輸出值,做判斷,其實就很像一個指標,那 N...
今天會做到在專案中使用 Rust 做出推論 底下先列出 tasks 決定模型架構與輸入輸出格式 載入測試特徵和預測值 隨機初始化測試模型並導出權重 將 Py...
今天要做的是針對昨天做出的推論模組,做實際測試⸻ 主要目標:• 驗證 Rust .so 模組輸出與 PyTorch 一致• 實測多次推論在 Rust 是否比 P...
今天要做的是將昨天完成的推論模組整合進入主系統,底下附上 tasks 準備環境 確認推論模組已經 build 成 .so / crate 可供呼叫 更新...
模型管理設計 在 config 檔(YAML/JSON)中定義 模型清單:名稱、路徑、用途 (e.g. “btc_usdt_orderbook”, “go...