我目前正在学习如何使用IBrokers
包。
我可以按照我想要的频率和期权价格拉动股票价格,但我目前仍然坚持拉动外汇汇率。
我不知道如何设置正确twsContract
,以便使用reqHistoricalData
进行通话。
我有兴趣以1分钟为基础获得CADUSD货币。我怎么能这样做?
手册中的示例给出了:
currency <- twsCurrency("EUR")
当我尝试用reqHistoricalData(tws, currency)
来调用它时,它会返回一个错误,上面写着“没有可用的历史数据1D”。由于我甚至无法在手册中找到工作的例子,我相当困难......
有人可以告诉我正确的语法是什么吗?如果我有几个实际可行的例子,我可以从那里开始。
此外,当我尝试使用"USD.CAD"
或"CAD.USD"
作为twsContract
对象中的自动收报机时,我收到的投诉是这不是有效的安全措施。如何找出USD.CAD
的正确代码名称?现在,我通过查看同时显示的交互式经纪人应用程序并输入公司名称并进行搜索来找出股票的票据。股票通常会回来,例如(输入apple,当我想在交互式代理工作站中将此安全性添加到我的投资组合时,请返回AAPL。)
非常感谢任何帮助。
另外,另一个相关的问题是我如何能够在1分钟内拉出S&amp; P500价格指数的历史呢?
我猜我会在R中使用twsContract
对象,但我不知道要使用哪些参数。股票代码应该是什么?交易工作站提到它是一个“索引”产品类型(显然),它不适合任何包装,如twsStock
,twsCurrency
等...再次,这是否有一个这样的例子,哪个有效?
答案 0 :(得分:7)
您在获取FX数据时遇到问题,因为您正在尝试获取IBrokers不会为FX传播的TRADES
数据。相反,您应该使用whatToShow="BID"
或whatToShow="Ask"
。 e.g。
tws <- twsConnect()
ccy <- reqContractDetails(tws, twsCurrency("USD", "CAD"))[[1]]$contract
reqHistoricalData(tws, ccy, whatToShow='BID')
获取S&amp; P 500索引的数据类似
reqHistoricalData(tws, reqContractDetails(tws, twsIndex("SPX", "CBOE", "USD"))[[1]]$contract)
您的问题非常广泛,就像请求概述该软件包一样。你看过小插曲了吗? (vignette("IBrokers")
)
我有一个名为 twsInstrument 的package on R-Forge,它提供了一些包装,让您更轻松。
library(twsInstrument)
get_quote("USD.CAD")
getBAT("USD.CAD") #gets the last 5 days of minutely Bid/Ask/Trade/Midpoint
另外,请参阅?reqTBBOhistory
和twsInstrument:::update.data
将大量数据下载到磁盘。
最后,我建议在杰夫可能会看到的r-sig-finance mailing list上询问这些类型的问题。