This vignette
is a short introduction to {cryptoQuotes}, for a
more extensive introduction on its usecase and limitations please refer
to the wiki.
NOTE: This
vignette
is limited by geolocation due to various country specific cryptocurrency laws. The introduction, therefore, is limited to what is available in the US.
Throughout this vignette
we will explore the Bitcoin
market data using the Kraken
exchange. All available
tickers
and its notation various across exchangs, so if you
are unfamiliar with the exchange specific notation please use the
available_intervals()
-functions,
# show a sample of
# the available tickers
sample(
x = available_tickers(
source = "kraken",
futures = FALSE
),
size = 5
)
#> [1] "DENTEUR" "REPV2XBT" "DOTGBP" "LINKEUR" "ALGOETH"
These available tickers can be passed into the
ticker
-argument of all the get_*
-functions
with the appropriate source
and
futures
-argument which, in this case, is
kraken
and FALSE
.
We will extract the Bitcoin market data in hourly
intervals, and store it as BTC
,
## extract Bitcoin
## market on the hourly
## chart
BTC <- get_quote(
ticker = "XBTUSDT",
source = "kraken",
futures = FALSE,
interval = "1h"
)
#> open high low close volume
#> 2024-11-07 08:00:00 74784.7 75100.0 74683.8 75099.9 8.023292
#> 2024-11-07 09:00:00 75099.9 75100.0 74827.6 74939.9 18.072722
#> 2024-11-07 10:00:00 74915.8 74985.6 74767.5 74972.5 15.846774
#> 2024-11-07 11:00:00 74991.1 75037.1 74696.9 74739.8 13.238904
#> 2024-11-07 12:00:00 74749.1 75100.0 74749.1 74997.9 7.314464
#> 2024-11-07 13:00:00 75007.2 75007.2 74622.6 74668.0 27.926107
The market data can be extracted in different intervals using the
interval
-argument. To see available intervals, the
available_intervals()
-function can be used,
To put the Bitcoin price action in perspective, an interesting
sentiment indicator like the long
to short
ratio can be extracted,
## extract long-short
## ratio on Bitcoin
## using the hourly chart
LS_BTC <- try(
get_lsratio(
ticker = "XBTUSDT",
source = "kraken",
interval = "1h"
)
)
#> Error in tools::buildVignettes(dir = ".", tangle = TRUE) :
#> ✖ Couldn't find "XBTUSDT" on "kraken".
#> ✔ Run available_tickers(source = 'kraken', futures = TRUE) to see available
#> tickers.
#> ℹ If the error persists please submit a bug report.
This gives an error
. The source of the error is the
ticker-naming convention; as the long-short ratio is specific
to the perpetual futures market, and the current ticker is specific to
the spot-market, the endpoint throws an error.
To circumvent this, we can either use perpetual futures throughout
the script
, or modify the ticker
-argument as
follows,
## extract long-short
## ratio on Bitcoin
## using the hourly chart
LS_BTC <- get_lsratio(
ticker = "PF_XBTUSD",
source = "kraken",
interval = "1h"
)
#> long short ls_ratio
#> 2024-11-07 08:00:00 0.7228 0.2772 2.607504
#> 2024-11-07 09:00:00 0.7235 0.2765 2.616637
#> 2024-11-07 10:00:00 0.7187 0.2813 2.554924
#> 2024-11-07 11:00:00 0.7222 0.2778 2.599712
#> 2024-11-07 12:00:00 0.7148 0.2852 2.506311
#> 2024-11-07 13:00:00 0.7150 0.2850 2.508772
The ticker
specific to the perpetual futures market can
be extracted using the available_tickers
with
futures = TRUE
as follows,
The Bitcoin market data can be charted using the
chart()
-function, which uses {plotly} as backend,
# candlestick chart with
# volume and Long to Short Ratio
chart(
ticker = BTC,
main = kline(),
sub = list(
volume(),
lsr(ratio = LS_BTC)
),
options = list(
dark = FALSE
)
)
{cryptoQuotes}
also acts as an API-client to {TTR}, and supports most
of its functions. We can add Moving Average indicators, and Bollinger
Bands to the chart using the indicator
-argument,