我目前正在学习如何使用IBrokers
包。
我可以按我想要的频率调整股票价格和期权价格,但我目前一直在调整外汇汇率。
我不知道如何设置正确的twsContract
,用于使用reqHistoricalData
进行呼叫。
我有兴趣在1分钟的基础上获得CADUSD货币。我该怎么做?
手册中的示例给出:
currency <- twsCurrency("EUR")
当我尝试用比如reqHistoricalData(tws, currency)
来调用它时,它会返回一个错误,说"没有可用的历史数据1D"。由于我甚至无法让手册中的例子发挥作用,我陷入了困境。。。
有人能告诉我什么是正确的语法吗?如果我有几个真正有效的例子,我可以从中吸取。
此外,当我尝试在twsContract
对象中使用"USD.CAD"
或"CAD.USD"
作为ticker时,我会抱怨这不是一个有效的安全性。我如何才能找到USD.CAD
的正确股票代码名称?现在,我通过查看我的交互式经纪人应用程序(显然同时打开),键入公司名称并进行搜索,找到了股票的入场券。股票代码通常会返回,例如(键入apple,当我想在交互式经纪人工作站中将此安全添加到我的投资组合中时,返回AAPL)。
任何帮助都将不胜感激。
此外,另一个相关的问题是,我如何才能拉历史的说S&P500价格指数在1分钟的基础上说?
我猜我会在R中使用twsContract
对象,但我不知道该使用什么参数。股票行情应该是什么?贸易工作站提到它是一种"索引"产品类型(显然),不适合任何包装,如twsStock
、twsCurrency
等。再说一次,有没有这样的例子,它确实有效?
您在获取外汇数据时遇到困难,因为您试图获取IBrokers不为外汇传播的TRADES
数据。相反,您应该使用whatToShow="BID"
或whatToShow="Ask"
。例如
tws <- twsConnect()
ccy <- reqContractDetails(tws, twsCurrency("USD", "CAD"))[[1]]$contract
reqHistoricalData(tws, ccy, whatToShow='BID')
为S&P500指数与相似
reqHistoricalData(tws, reqContractDetails(tws, twsIndex("SPX", "CBOE", "USD"))[[1]]$contract)
你的问题非常宽泛,读起来就像是要求对软件包进行概述。你读过小插曲吗?(vignette("IBrokers")
)
我在R-Forge上有一个名为twsInstruction的程序包,它提供了一些包装器,让您更轻松。
library(twsInstrument)
get_quote("USD.CAD")
getBAT("USD.CAD") #gets the last 5 days of minutely Bid/Ask/Trade/Midpoint
另外,请参阅?reqTBBOhistory
和twsInstrument:::update.data
将大量数据下载到磁盘。
最后,我建议在Jeff可能看到的r-sig-finance邮件列表上问这些类型的问题