Bigtrader 本地sdk实盘交易(期货实盘)
由qxiao创建,最终由qxiao 被浏览 5 用户
期货实时实盘
在本地电脑上运行实盘交易策略时,需要先安装 bigquant 相关的 SDK 包。安装完成后,可将在 BigQuant AIStudio 开发的高频交易策略原样下载下来,添加账户信息至环境变量后即可开启实盘交易。
一、安装 bigquant SDK 包
-
先安装 Python 3.11 x64 环境
-
执行命令安装 SDK 及其依赖包:
pip install -i https://pypi.bigquant.com/simple/ bigquant -U -
升级说明:
-
若
bigquant包升级,重新执行上述命令即可 -
若
bigtradercpp(交易引擎包)升级,执行:bq pkg upgrade
-
-
独立安装或卸载
bigtradercpp:pip install -i https://pypi.bigquant.com/simple/ bigtradercpp==0.1.8 # 或 pip uninstall bigtradercpp
二、策略示例
支持的期货接口
目前支持期货 CTP 接口交易,支持的期货公司包括:SimNow、宏源期货主席。
环境变量配置
运行实盘策略前需设置以下环境变量:
| 变量名 | 变量值 | 说明 |
|---|---|---|
BROKER |
经纪商名称 | 目前支持 "SimNow"(仿真)和 "宏源期货主席"(实盘) |
ACCOUNT_ID |
资金账号 | 您在经纪商开户的资金账号 |
ACCOUNT_PASSWORD |
账号密码 | 资金账号的密码 |
策略示例
import os
from bigquant import bigtrader
# 实盘时需要设置以下环境变量(回测时不需要)
os.environ["BROKER"] = "宏源期货主席" # 经纪商名称,底层会自动匹配对应地址
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,
)
交易引擎接口文档参见:交易API文档
三、DAI 数据使用
若策略中需要使用 BigQuant 的 DAI 数据,需在本地使用 daisdk,使用前需通过 bq auth 命令认证 AK/SK。详见 登录认证。
四、注意事项
- 先仿真后实盘:建议策略在 SimNow 仿真环境(
BROKER="SimNow")充分测试后,再切换至生产环境(BROKER="宏源期货主席")。 - 账户监控:实盘策略运行时,建议同时打开其他终端(如快期),便于账户监控和及时干预。
- 运行日志:策略运行时会产生两个日志文件,均默认保存在
logs目录下:- bigtrader Python 模块日志
- bigtrader engine 日志
\