跳到主要内容

📊 Trader API v2 文档

📌 概述

Trader v2 是一个高性能量化交易引擎的升级版本,基于Rust开发并通过PyO3绑定为Python接口。它在v1版本的基础上增加了更多直接访问交易所API的功能,使策略开发更加灵活强大。

🆕 新特性亮点

  • Python交易所支持 (pyex):支持使用Python语言编写自定义交易所适配器,为Python开发者提供更友好的集成方式
  • 智能事件处理模式:新增event_handle_mode配置,支持Latest/Sync/Async三种处理模式,优化不同数据类型的处理性能
  • 延迟统计功能:新增系统延迟、行情延迟、下单延迟等数据统计功能,提供详细的性能监控数据
  • 插件系统:支持功能扩展和定制化需求,如折扣币自动购买等
  • 性能优化:移除热路径上的spawn_blocking,大幅提升处理性能

⚠️ 重要:Result返回值处理说明

由于本API基于PyO3构建,所有返回数据的方法在Rust内部都返回Result类型。在Python中调用时,您需要特别注意以下几点:

🔍 返回值结构

大部分API方法返回的结果具有以下结构:

# 成功的返回值结构
{
"Ok": {
# 实际的数据内容
"data": "...",
"code": 200,
"msg": "success"
}
}

# 错误的返回值结构
{
"Err": {
"error": "错误描述",
"code": 400
}
}

💡 正确的使用方式

所有返回数据的方法都应该按以下方式处理:

# ✅ 正确的处理方式
result = trader.http_request("https://api.example.com/data", "GET", None)

if "Ok" in result:
# 成功情况 - 提取实际数据
data = result["Ok"]
print(f"请求成功: {data}")
else:
# 错误情况 - 处理错误信息
error = result.get("Err", "未知错误")
print(f"请求失败: {error}")

📑 API分类索引

分类功能模块主要用途
🚀 OpenQuant 执行流程详解配置文件加载、策略初始化、数据订阅、策略启动了解系统完整启动流程
核心交易功能交易所api指令执行、标识符生成执行交易所api、生成唯一ID
日志管理日志记录记录系统和交易信息
缓存管理缓存操作、缓存系统说明保存和恢复策略状态
外部通信HTTP请求获取外部数据
Web平台集成Web客户端管理等六个模块与Web平台交互和数据展示
交易所直接访问账户查询、订单管理、止损订单、市场数据、市值数据、交易所特殊说明直接访问交易所API
数据结构说明K线数据结构、表格格式等理解数据结构和格式
Python交易所支持Python交易所适配器开发自定义交易所集成
延迟统计功能系统延迟、行情延迟、下单延迟等数据统计功能性能监控和优化
插件系统折扣币自动购买插件等扩展功能系统扩展和功能增强
CLI命令行工具IP映射、依赖查询、系统状态、版本信息系统管理和信息查询

🔗 相关文档

📚 快速开始

  1. 安装SDK: 参考 Python SDK 安装指南
  2. 配置系统: 参考 配置文件说明
  3. 开发策略: 参考 策略开发指南
  4. API使用: 参考各功能模块的详细文档

⚠️ 注意事项

  • 请确保使用最新版本的SDK
  • 建议先在测试环境中运行策略
  • 实盘交易前请仔细阅读风险控制相关内容
  • 所有API调用都需要正确处理返回值结构

此文档为Trader API v2的完整参考,包含所有核心功能和高级特性。