2014-11-19 21 views
10

Sto cercando di fare qualche analisi di mercato usando R. C'è un modo per ottenere quotazioni di borsa in tempo reale a intervalli minimi usando un pacchetto? Ho familiarità con Quantmod e ho usato la funzione getSymbols(), tuttavia, tutti i dati che sono in grado di estrarre sono vecchi di 15 minuti. Grazie.Prezzo in tempo reale R

+0

stai chiedendo di un modo per ottenere i dati storici, o l'ultimo prezzo? – GSee

+0

ultimo prezzo negli ultimi minuti (15 minuti è troppo lungo) – user3731327

risposta

10

mio qmao package ha getQuote "metodi" per entrambi i pipistrelli e Google, che sono sia in tempo reale vicino

Sys.time() 
#[1] "2014-11-19 14:27:48.727988 CST" 
getQuote("SPY", src="google") 
#    TradeTime Last Change PctChg Exchange GoogleID 
#SPY 2014-11-19 15:27:00 205.17 -0.38 -0.18 NYSEARCA 700145 
getQuote("SPY", src="bats", what="bbo") 
# TradeTime BidSize BidPrice AskPrice AskSize Last LastSize row.names 
#1 15:27:24 15000 205.16 205.17  300 205.17  300  SPY 

getQuote.bats ha alcune opzioni per come si desidera che i dati da stampare:

getQuote("SPY", src="bats", what="ladder") 
# SPDR S&P 500 ETF TR TR UNIT 
# Time: 15:27:44 
# Volume: 8779553 
# Last: 300 @ 205.17 
# 
#+-------+--------+-------+ 
#|  | 205.21 | 16700 | 
#+-------+--------+-------+ 
#|  | 205.2 | 21900 | 
#+-------+--------+-------+ 
#|  | 205.19 | 17300 | 
#+-------+--------+-------+ 
#|  | 205.18 | 5572 | 
#+-------+--------+-------+ 
#|  | 205.17 | 300 | 
#+-------+--------+-------+ 
#| 15000 | 205.16 |  | 
#+-------+--------+-------+ 
#| 12100 | 205.15 |  | 
#+-------+--------+-------+ 
#| 11300 | 205.14 |  | 
#+-------+--------+-------+ 
#| 23900 | 205.13 |  | 
#+-------+--------+-------+ 
#| 10600 | 205.12 |  | 
#+-------+--------+-------+ 

getQuote("SPY", src="bats", what="depth") 
# 
# 
# BidQty BidPrice AskPrice AskQty 
#-------- ---------- ---------- -------- 
# 15000  205.16  205.17  300 
# 12100  205.15  205.18  5572 
# 11300  205.14  205.19 17300 
# 23900  205.13  205.2  21900 
# 10600  205.12  205.21 16700 

Ci sono anche metodi di trama

plot(getQuote("SPY", src="bats")) 

enter image description here

plot(getQuote("SPY", src="bats", what="ladder")) 

enter image description here

plot(getQuote("SPY", src="bats", what="depth")) 

enter image description here


E, se stai ancora leggendo, c'è un app lucido incluso nel pacchetto in modo da poter fare quelle "trame" aggiornamento in tempo reale. Basta eseguire questo:

shinyBATS() 
+0

Ricevo un messaggio di errore nel tentativo di seguire i tuoi comandi. Suppongo che sia perché sto lavorando su Mac? Ho fatto l'installazione tramite la console R ma mi sta dando un errore - "currentQuote <- getQuote (" AAPL ", src =" google ") Errore in do.call (incolla (" getQuote ", src, sep =" . "), args): non è riuscito a trovare la funzione" getQuote.google " – sgerbhctim

2

IB sarebbe probabilmente il migliore per i dati di stock in tempo reale. Non dovrai pagare per questo (*), ma l'ultima volta che ti ho visto devi aprire un account con un importo minimo di denaro reale.

C'è un pacchetto R: http://cran.r-project.org/web/packages/IBrokers/index.html

C'è una vignetta su come ottenere dati in tempo reale, ma è stato aggiornato l'ultima volta nel 2009, quindi vorrei andare con la vignetta generale: http://cran.r-project.org/web/packages/IBrokers/vignettes/IBrokers.pdf che era ultimo aggiornamento Settembre 2014 .

(*: Non del tutto vero: per alcuni scambi si dovrà pagare una tassa di cambio aggiuntivo.)

+1

Oltre ai costi di dati di mercato, devi pagare anche una tariffa mensile a meno che tu non spenda così tanto in commissioni – GSee

+1

[TradeKing] (https://developers.tradeking.com/documentation/r) ha un'API con codice di esempio R. Devi aprire un account, ma è gratuito e non devi finanziarlo. – GSee