Note: Only the styling is affected, the returned market data is still xts/zoo-objectsOf the many new features and enhancements includes dark and light themed charting, and a wide array of new sentiment indicators. The full documentation can be found on pkgdown.
In this blog post the new charting features will be showcased using hourly Bitcoin OHLC-V and long-short ratios from the last two days (From writing this draft).
Cryptocurrency market data in R
# 0) load library
library(cryptoQuotes)
To extract the Bitcoin OHLC-V, the get_quote()-function [previously getQuote()] is used as shown below,# 1) extract last two
# days of Bitcoin on the
# hourly chart
tail(
BTC <- get_quote(
ticker = "BTCUSDT",
source = "binance",
interval = "1h",
from = Sys.Date() - 2
)
)
#> open high low close volume
#> 2024-06-05 02:00:00 70580.0 70954.1 70462.8 70820.1 7593.081
#> 2024-06-05 03:00:00 70820.2 71389.8 70685.9 71020.7 11466.934
#> 2024-06-05 04:00:00 71020.7 71216.0 70700.0 70892.1 7824.993
#> 2024-06-05 05:00:00 70892.2 71057.0 70819.1 70994.0 5420.481
#> 2024-06-05 06:00:00 70994.0 71327.9 70875.9 71220.2 7955.595
#> 2024-06-05 07:00:00 71220.2 71245.0 70922.0 70988.8 3500.795
The long-short ratios on Bitcoin in the same hourly interval is retrieved using the get_lsratio()-function [previously getLSRatio()] as shown below,# 2) extract last two days
# of long-short ratio on
# Bitcoin
tail(
BTC_LS <- get_lsratio(
ticker = "BTCUSDT",
source = "binance",
interval = "1h",
from = Sys.Date() - 2
)
)
#> long short ls_ratio
#> 2024-06-05 02:00:00 0.4925 0.5075 0.9704433
#> 2024-06-05 03:00:00 0.4938 0.5062 0.9755038
#> 2024-06-05 04:00:00 0.4942 0.5058 0.9770660
#> 2024-06-05 05:00:00 0.4901 0.5099 0.9611689
#> 2024-06-05 06:00:00 0.4884 0.5116 0.9546521
#> 2024-06-05 07:00:00 0.4823 0.5177 0.9316206
Prior to version 1.3.0 all charting with indicators were done with the magrittr-pipe operator, both internally and externally. This came with a overhead on both efficiency and readability (Opinionated, I know). The charting has been reworked in terms of layout and syntax.Below is an example of a dark-themed chart with the long-short ratio alongside simple moving averages, bollinger bands and volume indicators,
# 3) dark-themed
# chart
chart(
ticker = BTC,
main = kline(),
indicator = list(
bollinger_bands(),
sma(n = 7),
sma(n = 14)
),
sub = list(
volume(),
lsr(ratio = BTC_LS)
)
)
The light-themed chart have been reworked, and have received some extra love, such that its different from the default colors provided by the {plotly}-package,# 4) light-themed
# chart
chart(
ticker = BTC,
main = kline(),
indicator = list(
bollinger_bands(),
sma(n = 7),
sma(n = 14)
),
sub = list(
volume(),
lsr(ratio = BTC_LS)
),
options = list(
dark = FALSE
)
)
About the {cryptoQuotes}-package
The {cryptoQuotes}-package is a high-level API-client that interacts with public market data endpoints from major cryptocurrency exchanges using the {curl}-package.
The endpoints, which are publicly accessible and maintained by the exchanges themselves, ensure a consistent and reliable access to high-quality cryptocurrency market data with R.
The {cryptoQuotes}-package can be installed via CRAN,
# installing {cryptoQuotes}
install.packages(
pkgs ="cryptoQuotes",
dependencies = TRUE
)
Created on 2024-06-05 with reprex v2.1.0