Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Duri686/RustQuantLab

Open more actions menu

Repository files navigation

🦀 RustQuantLab

高性能 Web 永续合约模拟交易终端 · Rust/Wasm + React + TradingView

Rust WebAssembly React TradingView Tailwind CSS Vite License: CC BY-NC 4.0 DeepWiki

基于 Rust/WebAssembly 的本地永续合约模拟引擎,提供零延迟交易体验与专业级交易终端 UI。


📸 Snapshot

Dashboard Preview

✨ 核心亮点

  • ⚡ Rust 驱动的高性能 — 核心交易引擎编译为 WebAssembly,毫秒级处理高频 Tick 数据,on_tick_full 单次跨边界调用合并分析+K线+交易状态
  • 📈 完整模拟交易 — 支持多空开仓、杠杆调节 (1-125x)、市价/限价单、逐仓/全仓保证金、实时盈亏计算、强平预警
  • 📊 专业交易 UI — Binance 风格深色主题,TradingView Lightweight Charts K 线图、深度图、订单簿、24h 市场统计
  • 🛡️ 风控引擎 — 保证金率监控、强平价格计算、四级风险等级评估 (Safe/Warning/Danger/Critical)、逐仓追加保证金
  • 📱 全端响应式 — 从移动端到 4K 超宽屏的流畅网格布局,底部交易栏 + BottomSheet 移动适配
  • 🔄 双数据源 — Mock 模拟行情 (Random Walk) 与 Binance WebSocket 实时行情一键切换
  • 🧩 零拷贝桥接 — 通过 serde-wasm-bindgen 0.6 实现高效 JS ↔ Rust 数据序列化

🔧 架构设计

系统采用单一入口 + 双向数据流设计:useWasmEngine 统一编排市场数据与交易状态,React 只做 UI 搬运工,所有计算在 Rust 引擎中完成。

flowchart LR
    subgraph DataSource["📡 数据源"]
        A1[mockWorker<br/>Random Walk 行情]
        A2[Binance WebSocket<br/>实时市场数据]
    end
    
    subgraph Wasm["🦀 Rust/Wasm 核心引擎"]
        B[MarketEngine<br/>• 多周期 K线聚合<br/>• 技术指标计算<br/>• 订单簿处理]
        C[TradingEngine<br/>• 仓位管理<br/>• 盈亏计算<br/>• 限价单撮合<br/>• 风控强平]
    end
    
    subgraph Hooks["⚛️ React Hooks 层"]
        D[useWasmEngine<br/>统一编排入口]
        D1[useMarketData<br/>数据源抽象]
        D2[useDataSource<br/>数据源切换]
        E[useTradingActions<br/>交易操作封装]
        F[useCandleData<br/>K线数据适配]
        G[useMarketStats<br/>24h 市场统计]
    end
    
    subgraph UI["🖥️ UI 组件"]
        H[UnifiedMultiPaneChart<br/>多窗格 K线/指标]
        H1[ChartToolbar<br/>周期/指标切换]
        H2[DepthChart<br/>市场深度图]
        I[TradePanel<br/>开仓/挂单表单]
        J[PositionCard<br/>实时盈亏/风控]
        K[OrderBook<br/>深度盘口]
        L[StatsPanel<br/>24h 市场统计]
    end
    
    A1 -->|"Tick 流"| D1
    A2 -->|"Tick 流"| D1
    D2 --> D1
    D1 --> D
    D -->|"价格更新"| B
    D -->|"价格更新"| C
    B -->|"指标/K线"| D
    C -->|"交易状态"| D
    D --> F --> H
    D --> G --> L
    D --> H2
    D --> I
    D --> J
    D --> K
    H1 --> H
    I -->|"开仓/挂单"| E --> C
    
    style A1 fill:#2d333b,stroke:#00d4ff,color:#fff
    style A2 fill:#2d333b,stroke:#F0B90B,color:#fff
    style B fill:#4a2c0a,stroke:#f7931e,color:#fff
    style C fill:#4a2c0a,stroke:#f7931e,color:#fff
    style D fill:#1a365d,stroke:#61dafb,color:#fff
    style D1 fill:#1a365d,stroke:#61dafb,color:#fff
    style D2 fill:#1a365d,stroke:#61dafb,color:#fff
    style E fill:#1a365d,stroke:#61dafb,color:#fff
    style F fill:#1a365d,stroke:#61dafb,color:#fff
    style G fill:#1a365d,stroke:#61dafb,color:#fff
    style H fill:#3c1f3c,stroke:#aa344d,color:#fff
    style H1 fill:#3c1f3c,stroke:#aa344d,color:#fff
    style H2 fill:#3c1f3c,stroke:#aa344d,color:#fff
    style I fill:#1e3a2f,stroke:#0ecb81,color:#fff
    style J fill:#1e3a2f,stroke:#0ecb81,color:#fff
    style K fill:#1e3a2f,stroke:#0ecb81,color:#fff
    style L fill:#1e3a2f,stroke:#0ecb81,color:#fff
Loading

🚀 快速开始

环境要求

安装与运行

# 1. 克隆仓库
git clone https://github.com/Duri686/RustQuantLab.git
cd RustQuantLab

# 2. 安装前端依赖
npm install

# 3. 构建 Rust → WebAssembly 模块
cd core && wasm-pack build --target web --out-dir pkg && cd ..

# 4. 启动开发服务器
npm run dev

📁 项目结构

目录 说明
core/ 🦀 Rust/Wasm 核心引擎 (K线聚合、技术指标、交易撮合、风控强平)
src/ ⚛️ React 前端 (图表、交易面板、订单簿、状态管理)
docs/ 📚 设计文档与路线图

📜 许可证

本项目采用 CC BY-NC 4.0 许可证。

  • ✅ 允许学习、研究、个人使用
  • ✅ 允许修改和二次创作
  • ❗ 必须标注来源并链接原仓库
  • ❌ 禁止商业用途

About

🦀 Rust/Wasm-powered trading terminal with real-time K-line charts and order book visualization

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.