【问题标题】:Part of requested market data is not subscribed-ib_insync部分请求的市场数据未订阅-ib_insync
【发布时间】:2022-10-30 05:12:17
【问题描述】:

我在使用库 ib_insync 获取选项参数时遇到问题。

import time

from ib_insync import *
import pandas as pd
from configparser import ConfigParser
from ibapi.common import TickerId, SetOfFloat, SetOfString, MarketDataTypeEnum

config = ConfigParser()



# TWs 7497, IBGW 4001

def get_chain(ib,ticker, exp_list):
    exps = {}
    df = pd.DataFrame(columns=['strike', 'kind', 'close', 'last'])
    for i in exp_list:
        ib.sleep()

        cds = ib.reqContractDetails(Option(ticker, i, exchange='SMART'))
        options = [cd.contract for cd in cds]
        tickers = [t for i in range(0, len(options), 100)

                   for t in ib.reqTickers(*options[i:i + 100])]

        for x in tickers:
            df = df.append(
                {'strike': x.contract.strike, 'kind': x.contract.right, 'close': x.close, 'last': x.last, 'bid': x.bid,
                 'ask': x.ask, 'mid': (x.bid + x.ask) / 2, 'volume': x.volume}, ignore_index=True)
            exps[i] = df

    return exps


def get_individual(ib,ticker, exp, strike, kind):

    cds = ib.reqContractDetails(Option(ticker, exp, strike, kind, exchange='SMART'))
    options = [cd.contract for cd in cds]
    tickers = [t for i in range(0, len(options), 100) for t in ib.reqTickers(*options[i:i + 100])]

    con = {'strike': tickers[0].contract.strike, 'kind': tickers[0].contract.right, 'close': tickers[0].close,
           'last': tickers[0].last, 'bid': tickers[0].bid, 'ask': tickers[0].ask, 'volume': tickers[0].volume}
    return con


def main():
    with IB().connect('127.0.0.1', 7497) as ib:
        ib.reqMarketDataType(3)
        time.sleep(1)
        print(get_chain(ib,"AAPL", ["20220211"]))


if __name__ == '__main__':
    main()

输出:“错误 10090,reqId 4:部分请求的市场数据未订阅。独立于订阅的报价仍然有效。延迟的市场数据可用。AAPL NASDAQ.NMS/TOP/ALL”

我的解决方案是实现 ib.sleep 因为我认为调用可能是重叠的。如您所见,MarketDataType 设置为 3。

最后,带有罢工和所有其他参数的表格都是 NaN。有时第一行会得到一些值,因此我认为这是某种重叠问题。

对不起,如果我的问题太长了。

【问题讨论】:

    标签: interactive-brokers


    【解决方案1】:

    你解决了你的问题吗?我有同样的 -_-

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-05
      • 1970-01-01
      • 1970-01-01
      • 2015-08-18
      相关资源
      最近更新 更多