跳转到主要内容

Interactive Brokers API的Python同步/异步框架

项目描述

Build Join the user group PyPi Conda Number of downloads Documentation

简介

IB-insync库的目标是使与Interactive Brokers的Trader Workstation API交互尽可能简单。

主要功能包括:

  • 易于使用的线性编程风格;

  • 自动与TWS或IB Gateway应用程序保持同步的IB组件

  • 基于asyncioeventkit的完全异步框架,适用于高级用户;

  • 在Jupyter笔记本中与实时数据交互。

请务必查看笔记本食谱API文档

安装

pip install ib_insync

要求

  • Python 3.6或更高版本;

  • 正在运行的TWS或IB网关应用程序(版本1023或更高)。请确保API端口已启用并且已勾选“连接时下载开放订单”。

不需要IB的ibapi包。

示例

这是一个下载历史数据的完整脚本

from ib_insync import *
# util.startLoop()  # uncomment this line when in a notebook

ib = IB()
ib.connect('127.0.0.1', 7497, clientId=1)

contract = Forex('EURUSD')
bars = ib.reqHistoricalData(
    contract, endDateTime='', durationStr='30 D',
    barSizeSetting='1 hour', whatToShow='MIDPOINT', useRTH=True)

# convert to pandas dataframe (pandas needs to be installed):
df = util.df(bars)
print(df)

输出

                   date      open      high       low     close  volume  \
0   2019-11-19 23:15:00  1.107875  1.108050  1.107725  1.107825      -1
1   2019-11-20 00:00:00  1.107825  1.107925  1.107675  1.107825      -1
2   2019-11-20 01:00:00  1.107825  1.107975  1.107675  1.107875      -1
3   2019-11-20 02:00:00  1.107875  1.107975  1.107025  1.107225      -1
4   2019-11-20 03:00:00  1.107225  1.107725  1.107025  1.107525      -1
..                  ...       ...       ...       ...       ...     ...
705 2020-01-02 14:00:00  1.119325  1.119675  1.119075  1.119225      -1

文档

完整的API文档

变更日志.

讨论

insync用户组是讨论IB-insync及其相关内容的最佳场所。

免责声明

软件提供基于简化BSD许可证的条件。

本项目与Interactive Brokers Group, Inc.无关。

祝您好运,享受使用,

作者:

Ewald de Wit <ewald.de.wit@gmail.com>

项目详情


发布历史 发布通知 | RSS订阅

下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

ib_insync-0.9.86.tar.gz (69.9 kB 查看哈希值)

上传时间 源代码

构建分发

ib_insync-0.9.86-py3-none-any.whl (73.0 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面