iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Rust

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

本研究將深入探討開源量化交易平台 NautilusTrader 的系統設計與高效能實現方式,特別聚焦於其 Rust 元件如何提升整體運算效能與安全性。NautilusTrader 為一個支援回測與實盤交易一致性的 Python 原生框架,透過將核心元件以 Rust 與 Cython 開發,成功克服傳統 Python 向高效能語言重構的斷層。

本專案將從架構層級剖析該平台如何透過 Rust:
• 實現事件驅動的回測與交易引擎
• 確保記憶體與型別安全(type safety)
• 提供 Python-native 的高效能接口
• 同時支援多資產與多交易所的低延遲操作

參賽天數 22 天 | 共 22 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文
DAY 1

【Day1】前言 : 探索 Rust 在高效能量化交易平台中的應用

前言 這是我第一次深入接觸以 Rust 實作的高效能開源交易系統。我不是這方面的專家,這個系列文更像是我的學習紀錄 —— 希望邊做邊學、邊寫邊懂,過程中如果有寫...

2025-08-05 ‧ 由 catdev 分享
DAY 2

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

今天先記錄一下:如何在本地端成功啟動這個交易系統專案。 畢竟要先能夠順利 build 起來,才有辦法往下研究架構與效能和開發 開發工具安裝 NautilusT...

2025-08-06 ‧ 由 catdev 分享
DAY 3

【Day3】- 如何在 NautilusTrader 運行策略(Backtest)

運行策略分為三部份 Backtest Live Sandbox 今天會先講Backtest的部分 Backtest 首先進入 doc/getting_st...

2025-08-07 ‧ 由 catdev 分享
DAY 4

【Day4】- 如何在 NautilusTrader 運行策略(Live&Sandbox)

這兩者的差別在於 Live : 用真實數據和真實交易所 Sandbox : 用真實數據和虛擬交易所 底下先來介紹 Sandbox 的使用方式 San...

2025-08-08 ‧ 由 catdev 分享
DAY 5

【Day5】- 如何結合 Python 和 Rust

從過去幾天的探索,我們發現 NautilusTrader 雖然提供的是 Python 使用介面,但核心運算其實是由 Rust 驅動。 這種設計的好處,是能讓開發...

2025-08-09 ‧ 由 catdev 分享
DAY 6

【Day6】- Rust(Concepts, Ownership)

今天主要會講的部分有 Common Concepts Ownership 相信各位已經有自己熟知的程式語言,所以這裡不會鉅細彌遺的講過所有語法,如果是第一次...

2025-08-10 ‧ 由 catdev 分享
DAY 7

【Day7】- Rust(Slice, Struct)

今天主要會講的部分有 Slice Struct Slice Slice類型通常翻譯為切片,它表示從某個包含多個元素的容器中取得局部數據,這個過程稱為切片操作...

2025-08-11 ‧ 由 catdev 分享
DAY 8

【Day8】- Rust(Lifetime, Trait)

今天主要會講的部分有 Lifetime Trait Lifetime Lifetime 生命週期是為了確保我們在需要參考的時候,它們都是有效的。 我們前面提...

2025-08-12 ‧ 由 catdev 分享
DAY 9

【Day9】- Rust(Enum, Generics)

今天主要會講的部分有 Enum Generics Enum Enum作為一種數據類型,可以用來限制允許存放的數據。 例如底下 : enum Ordertyp...

2025-08-13 ‧ 由 catdev 分享
DAY 10

【Day10】- Rust(Tokio)

Tokio 如果過去有學習過 Python 的 asyncio 的話,應該可以當時學到的是類似這樣: 當我執行一個程式時,作業系統會建立一個 process(...

2025-08-14 ‧ 由 catdev 分享