BigQuant 期货实盘交易文档
由small_q创建,最终由small_q 被浏览 16 用户
在本地电脑上运行实盘交易策略时,需要先安装bigquant相关的sdk包,安装完成后就可以将在bigquant aistuio开发高频交易策略原样下载下来,并添加用户自己的账户信息至环境变量就可以开启实盘交易了。sdk使用步骤:
一、安装 bigquant sdk 包
1)先安装 python3.11 x64 环境
2)执行命令:pip install -i https://pypi.bigquant.com/simple/ bigquant -U,该命令会自动安装 bigquant sdk 包及其依赖包
3)关于升级:若是 bigquant 包升级了,则再执行上述命令即可,若是 bigtradercpp(交易引擎包)升级了,则执行命令:bq pkg upgrade
4)独立安装:pip install -i https://pypi.bigquant.com/simple/ bigtradercpp==0.1.8,或者 pip uninstall bigtradercpp
二、策略示例
1)现支持期货 CTP 接口交易,期货公司包括:SimNow,宏源期货主席
2)需要设置的环境变量:
| 变量名 | 变量值 | 说明 |
|---|---|---|
| BROKER | 您开户交易的经纪商名称 | 现只支持 "SimNow" 和 "宏源期货主席",前者为仿真交易,后者为实盘交易 |
| ACCOUNT_ID | 您在经纪商开户的资金账号 | |
| ACCOUNT_PASSWORD | 资金账号的密码 |
3)策略示例
import os
from bigquant import bigtrader
# 当实盘时需要设置以下环境变量(回测时不需要)
os.environ["BROKER"] = "宏源期货主席" # 您要交易的经纪商,还可以是 'SimNow',底层会通过此名字自动匹配支持的经纪商的地址信息
os.environ["ACCOUNT_ID"] = "038313" # 您在经纪商开户的资金账号
os.environ["ACCOUNT_PASSWORD"] = "123456" # 您的资金账号密码
def initialize(context: bigtrader.IContext):
print("initialize")
def before_trading_start(context: bigtrader.IContext, data: bigtrader.IBarData):
print(f"before_trading_start instruments={context.instruments}")
# 订阅行情
context.subscribe(context.instruments)
def handle_tick(context: bigtrader.IContext, tick: bigtrader.ITickData):
price = tick.last_price
instrument = tick.instrument
print(f"收到tick: {instrument} @ {price}")
# 可以通过 context 的接口获取资金/持仓,或者报撤单
def handle_order(context: bigtrader.IContext, order: bigtrader.IOrderData):
print(f"收到order: {order}")
def handle_trade(context: bigtrader.IContext, trade: bigtrader.ITradeData):
print(f"收到trade: {trade}")
bigtrader.run(
market=bigtrader.Market.CN_FUTURE,
frequency=bigtrader.Frequency.TICK,
instruments=["IF2606.CFE"],
initialize=initialize,
before_trading_start=before_trading_start,
handle_tick=handle_tick,
handle_order=handle_order,
handle_trade=handle_trade,
)
4)交易引擎接口文档:BigTrader 量化交易引擎(回测)
三、DAI 数据使用
1)若在策略中需要bigquant的DAI数据,则需要在本地中使用 daisdk,使用前需要认证aksk,使用命令:TODO:
四、注意事项
1)建议你的策略在SimNow上充分测试过后再上线实盘,即环境变量 BROKER 设置为 "SimNow" 仿真环境,而不是 "宏源期货主席" 的生产环境
2)实盘策略运行时,建议打开其它终端,如快期,便于做账户监控和及时干预
3)策略运行时,会产生两个日志,一个是 bigtrader python 模块的日志,一个是 bigtrader engine 的日志,默认都在 logs 目录下