ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

vnpy 如何连接 IB 盈透证券接口

vnpy 如何连接 IB 盈透证券接口 vnpy 如何连接 IB 盈透证券接口【免费下载链接】vnpy基于Python的开源量化交易平台开发框架项目地址: https://gitcode.com/vnpy/vnpy在 vnpyVeighNa量化交易框架中交易海外证券、期货、期权、贵金属等品种时需要接入 IB盈透证券交易接口。IB 接口为纯 Python 实现支持 Windows、Ubuntu、Mac 三大操作系统支持单向持仓并提供历史数据。本文给出从账号与安装准备、接口加载、TWS 参数配置到连接验证的完整操作路径以及 IB 接口特有的两个关键点合约信息需先手动订阅行情才能获取合约代码使用的是 ConId 而非 Symbol。账号与运行环境准备在动手安装之前先确认以下条件依据 交易接口文档账号在盈透证券开户并且入金后可以获得 API 接入权限操作系统IB 接口支持 Windows、Ubuntu、Mac交易品种海外多品种README 中列明为海外证券、期货、期权、贵金属等持仓方向只支持单向持仓历史数据提供。安装 vnpy 核心框架时各平台的 Windows 安装指南、Ubuntu 安装指南 和 Mac 安装指南 给出了一键安装脚本install.bat/install.shMac 为手动流程。需要注意一键安装脚本只负责安装 ta-lib 库和 VeighNa 核心框架本身并不包含各交易接口包。vnpy_ib是独立于核心框架的接口项目见 README.md 中海外市场接口列表需要单独安装pip install vnpy_ibUbuntu 用户注意一键安装前需先安装 gcc 编译环境sudo apt-get install build-essentialUbuntu 安装文档还提醒部分接口不支持 Ubuntu 系统请不要加载而 IB 在支持列表内可以加载。加载 IB 接口并启动 VeighNa Trader加载接口有两条路径图形模式启动并登录 VeighNa Station 后点击【交易】按钮在配置对话框的【交易接口】栏勾选 IB 接口以及需要的应用模块点击【启动】按钮进入 VeighNa Trader。脚本模式编辑仓库中 examples/veighna_trader/run.py 文件。该文件包含较多的启动加载项交易接口和应用模块安装文档说明若需加载接口取消接口前注释符号即可。找到以下两行被注释的代码并取消注释# from vnpy_ib import IbGateway # main_engine.add_gateway(IbGateway)取消注释后即变为from vnpy_ib import IbGateway # ...文件中创建 main_engine 对象之后 main_engine.add_gateway(IbGateway)然后在 run.py 所在目录启动 VeighNa Traderpython run.py连接 IB 接口VeighNa Trader 启动后在菜单栏中点击【系统】-【连接IB】官方文档以 CTP 为例即【系统】-【连接CTP】各接口均为同一菜单结构弹出账号配置窗口。按照 gateway.md 中IB 相关字段一节的默认值填写字段文档给出的默认值说明TWS地址127.0.0.1指向本机运行的 TWS 交易客户端TWS端口7497客户号1交易账户无默认值填写你在盈透证券的账户确认信息无误后连接接口会立刻进行查询工作查询账号信息、查询持仓、查询委托信息、查询成交信息等。验证连接结果连接成功后VeighNa Trader 主界面的【日志】组件会立刻输出登录相关信息主界面各组件中可以看到账号信息资金组件可用资金、冻结、余额、持仓信息等查询失败或委托报错也会显示在日志组件中。查询合约与订阅行情IB 接口的特殊之处VeighNa Trader 文档对 IB 接口有一条明确提示IB接口因为登录时无法自动获取所有的合约信息只有在用户手动订阅行情时才能获取。因此需要在主界面上先行手动订阅合约行情才能查到合约信息。因此操作顺序是先订阅行情再查合约订阅行情在交易组件输入交易所和合约代码按回车键即可订阅。订阅成功后交易组件会显示合约名称下方显示深度行情报价最新价、买一价、卖一价行情组件显示最新行情信息。查询合约菜单栏点击【帮助】-【查询合约】在弹出的空白窗口中点击【查询】按钮后才会显示查询结果留空则查询全部合约。输入的合约代码需与【查询合约】功能中查到的一致。另一个 IB 特有约束IB 接口的合约代码较为特殊需前往盈透证券官网的产品查询板块查询。VeighNa Trader 中使用的合约代码是盈透证券对每个合约在某一交易所的唯一标识符ConId而非 Symbol 或者 LocalName。这意味着订阅行情、发起委托时填写的代码都必须是 ConId填错会导致查询不到合约或订阅失败。IB 接口下单时的注意事项连接成功后可通过交易组件发起委托除交易所和合约代码外还需填写方向、开平、类型、价格和数量五个字段。针对 IB 接口文档给出两条可直接应用的规则开平方向可不填若交易接口只支持单向持仓IB 正是只支持单向持仓可不填写开平方向市价单价格可不填若委托类型为市价单委托价格可不填。发出委托后本地会缓存委托信息并显示到【委托】组件和【活动】组件委托状态为【提交中】若委托还未成交状态更新为【未成交】若立刻成交信息从【活动】组件移至【成交】组件状态变为【全部成交】。接口配置文件的保存位置接口配置相关信息保存在 json 文件中放置在用户目录下的.vntrader文件夹内。既可以在 VeighNa Trader 图形界面内修改也可以直接修改.vntrader文件夹下对应的 json 文件。json 配置与 vnpy 框架本身分离避免每次升级都要重新配置。限制回顾IB 接口只支持单向持仓合约信息登录时不会自动获取必须先手动订阅行情合约代码必须使用 ConId可在盈透官网产品查询板块查到连接依赖本机 TWS 客户端TWS地址 127.0.0.1、TWS端口 7497 为文档给出的默认值。【免费下载链接】vnpy基于Python的开源量化交易平台开发框架项目地址: https://gitcode.com/vnpy/vnpy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表