编写代码,通过盈透的API获取美股期权的历史分钟数据,并以EXCEL何存到本地
27条回答 默认 最新
关注引自强大而免费的微信小程序:皆我知道。
要从盈透证券获取期权历史数据,您可以按照以下步骤:
- 首先,您需要安装
ib_insync库,这是一个用于与盈透API交互的Python库。您可以使用以下命令进行安装:
pip install ib_insync在你的盈透证券账户上创建一个API账户,并生成API令牌。将该令牌保存到一个安全的地方,您将在代码中使用它。
下面是一个例子代码,它将从盈透API获取美股期权的历史分钟数据,并将其以Excel格式保存在本地:
import pandas as pd from ib_insync import * # 创建IB连接 util.startLoop() ib = IB() ib.connect('127.0.0.1', 7497, clientId=1) # 这里的IP地址和端口号需要根据您的设置进行更改 # 定义查询的参数 contract = Stock('AAPL', 'SMART', 'USD') # 根据您所需的具体期权合约进行修改 endDateTime = '' # 结束日期和时间,留空表示取到当前时间 durationStr = '1 D' # 查询数据的时间范围,例:1 D表示为一天的数据 barSizeSetting = '1 min' # 数据的时间间隔,例:1 min表示为每分钟一条数据 # 请求历史数据 bars = ib.reqHistoricalData( contract, endDateTime=endDateTime, durationStr=durationStr, barSizeSetting=barSizeSetting, whatToShow='TRADES', useRTH=True) # 将数据转换成DataFrame df = util.df(bars) # 保存为Excel文件 df.to_excel('option_data.xlsx', index=False) # 断开连接 ib.disconnect()请注意,上述代码中的IP地址和端口号可能需要根据您的设置进行修改。此外,您还需要根据您所需的具体期权合约进行相关的修改。
运行代码后,将在当前目录下生成一个名为
option_data.xlsx的Excel文件,其中包含了所请求的期权历史分钟数据。这是一个简单的示例代码,您可以根据自己的需求进行进一步的修改和优化。
评论 打赏 举报 编辑记录解决 2无用- 首先,您需要安装