Real time stock price R [closed]
Asked Answered
S

2

13

I am trying to do some market analysis using R. Is there any way to get real time stock quotes at minutely intervals using a package? I am familiar with quantmod and have used the getSymbols() function, however, all data I am able to mine is 15 minutes old. Thank you.

Skyla answered 19/11, 2014 at 20:18 Comment(2)
Are you asking for a way to get historical data, or the latest price?Darkroom
latest price within the last few minutes (15 minutes is too long)Skyla
D
12

My qmao package has getQuote "methods" for both BATS and google which are both near real time

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 has a few options for how you want the data to print:

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  

There are also plot methods

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


And, if you're still reading, there is a shiny app included in the package so you can make those "plots" update in real time. Just run this:

shinyBATS()
Darkroom answered 19/11, 2014 at 20:29 Comment(2)
I'm getting an error message trying to follow your commands. I'm assuming this is because I am running on Mac? I did the install via the R Console but it is giving me an error - "currentQuote <- getQuote("AAPL", src="google") Error in do.call(paste("getQuote", src, sep = "."), args) : could not find function "getQuote.google"Continuity
This is not working properly anymoreMatinee
A
4

IB would probably be best for real-time stock data. You won't need to pay for it (*), but last time I looked you will need to open an account with a minimum amount of real money.

There is an R package: http://cran.r-project.org/web/packages/IBrokers/index.html

There is a vignette on getting real-time data, but it was last updated in 2009, so I would go with the general vignette: http://cran.r-project.org/web/packages/IBrokers/vignettes/IBrokers.pdf which was last update sep 2014.

(*: Not strictly true: for some exchanges you will need to pay an extra exchange fee.)

Ambrotype answered 20/11, 2014 at 21:28 Comment(2)
In addition to the market data costs, you also have to pay a monthly fee unless you spend that much in commissions.Darkroom
TradeKing has an API with example R code. You have to open an account, but it's free and you don't have to fund it.Darkroom

© 2022 - 2024 — McMap. All rights reserved.