2014-11-19 10 views
10

Ich versuche, einige Marktanalyse mit R zu tun. Gibt es eine Möglichkeit, Echtzeit-Aktienkurse in winzigen Abständen mit einem Paket zu erhalten? Ich bin mit quantmod vertraut und habe die Funktion getSymbols() verwendet, jedoch sind alle Daten, die ich in der Lage bin, 15 Minuten alt. Vielen Dank.Echtzeit Aktienkurs R

+0

Sind Sie fragt nach einem Weg, um historische Daten handelt, oder die neuesten Preis? – GSee

+0

letzter Preis innerhalb der letzten paar Minuten (15 Minuten sind zu lang) – user3731327

Antwort

10

Mein qmao package hat getQuote „Methoden“ für beide BATS und Google, die beide nahezu in Echtzeit sind

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 ein paar Optionen für hat, wie Sie die Daten drucken möchten:

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 

Es gibt auch Plot-Methoden

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


Und wenn Sie noch lesen, gibt es eine glänzende App im Paket enthalten, so dass Sie diese "Plots" machen Aktualisierung in Echtzeit. Führen Sie einfach dieses:

shinyBATS() 
+0

Ich bekomme eine Fehlermeldung, die versucht, Ihren Befehlen zu folgen. Ich nehme an, das liegt daran, dass ich auf dem Mac laufe? Ich habe die Installation über die R Konsole gemacht, aber es gibt mir einen Fehler - "currentQuote <- getQuote (" AAPL ", src =" google ") Fehler in do.call (einfügen (" getQuote ", src, sep =" . "), args): konnte die Funktion" getQuote.google " – sgerbhctim

2

IB wäre wahrscheinlich am besten für Echtzeit-Bestandsdaten. Du musst dafür nicht bezahlen (*), aber beim letzten Mal musst du ein Konto mit einem Minimum an echtem Geld eröffnen.

Es gibt ein R-Paket: http://cran.r-project.org/web/packages/IBrokers/index.html

Es gibt eine Vignette auf dem Erhalten von Echtzeitdaten, aber es wurde zuletzt im Jahr 2009 aktualisiert, so würde ich mit der allgemeinen Vignette gehen: http://cran.r-project.org/web/packages/IBrokers/vignettes/IBrokers.pdf der letzten Aktualisierung September 2014 war .

(*: nicht ganz richtig: für einige Börsen müssen Sie eine zusätzliche Umtauschgebühr zahlen.)

+1

nicht finden Zusätzlich zu den Marktdaten Kosten, müssen Sie auch eine monatliche Gebühr bezahlen, wenn Sie so viel in Provisionen ausgeben. – GSee

+1

[TradeKing] (https://developers.tradeking.com/documentation/r) hat eine API mit Beispiel-R-Code Sie müssen ein Konto eröffnen, aber es ist kostenlos und Sie müssen es nicht finanzieren. – GSee