BigQuant SDK 使用文档
由small_q创建,最终由small_q 被浏览 7 用户
介绍
BigQuant SDK 提供 Python API 接口,帮助开发量化投资策略和使用 BigQuant:
- 📊 数据查询:海量金融数据的 SQL 查询接口
- 📈 模拟交易:策略回测与模拟交易管理
- 💰 账户管理:交易账户的持仓、订单、资金查询
- 🔬 回测引擎:高性能本地策略回测
- ☁️ 云端计算:BigQuant AIStudio 云计算环境
- 🚀 分布式计算:基于BigQuant FAI 的大规模并行计算
安装
pip install bigquant
支持系统
- 操作系统:Windows / Linux / macOS
- Python 3.11(目前仅支持 3.11,将支持更多 Python 版本)
登录
- 登录 BigQuant 平台获取 API Key:https://bigquant.com/aiuser/access_key
- BigQuant > 我的 > API Keys > 创建
bq --save-auth --aksk apikey
\
数据
# 读
# 写
# 查
\
策略
第一个策略:实现代码
本地回测:python xx.py
云端回测:bq aistudio run -- python xx.py
部署运行
- 部署模拟交易:bq papertrading deploy xx.py,参数等等(代码编译?bq aistudio run -- xxxx xxx.py, …) or 在界面操作
- 获取绩效数据和信号等:用代码获取
大规模算力
- 创建集群
- 命令行
- 代码
- 运行代码
- 删除集群
- 手动命令行
- 代码
更多资料
- BigQuant SDK 用户使用教程
- BigQuant SDK 详细文档
如何查询数据?
示例:
from bigquant import dai
data = dai.query("SELECT date, instrument, close, volume FROM cn_stock_bar1d WHERE instrument = '000001.SZ' AND date >= '2024-01-01' LIMIT 5")
print(data)
示例结果:
date instrument close volume
0 2024-01-02 000001.SZ 10.15 512345678
1 2024-01-03 000001.SZ 10.28 623456789
2 2024-01-04 000001.SZ 10.12 434567890
3 2024-01-05 000001.SZ 10.35 745678901
4 2024-01-08 000001.SZ 10.42 856789012
直达教程:#
如何获取我的策略?
from bigquant import papertrading
strategies = papertrading.list()
print(strategies)
直达教程:#
如何查看策略绩效?
from bigquant.papertrading import get
strategy = get("your-strategy-id")
perfs = strategy.get_performances()
print(perfs)
直达教程:#
如何进行本地回测?
def initialize(context):
context.symbol = "000001.SZ"
def handle_data(context, data):
price = data.current(context.symbol, "close")
context.order_target_percent(context.symbol, 1.0)
result = client.bigtrader.backtest.run(
start_date="2024-01-01",
end_date="2024-12-31",
strategy={
"initialize": initialize,
"handle_data": handle_data
},
capital_base=1000000,
market="cn_stock",
frequency="1d"
)
print(result['algorithm_period_return'].iloc[-1])
示例结果:
0.1823
直达教程:#
如何使用云端计算?
from bigquant.aistudio import start
studio = start() # 自动启动云端环境
# 等待启动...(约 10-30 秒)
result = studio.run("""
import pandas as pd
print(f'Pandas version: {pd.__version__}')
df = pd.DataFrame({'A': \[1, 2, 3\]})
print(df)
""", is_code=True)
print(result)
studio.close() # 释放资源
示例结果:
Pandas version: 2.2.0
A
0 1
1 2
2 3
直达教程:#
两种调用方式
BigQuant SDK 提供两种等价的调用方式:
- 方式 1:通过客户端对象(推荐)
import bigquant
client = bigquant.from_config(r“自定义配置路径“)
result = client.dai.query("SELECT * FROM cn_stock_bar1d LIMIT 10")
strategies = client.papertrading.list()
适用场景:多账户、需要显式管理客户端
- 方式 2:直接使用模块函数(首次认证默认账户)
from bigquant.dai import query
from bigquant.papertrading import list
result = query("SELECT * FROM cn_stock_bar1d LIMIT 10")
strategies = list()
适用场景:单账户、快速开发
1.4 接下来
📚 用户指南
深入了解各个模块的详细用法:
- Dai 数据查询
- Papertrading 模拟交易
- Bigtrader 回测引擎
- AIStudio 云端计算
- Fai 分布式计算
🔍 API 参考
查看所有可用的类、方法和参数:
- API 完整文档
💬 社区
- https://bigquant.com/community - 提问、分享经验
- 示例代码库 - 查看更多实战案例
\