2012-10-03 25 views
5

我目前正在學習如何使用IBrokers軟件包。R IBrokers。如何讓貨幣合約在reqHistoricalData調用中工作?例如CADUSD費率?以及如何拉動指數價格?例如標普,DJI?

我可以以我想要的頻率和期權價格拉動股票價格,但我目前堅持拉動外匯匯率。

我不知道如何設置正確twsContract,撥打電話reqHistoricalData

我有興趣獲得1分鐘基礎上的CADUSD貨幣。我怎樣才能做到這一點?

手冊中的例子給出了:

currency <- twsCurrency("EUR") 

當我嘗試調用此方法,說reqHistoricalData(tws, currency)它回來了一個錯誤,說什麼「沒有歷史數據可供1D」。因爲我甚至不能在手冊中的例子工作,我很卡住...

有人請指教我什麼是正確的語法是什麼?如果我有幾個實際工作的例子,我可以從那裏拿走它。

此外,當我嘗試使用"USD.CAD""CAD.USD"作爲twsContract對象中的代碼時,我收到投訴,指出這不是有效的安全性。我如何才能找出USD.CAD的正確代碼名稱?現在我通過查看同時打開的交互式經紀人應用程序,並輸入公司名稱並進行搜索來找出股票。股票通常會回到例如(鍵入apple,當我想在交互式代理工作站中將此安全性添加到我的投資組合時,請返回AAPL)。

任何幫助將不勝感激。

另外,另一個相關的問題是我怎樣才能在1分鐘的基礎上拉動說S & P500價格指數的歷史說?

我猜我會在R中使用twsContract對象,但我不知道使用什麼參數。股票應該是什麼?交易工作站提到這是一個「索引」產品類型(顯然),它不適合像twsStock,twsCurrency等任何包裝...再次,有沒有這樣的地方,這實際上有效的例子?

回答

7

您無法獲取FX數據,因爲您試圖獲取IBrokers未針對FX分發的TRADES數據。相反,您應該使用whatToShow="BID"whatToShow="Ask"。例如對於S &普500指數

tws <- twsConnect() 
ccy <- reqContractDetails(tws, twsCurrency("USD", "CAD"))[[1]]$contract 
reqHistoricalData(tws, ccy, whatToShow='BID') 

獲取數據類似於

reqHistoricalData(tws, reqContractDetails(tws, twsIndex("SPX", "CBOE", "USD"))[[1]]$contract) 

你的問題是相當廣泛的,並讀取像爲包的概要的請求。你讀過小插曲嗎? (vignette("IBrokers")


我有一個名爲package on R-ForgetwsInstrument,它提供了一些包裝,使事情變得更容易。

library(twsInstrument) 
get_quote("USD.CAD") 
getBAT("USD.CAD") #gets the last 5 days of minutely Bid/Ask/Trade/Midpoint 

另請參閱?reqTBBOhistorytwsInstrument:::update.data到大量的數據下載到磁盤。

最後,我建議在Jeff有可能看到它的r-sig-finance mailing list上提出這些類型的問題。