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

2024-06-11 11:32:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我想能够得到一个证券的价格数据,以东部时间(纽约)为时区。我的经纪人是互动经纪人。我使用的是python3.5和IBPy library。我的问题是,当我修改控制数据时区的reqHistoricalData的第3个参数时,我得到的价格是完全相同的。在

如何重现问题:

  1. 通过指定contract.m_symbol='AUD',contract.m_secType='CASH',contract.m_exchange='IDEALPRO',contract.m_currency='NZD'来创建要查询的合同
  2. 利用reqHistoricalData,得到上述以EST为时区的2016年6月23日合同的日开盘价。在
  3. 现在通过修改reqHistoricalData的第3个参数来更改时区,将JST用作2016年6月23日的时区。在
  4. 比较第2步和第3步的开盘价

谢谢你的帮助。在


Tags: 数据参数library时间经纪人价格symbolibpy
2条回答

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

TZ只告诉IB服务器何时结束请求。如果您使用2作为formatDate参数,则响应将始终以GMT为单位;如果使用1,则响应将位于本地时区。在

因此,通过使用JST,您可以让服务器提前12小时结束请求,也就是说,在日本的时候。在

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

不用说,我从不使用时区,只要有可能我就尽量使用GMT时间戳。在

相关问题 更多 >