当前位置: 首页 > 知识库问答 >
问题:

使用本机TWS Python APi(Interactive Brokers APi),如何在变量中获取证券列表的价格快照?

戚森
2023-03-14

我对Python不熟悉,我想使用本地的TWS Python应用编程接口(交互式经纪人应用编程接口)获取证券列表的价格快照。例如,对于APPL、AMZN和NFLX股票,我想得到像snaphot=['APPL',195.2,'AMZN',1771.5,'NFLX',306]这样的东西。

提前谢谢你的帮助。

我发现互动经纪人的指南很难理解,而且缺乏示例。他们提供的一个例子是,一只股票永远不会停止运行。

from ibapi.client import EClient
from ibapi.wrapper import EWrapper
from ibapi.contract import Contract
from ibapi.ticktype import TickTypeEnum

import time

class TestApp(EWrapper, EClient):
    def __init__(self):
        EClient.__init__(self, self)

    def error(self, reqId, errorCode, errorString):
        print("Error: ", reqId, " ", errorCode, " ", errorString)

    def tickPrice(self, reqId, tickType, price, attrib):
        print("Tick Price. Ticker Id:", reqId, "tickType:",
TickTypeEnum.to_str(tickType), "Price:", price, end=' ')

    def tickSize(self, reqId, tickType, size):
        print("Tick Size. Ticker Id:", reqId, "tickType:",
TickTypeEnum.to_str(tickType), "Size:", size)

def main():
    app = TestApp()

    app.connect("127.0.0.1", 7496, 0)


    time.sleep(0.1)

    contract = Contract()
    contract.secType = "FUT"
    contract.exchange = "DTB"
    contract.currency = "EUR"
    contract.localSymbol = "FDXM SEP 19"

    app.reqMarketDataType(4) # 1 for live, 4 for delayed-frozen data if live is not available
    app.reqMktData(1, contract, "", True, False, [])

    app.run()

if __name__ == "__main__":
    main()

共有1个答案

白赞
2023-03-14

您只需要定义股票的合约对象,例如。

合同定义示例

appl_contract = Contract()
appl_contract.symbol = "AAPL"
appl_contract.secType = "STK"
appl_contract.exchange = "SMART"
appl_contract.primaryExchange = "ISLAND"
appl_contract.currency = "USD"

然后对每个契约对象调用reqMktData,对每个未完成的请求使用唯一的tickerId参数(这意味着该请求仍处于活动状态)。在tickPrice回调中,您将收到返回的价格数据,并使用TickRid将数据与原始请求匹配。如果你只想要最后的交易价格,你会过滤tickType==4。

勾号类型定义

收到列表中最后一台仪器的数据后,如果要断开/结束程序,可以调用disconnect()。

您可能还对IBKR网站上的Python TWS API Traders Academy课程感兴趣:

 类似资料:
  • 我试图从ajax调用中的ID获取变体的价格。我不明白为什么wc_get_product()返回一个空对象。 下面是我的ajax调用Javascript代码: 这是我的PHP文件,其中$变体返回一个空数组: 返回正确的变量ID(已检查)。

  • 我正在尝试使用Hibernate方法。 表有三列: col1 col2 col3 工作 不工作 错误: 在此ResultSet中找不到列col3。 我只需要从表中检索几个特定的列,而不是整个表。 我该如何实现这一点?

  • 我对每个包含不同价格的产品都有一些变化,我试图用jQuery获得产品的可变价格,我得到了,但是下面的代码只得到最小变化价格,我想得到当前变化的当前价格。然后,当我更改另一个选择值时,前端的变化会以正确的价格进行更改,但在控制台日志中,会反复显示最小价格,而不是相应变化的相应价格。 我试图研究和wp util。js文件来寻找一些方法,但我不能这样做。 有没有一种方法可以正确地检索当前变化价格与jQu

  • 问题内容: 假设我具有以下文件结构: data.py core.py 我需要获取data.py文件中定义的所有变量。我该如何实现?我可以使用,但是它返回模块的所有属性,包括等等。 问题答案: 通常是这样做的秘诀,但这引出了问题。

  • 说明 用于线下向会员发券时列出平台可用的活动券列表 请求地址 http://api.dc78.cn/Api/co_delist 请求方式 GET 请求参数 无附加参数 返回 { "status": "1", "info": "", "list": [ { "deid": "4403", "name": "会员生日礼券", "cash": "50.00" }, { "deid": "2979", "

  • 请求参数说明 参数 描述 必填 示例值 类型 最大长度 action 接口参数组 是 object └action 需要调用的接口名称 是 co_delist string 请求示例 { "action": { "action": "co_delist" } } 响应参数说明 参数 描述 必填 示例值 类型 最大长度 status 返回状态。接口成功时为1,出错为0 是 1 number