Getting cryptocurrency OHLCV data in
R
without having to depend on low-level coding using, for example, curl
or httr2
, have not been easy for the R
community.
There is now a high-level API Client available on
CRAN
which fetches all the market data without having to rely on web-scrapers, API keys or low-level coding.Bitcoin Prices in R (Example)
This high-level API-client have one main function,getQuotes()
, which returns cryptocurrency market data with a xts
– and zoo
-class. The returned objects contains Open, High, Low, Close and Volume data with different granularity, from the currently supported exchanges.In this blog post I will show how to get hourly Bitcoin (BTC) prices in
R
using the
getQuotes()
-function. See the code below,# 1) getting hourly BTC
# from the last 3 days
BTC <- cryptoQuotes::getQuote(
ticker = "BTCUSDT",
source = "binance",
futures = FALSE,
interval = "1h",
from = as.character(Sys.Date() - 3)
)
Index | Open | High | Low | Close | Volume |
---|---|---|---|---|---|
2023-12-23 19:00:00 | 43787.69 | 43821.69 | 43695.03 | 43703.81 | 547.96785 |
2023-12-23 20:00:00 | 43703.82 | 43738.74 | 43632.77 | 43711.33 | 486.4342 |
2023-12-23 21:00:00 | 43711.33 | 43779.71 | 43661.81 | 43772.55 | 395.6197 |
2023-12-23 22:00:00 | 43772.55 | 43835.94 | 43737.85 | 43745.86 | 577.03505 |
2023-12-23 23:00:00 | 43745.86 | 43806.38 | 43701.1 | 43702.16 | 940.55167 |
2023-12-24 | 43702.15 | 43722.25 | 43606.18 | 43716.72 | 773.85301 |
The returned Bitcoin prices from getQuotes()
are compatible with quantmod
and TTR
, without further programming. Let me demonstrate this using chartSeries()
, addBBands()
and addMACD()
from these powerful libraries,
# charting BTC
# using quantmod
quantmod::chartSeries(
x = BTC,
TA = c(
# add bollinger bands
# to the chart
quantmod::addBBands(),
# add MACD indicator
# to the chart
quantmod::addMACD()
),
theme = quantmod::chartTheme("white")
)
Installing cryptoQuotes
Stable version
# install from CRAN
install.packages(
pkgs = 'cryptoQuotes',
dependencies = TRUE
)
Development version
# install from github
devtools::install_github(
repo = 'https://github.com/serkor1/cryptoQuotes/',
ref = 'main'
)