Interactive Broker Web API 的 python 客户端库。
项目描述
非官方盈透证券 API
目录
概述
Interactive Broker Client Portal Web API 的非官方 Python API 客户端库允许拥有 Interactive Broker 账户的个人使用 Python 编程语言管理交易、提取历史和实时数据、管理他们的账户、创建和修改订单。
盈透证券为其客户提供多种 API。如果您想了解有关他们的 API 产品的更多信息,请单击以下链接:
API 中有什么
- 验证
- 帐户端点
- 市场数据端点
- 贸易端点
- 投资组合端点
- 扫描仪端点
- 投资组合分析端点
- 网络流媒体
设置要求
必须满足以下要求才能使用此 API:
- 一个盈透证券账户,您需要您的账户密码和帐号才能使用 API。
- 已安装Java 8更新 192 或更高版本(网关与更高的 Java 版本兼容,包括 OpenJDK 11)。
- 下载Beta 客户端门户网关
设置客户端门户
一旦您下载了最新的客户端门户,或者您选择使用存储库提供的门户。您需要解压缩文件夹并将其放在存储此代码的存储库中。
设置 API 密钥和凭据
API 不需要任何 API 密钥即可使用,所有身份验证均由 Client Portal Gateway 处理。每次用户使用 API 启动新会话时,他们都需要为他们希望使用的帐户提供登录凭据。Interactive Broker Web API 确实提供了通过纸质账户使用 API 的能力。
重要提示:您的帐号和帐户密码应保密。
设置安装
pip install interactive-broker-python-web-api
设置写入帐户信息
客户需要特定的帐户信息来创建和验证新会话。您选择存储此信息的位置取决于您,但我将在此处列出一些选项。
编写配置文件:
在 Python 中,通常有一个配置文件,其中包含在设置脚本期间需要使用的信息。此外,您可以以标准方式制作此文件,以便每次都易于阅读。在 Python 中,有一个名为的模块configparser可用于创建模仿 Windows INI 文件的配置文件。
要使用 hte 模块创建配置文件configparser,请在单独的文件中运行以下脚本或转到资源文件夹并运行该write_config.py文件。
import pathlib
from configparser import ConfigParser
config = ConfigParser()
config.add_section('main')
config.set('main', 'REGULAR_ACCOUNT', 'YOUR_ACCOUNT_NUMBER')
config.set('main', 'REGULAR_USERNAME', 'YOUR_ACCOUNT_USERNAME')
config.set('main', 'PAPER_ACCOUNT', 'YOUR_ACCOUNT_NUMBER')
config.set('main', 'PAPER_USERNAME', 'YOUR_ACCOUNT_USERNAME')
new_directory = pathlib.Path("config/").mkdir(parents=True, exist_ok=True)
with open('config/config.ini', 'w+') as f:
config.write(f)
将变量存储在脚本中:
如果您打算不与其他任何人共享脚本,那么您可以将帐户信息存储在脚本本身中。但是,请确保不要将文件公开给不认识的人。
用法
此示例演示如何登录 API,并演示如何market_data_history使用您的 API 密钥使用端点发送请求。
from ibw.client import IBClient
REGULAR_ACCOUNT = 'MY_ACCOUNT_NUMBER'
REGULAR_USERNAME = 'MY_ACCOUNT_USERNAME'
# Create a new session of the IB Web API.
ib_client = IBClient(username=REGULAR_USERNAME, account=REGULAR_ACCOUNT)
# create a new session.
ib_client.create_session()
# grab the account data.
account_data = ib_client.portfolio_accounts()
# print the data.
print(account_data)
# Grab historical prices.
aapl_prices = ib_client.market_data_history(conid=['265598'], period='1d', bar='5min')
# print the prices.
print(aapl_prices)
# close the current session.
ib_client.close_session()
特征
请求验证
对于某些请求,它会以有限的方式帮助验证您的请求。例如,当使用端点获取实时报价时market_data,它将验证您请求的字段以确保它们是该端点的有效字段。
文档和资源
官方 API 文档
支持这些项目
Patreon:通过向我的Patreon 页面 捐款来帮助支持这个项目和未来的项目。我一直在为像你这样的人添加更多内容,不幸的是,有些 API 需要我支付月费。
YouTube: 如果您想观看我的更多内容,请随时访问我的 YouTube 频道Sigma Coding。
雇用我: 如果您有一个项目,您认为我可以帮助您随时联系 coding.sigma@gmail.com或填写合同申请表
项目详情
interactive_broker_python_web_api-0.1.2-py3-none-any.whl 的 哈希
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 22371c664054e28d561aa96e817f081997950dbf8434ebb9f32f21af3a47e4df |
|
| MD5 | be58535fe31ddd6e7c357195b3aab6ac |
|
| 布莱克2-256 | d0dd60b8214638d9ce07969590e90c95ad2fdd95ecc257ddcbbab34a74abd2b3 |