要使用Interactive Brokers TWS API(The Trader Workstation API)通过Python获取价格并将其作为对象或变量返回,你需要遵循以下步骤:
ib_insync
。你可以使用pip来安装它:pip install ib_insync
ib_insync
库连接到你的TWS实例。你需要提供你的TWS用户名、密码以及主机和端口信息(通常是localhost和7497用于模拟交易,或7496用于实盘交易)。from ib_insync import *
# 连接到TWS
ib = IB()
ib.connect('127.0.0.1', 7497, clientId=1) # 使用你的TWS主机和端口
reqMktData
方法请求特定合约的市场数据。你可以指定合约的符号、交易所、货币等。# 创建一个合约对象
contract = Stock('AAPL', 'SMART', 'USD')
# 请求市场数据
ib.reqMktData(contract, '', False, False)
EWrapper
类并重写相关方法来实现的。class MyWrapper(EWrapper):
def updateMktDepth(self, contract, position, operation, side, price, size):
print(f'Price update: {price}')
# 创建一个包装器实例
wrapper = MyWrapper()
ib.setWrapper(wrapper)
run
方法启动事件循环,这将处理来自TWS的所有消息。# 运行事件循环
ib.run()
updateM�Depth
方法中,你可以看到价格已经作为一个参数传递给了该方法。你可以根据需要将其存储在全局变量或类属性中。领取专属 10元无门槛券
手把手带您无忧上云