回测API的调用(内测)
由small_q创建,最终由stephen1231234 被浏览 27 用户
1.安装SDK(内测中)
联系工作人员申请成功后,将安装文件放到任意一个路径,输入pip install <路径>完成安装
2.bq命令的使用
如需测试,请在终端中测试,将下方指令替换成正确的信息(如自己的账号密码、正确的策略id)然后Enter
2.1 用户登录:
bq login <username> <password> (可选:<current_space>)
举例:
bq login abc123 123456
bq login abc123 123456 00000000-0000-0000-0000-000000000000
2.2采用AK-SK登录
bq login-keypair <AK>.<SK> (可选:<current_space>)
举例:
bq login-keypair abcdabcdabcd.abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefg
bq login-keypair abcdabcdabcd.abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefg 00000000-0000-0000-0000-000000000000
2.3 用户登出
bq logout
2.4用户信息查询
bq whoami
2.5.远程运行python脚本或.ipynb脚本
bq run (可选:-k <kernel-id>) <file_path>
举例:
bq run "tests/test.py"
bq run -k abcd1234 "tests/test.py"
2.6查看我所有运行过的策略信息
bq show mystrategy (可选:<page>) (可选:<size>)
注: page默认为1, size默认为10, 后续涉及page和size的也默认采用此默认值
举例:
bq show mystrategy
bq show mystrategy 2 3
2.7查看AI广场的策略信息
bq show aistrategy (可选:<page>) (可选:<size>)
举例:
bq show aistrategy
bq show aistrategy 1 5
2.8 (常用)根据策略id查看策略下的持仓详情和交易详情的具体信息
bq show id <id> (可选:<page>) (可选:<size>)
bq show id --strategy-id <strategy_id> (可选:<page>) (可选:<size>)
bq show id --account-id <account_id> (可选:<page>) (可选:<size>)
注: 此处的page和size表示持仓详情、交易详情的page和size
举例:
# 使用传统方式(兼容原有用法)
bq show id abcdabcdabcd-1234-5678 3 5
bq show id abcdabcdabcd-1234-5678
# 使用策略ID
bq show id --strategy-id abcdabcdabcd-1234-5678
bq show id --strategy-id abcdabcdabcd-1234-5678 2 10
# 使用账户ID
bq show id --account-id abcdabcdabcd-1234-5678
3.API的使用
导入strategy, user, run:
from bigquant.api import strategy, user, run
如需测试, 请将下方需要的代码注释掉, 换成正确的信息(如自己的账号密码、正确的策略id)然后运行:
3.1用户登录:
user.login(username='<username>', password='<password>', (可选)current_space='<current_space>')
举例:
user.login(username='abc123', password='123456')
user.login(username='abc123', password='123456', current_space='00000000-0000-0000-0000-000000000000')
说明:
如果需要登录的同时查看登录信息, 需要使用变量来接收
例如:
res = user.login(username='abc123', password='123456')
print(res)
3.2 采用AK-SK登录:
user.login(keypair='<AK>.<SK>', (可选)current_space='<current_space>')
举例:
user.login(keypair='abcdabcdabcd.abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefg')
user.login(keypair='abcdabcdabcd.abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefg', current_space='00000000-0000-0000-0000-000000000000')
说明:
如果需要登录的同时查看登录信息, 需要使用变量来接收
例如:
res = user.login(keypair='abcdabcdabcd.abcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefg')
print(res)
3.3用户登出:
user.logout()
3.4用户信息查询:
res = user.whoami()
print(res)
3.5远程运行python脚本或.ipynb脚本
run.execute('<file_path>', (可选)'<kernel_id>')
举例:
run.execute('tests/test.py')
run.execute('tests/test.py', 'abcd1234')
3.6查看我的策略信息
res = strategy.get_strategy((可选)<page>, (可选)<size>)
print(res)
举例:
res = strategy.get_strategy()
print(res)
res = strategy.get_strategy(2, 3)
print(res)
\
3.7根据策略id或账户id查看持仓详情
# 使用策略ID查询
res = strategy.get_position(strategy_id='<策略id>', (可选)<page>, (可选)<size>, (可选)df=True/False)
# 或使用账户ID查询
res = strategy.get_position(account_id='<账户id>', (可选)<page>, (可选)<size>, (可选)df=True/False)
print(res)
举例:
# 使用策略ID返回JSON格式
res = strategy.get_position(strategy_id='abcd1234')
print(res)
res = strategy.get_position(strategy_id='abcd1234', page=2, size=5)
print(res)
# 使用账户ID返回JSON格式
res = strategy.get_position(account_id='abcd1234')
print(res)
# 返回DataFrame格式
positions_df = strategy.get_position(strategy_id='abcd1234', df=True)
print(positions_df)
3.8根据策略id或账户id查看交易详情
# 使用策略ID查询
res = strategy.get_order(strategy_id='<策略id>', (可选)<page>, (可选)<size>, (可选)df=True/False)
# 或使用账户ID查询
res = strategy.get_order(account_id='<账户id>', (可选)<page>, (可选)<size>, (可选)df=True/False)
print(res)
举例:
# 使用策略ID返回JSON格式
res = strategy.get_order(strategy_id='abcd1234')
print(res)
res = strategy.get_order(strategy_id='abcd1234', page=2, size=5)
print(res)
# 使用账户ID返回JSON格式
res = strategy.get_order(account_id='abcd1234')
print(res)
# 返回DataFrame格式
orders_df = strategy.get_order(strategy_id='abcd1234', df=True)
print(orders_df)
3.9根据策略id或账户id查看计划交易详情
# 使用策略ID查询
res = strategy.get_planned_order(strategy_id='<策略id>', (可选)trading_day='<yyyy-MM-dd格式的交易日>', (可选)<page>, (可选)<size>, (可选)df=True/False)
# 或使用账户ID查询
res = strategy.get_planned_order(account_id='<账户id>', (可选)trading_day='<yyyy-MM-dd格式的交易日>', (可选)<page>, (可选)<size>, (可选)df=True/False)
print(res)
注: 若不填交易日参数, 则默认显示今天的交易
举例:
# 使用策略ID返回JSON格式
res = strategy.get_planned_order(strategy_id='abcd1234')
print(res)
res = strategy.get_planned_order(strategy_id='abcd1234', trading_day='2025-07-11')
print(res)
res = strategy.get_planned_order(strategy_id='abcd1234', trading_day='2025-07-11', page=2, size=4)
print(res)
# 使用账户ID返回JSON格式
res = strategy.get_planned_order(account_id='abcd1234')
print(res)
# 返回DataFrame格式
planned_orders_df = strategy.get_planned_order(strategy_id='abcd1234', df=True)
print(planned_orders_df)
3.10根据策略id查看绩效数据
#使用策略ID查询
res = strategy.get_performance(strategy_id='<策略id>')
print(res)
举例:
# 使用策略ID查询
res = strategy.get_performance(strategy_id='abcd1234')
print(res)
\