小编Che*_*ter的帖子

盈透证券 - 获取 OPT 的历史数据(MIDPOINT 和 TRADES)

我正在尝试通过盈透证券 API 获取在 SPY 上编写的底层证券和期权,虽然获取当前期权(包括罢工、权利等)不是问题,但我坚持获取历史数据,比如从 5 个月到现在。

代码如下:

from ib.ext.Contract import Contract
from ib.ext.ContractDetails import ContractDetails
from ib.opt import ibConnection, message
import time
import datetime

def watcher(msg):
    print(msg)

def contractDetailsHandler(msg):
    contracts.append(msg.contractDetails.m_summary)

def contractDetailsEndHandler(msg):
    global DataWait
    DataWait =  False

def contractHistDetailsHandler(msg):
    contracts.append(msg.contractDetails.m_summary)


con = ibConnection()
con.host = "..."
con.port = ...
con.clientId = 5
con.registerAll(watcher)
con.register(contractDetailsHandler, 'ContractDetails')
con.register(contractDetailsEndHandler, 'ContractDetailsEnd')
con.register(contractHistDetailsHandler, message.historicalData)

con.connect()

contract = Contract()
contract.m_exchange     = "SMART"
contract.m_secType      = "OPT"
contract.m_symbol       = "SPY"
contract.m_currency     = "USD"

endtime = '20170102 01:00:00' …
Run Code Online (Sandbox Code Playgroud)

python api interactive-brokers ibpy

3
推荐指数
1
解决办法
4676
查看次数

标签 统计

api ×1

ibpy ×1

interactive-brokers ×1

python ×1