无法使用 IBPy 更改价格数据的时区

Failing to change timezones of price data using IBPy

我希望能够获取以 EST(纽约)为时区的证券的价格数据。我的经纪人是盈透证券。我正在使用 python 3.5 和 IBPy library。我的问题是,当我修改控制数据时区的 reqHistoricalData 的第三个参数时,我得到的价格完全相同。

如何重现问题:

  1. 通过指定contract.m_symbol = 'AUD'、contract.m_secType = 'CASH'、contract.m_exchange = 'IDEALPRO'、contract.m_primaryExch = 'IDEALPRO', contract.m_currency = 'NZD'
  2. 利用reqHistoricalData,获取上述合约23/6/2016时区以美国东部时间为时区的每日开盘价。
  3. 现在通过修改 reqHistoricalData 的第三个参数来更改时区,将 JST 用作 2016 年 6 月 23 日的时区。
  4. 比较第 2 步和第 3 步的开盘价

感谢任何帮助。

TZ 只是告诉 IB 服务器何时结束请求。如果您将 2 用于 formatDate 参数,则响应将始终采用格林威治标准时间,或者如果您使用 1,则采用您当地的时区。

因此,通过使用 JST,您可以告诉服务器提前大约 12 小时结束请求,即。那是在日本的时候。

在你的例子中,我没有得到相同的数据。时间和价格都一样,但使用 JST 我得到的数据少了 12 小时。就好像它将结束时间转换为 JST,但将计算的开始时间留在我自己的时区。

不用说,我从不使用时区并尽可能尝试使用 GMT 时间戳。

我有同样的疑问。查看 IB API 文档中的页面,它说所有数据都在您登录 TWS 时使用的同一时区返回。 http://interactivebrokers.github.io/tws-api/historical_bars.html#hd_receive&gsc.tab=0