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
risposta
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"))
plot(getQuote("SPY", src="bats", what="ladder"))
plot(getQuote("SPY", src="bats", what="depth"))
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()
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
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.)
Oltre ai costi di dati di mercato, devi pagare anche una tariffa mensile a meno che tu non spenda così tanto in commissioni – GSee
[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
stai chiedendo di un modo per ottenere i dati storici, o l'ultimo prezzo? – GSee
ultimo prezzo negli ultimi minuti (15 minuti è troppo lungo) – user3731327