iT邦幫忙

2025 iThome 鐵人賽

DAY 2
0
Rust

NautilusTrader 架構解析:Rust 在高效能量化交易平台中的角色與優勢系列 第 2

【Day2】如何在本地端啟動 NautilusTrader

  • 分享至 

  • xImage
  •  

今天先記錄一下:如何在本地端成功啟動這個交易系統專案。

畢竟要先能夠順利 build 起來,才有辦法往下研究架構與效能和開發


開發工具安裝

NautilusTrader 的開發者已經將大部分啟動流程封裝在 Makefile 裡面,對開發者非常友善,這絕對是這個專案值得學習的一點,相關資訊可以在專案中的 docs/developer_guide/environment_setup.md 找到。

首先,先安裝必要工具:

rustup:Rust 工具鏈安裝器

clang:LLVM 編譯器,C/C++ 編譯用(有些 Python 原生模組會依賴)

uv:建議用來管理 Python 環境與相依套件(比 pip 快超多)

因為這些工具過去已經安裝過了,這邊就不再仔細說明,可以點擊進入官網去安裝


專案初始化

進入專案根目錄後,執行以下指令即可完成初始安裝:

這邊建議一開始就先開自己的 branch

make install

如果你是開發者、會頻繁修改 Rust/Cython 程式碼,建議改用:

make install-debug

這會使用 debug 編譯模式,速度快非常多。


Pre-commit 設定(開發者必做)

開發時我們會希望在 commit 前就先跑格式檢查、靜態分析等流程,這樣可以減少 CI 的錯誤。

.venv/bin/pre-commit install
make format
make pre-commit

編譯 Build(含 Rust + Cython)

任何對 .rs, .pyx, .pxd 檔案的更動,都需要重新編譯:

make build

一樣,如果你是開發者,使用 debug 模式比較快:

make build-debug

啟動服務與資料庫

接下來我們啟動後端依賴服務(PostgreSQL、Redis 等):

make start-services

建立開發用的預設資料庫:

make init-db

你可以用psql或pgAdmin來測試連線是否成功

如果連不上,有可能是你本機的 PostgreSQL 服務和 Docker 的 5432 port 發生衝突,
可以考慮去 docker-compose.yml 裡調整 port mapping

底下示範一下如何登入
進入pgAdmin後 點選Add server
填入對應的連接資訊
https://ithelp.ithome.com.tw/upload/images/20250806/201779992RV2bR3lZo.png

進入之後就可以看到他幫你創建的table
https://ithelp.ithome.com.tw/upload/images/20250806/201779999Eim8QfiXi.png


今天就先到這,明天跟後天會簡單說明一下,如何在上面撰寫策略,畢竟還是會有人想知道這個部分,接著就會進入Rust的部分了.


上一篇
【Day1】前言 : 探索 Rust 在高效能量化交易平台中的應用
下一篇
【Day3】- 如何在 NautilusTrader 運行策略(Backtest)
系列文
NautilusTrader 架構解析:Rust 在高效能量化交易平台中的角色與優勢22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言