2012-10-03 22 views
5

Attualmente sto imparando come utilizzare il pacchetto IBrokers.R IBrokers. Come far funzionare il contratto di valuta nelle chiamate reqHistoricalData? per esempio. Tariffe CADUSD? E come tirare i prezzi degli indici? per esempio. S & P, DJI?

Posso tirare i prezzi delle azioni alle frequenze che voglio e ai prezzi delle opzioni, ma al momento sono bloccato a tirare i tassi di cambio.

Non so come impostare il twsContract corretto, per chiamare con reqHistoricalData.

Sono interessato a ottenere le valute CADUSD su una base di 1 min. Come posso fare questo?

L'esempio nel manuale dà:

currency <- twsCurrency("EUR") 

Quando provo e chiamo questo con dire reqHistoricalData(tws, currency) ritorna con un errore che dice qualcosa come "non ci sono dati storici disponibili 1D". Dato che non riesco a far funzionare l'esempio nel manuale, sono piuttosto bloccato ...

Qualcuno può per favore illuminarmi su quale sia la sintassi corretta? Se ho un paio di esempi che funzionano davvero, posso prenderlo da lì.

Inoltre, quando provo a utilizzare "USD.CAD" o "CAD.USD" come ticker nell'oggetto twsContract, ricevo lamentele sul fatto che non si tratta di una protezione valida. Come posso scoprire quale sarebbe il nome corretto del ticker per USD.CAD? In questo momento trovo il biglietto per gli stock guardando la mia applicazione di broker interattivi che è aperta allo stesso tempo, ovviamente, digitando il nome della società e facendo una ricerca. Il ticker generalmente ritorna ad es. (digita apple, torna AAPL quando voglio aggiungere questa sicurezza al mio portafoglio nella stazione di lavoro dei broker interattivi).

Qualsiasi aiuto sarebbe molto apprezzato.

Inoltre, un'altra domanda correlata è come posso tirare lo storico di dire l'indice dei prezzi P500 su base 1 min diciamo?

Suppongo che userò un oggetto twsContract in R, ma non conosco quali parametri utilizzare. Quale dovrebbe essere il ticker? La workstation commerciale indica che si tratta di un tipo di prodotto "indice" (ovviamente), che non si adatta a nessuno dei wrapper come twsStock, twsCurrency ecc ... Ancora, c'è un esempio di questo da qualche parte, che funziona davvero?

risposta

7

Stai riscontrando problemi con i dati per FX perché stai cercando di ottenere i dati TRADES che IBrokers non distribuisce per FX. Invece, dovresti usare whatToShow="BID" o whatToShow="Ask". per esempio.

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

ottenere i dati per l'indice S & P 500 è simile

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

La tua domanda è piuttosto ampia e si legge come una richiesta per una panoramica del pacchetto. Hai letto la vignetta? (vignette("IBrokers"))


Ho un package on R-Forge chiamato twsInstrument che fornisce alcuni wrapper per rendere le cose più facili per voi.

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

Inoltre, vedere ?reqTBBOhistory e twsInstrument:::update.data per scaricare un sacco di dati su disco.

Infine, ti consiglio di porre questo tipo di domande sullo r-sig-finance mailing list in cui Jeff probabilmente lo vedrà.