实时股票价格 R

13

我正在使用R进行市场分析。 有没有办法使用一个包在分钟间隔内获取实时股票报价? 我熟悉quantmod并已使用getSymbols()函数,但是我能够获取的所有数据都是15分钟之前的。谢谢。


你是在询问获取历史数据的方法,还是最新价格? - GSee
最近几分钟内的最新价格(15分钟太长了) - user3731327
2个回答

12

我的qmao软件包提供了针对BATS和谷歌的getQuote"方法",这两种方法都是准实时的。

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 有几个选项,可以控制数据的打印方式:

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  

还有绘图方法

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

输入图像描述

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

在此输入图片描述

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

输入图像描述


而且,如果你还在阅读,这个软件包中还包含一个闪亮的应用程序,让你可以实时更新那些“图表”。只需运行以下命令:

shinyBATS()

我在按照你的指令操作时遇到了错误提示。我猜测这是因为我正在使用 Mac?我通过 R 控制台进行了安装,但它给了我一个错误提示 - "currentQuote <- getQuote("AAPL", src="google") Error in do.call(paste("getQuote", src, sep = "."), args) : could not find function "getQuote.google" - sgerbhctim
这个不再正常工作了。 - PhilippPro

4
IB可能是实时股票数据的最佳选择。您不需要支付费用(*),但上次我查看时,您需要开立一个带有最低真实资金的帐户。
有一个R包:http://cran.r-project.org/web/packages/IBrokers/index.html 有一个关于获取实时数据的vignette,但它最后更新于2009年,因此我会选择通用vignette:http://cran.r-project.org/web/packages/IBrokers/vignettes/IBrokers.pdf ,该文档最后更新于2014年9月。
(*:严格来说并非如此:对于某些交易所,您将需要支付额外的交易所费用。)

1
除了市场数据费用外,您还必须支付每月费用,除非您在佣金方面花费了那么多。 - GSee
1
TradeKing拥有一个带有示例R代码的API。您需要开设一个账户,但它是免费的,并且您不需要给它注资。 - GSee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接