Я пытаюсь сделать некоторый анализ рынка, используя R. Есть ли способ получить котировки акций в реальном времени с минимальными интервалами с помощью пакета? Я знаком с quantmod и использовал функцию getSymbols(), однако все данные, которые я могу использовать, составляют 15 минут. Спасибо.
Цена акций в реальном времени R
Ответ 1
Мой qmao
пакет имеет getQuote
"методы" для BATS и google, которые находятся почти в режиме реального времени
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()
Ответ 2
IB, вероятно, будет лучше всего использовать данные в реальном времени. Вам не нужно будет платить за нее (*), но в прошлый раз, когда я посмотрел, вам нужно будет открыть счет с минимальным количеством реальных денег.
Существует пакет R: http://cran.r-project.org/web/packages/IBrokers/index.html
Существует ли виньетка для получения данных в реальном времени, но она была обновлена в последний раз в 2009 году, поэтому я бы пошел с общей виньеткой: http://cran.r-project.org/web/packages/IBrokers/vignettes/IBrokers.pdf, который был последним обновлением sep 2014.
(*: Не совсем верно: для некоторых обменов вам потребуется внести дополнительную плату за обмен.)