📊 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映射、依赖查询、系统状态、版本信息 | 系统管理和信息查询 |
🔗 相关文档
📚 快速开始
- 安装SDK: 参考 Python SDK 安装指南
- 配置系统: 参考 配置文件说明
- 开发策略: 参考 策略开发指南
- API使用: 参考各功能模块的详细文档
⚠️ 注意事项
- 请确保使用最新版本的SDK
- 建议先在测试环境中运行策略
- 实盘交易前请仔细阅读风险控制相关内容
- 所有API调用都需要正确处理返回值结构
此文档为Trader API v2的完整参考,包含所有核心功能和高级特性。