Skip to content

Releases: serkor1/cryptoQuotes

cryptoQuotes 1.3.2

07 Nov 13:26
Compare
Choose a tag to compare

General

  • bitmart has updated their futures API. The backend have been updated
    accordingly.

  • Unit-tests have been updated and now all get_quote()-functions are
    being tested for equality in passed and inferred interval.

Improvements

Read and Write xts-objects

  • read_xts() and write_xts() reads and stores xts-objects. These
    functions are essentially just wrappers of zoo::read.zoo() and
    zoo::write.zoo(). Thank you @gokberkcan7 for the suggestion.

Charting

  • The chart()-function are now exported as .svg-images in 4k
    resolution via the modebar.
  • The chart()-function are now more interactive and supports drawing
    lines and rectangles via the modebar. It is also possible to
    interactively change the title and subtitle by double clicking
    these (Thank you @andreltr for the suggestion. See
    Discussion).
  • The chart()-function now has a new option static that is equal to
    FALSE by default. If FALSE the chart can be edited, annotated and
    explored interactively.
  • The chart()-function now has a new option palette that is set to
    “hawaii” by default. See hcl.pals() for accepted values.
  • The chart()-function now has a new option scale that is set to 1
    by default. Scales all fonts on the chart.
  • The chart()-function now has a new option width that is set to 0.9
    by default. Sets the overall linewidth of the chart. (Thank you
    @andreltr for the suggestion. See
    Discussion)
Static set to FALSE (Default Palette)

cryptoQuotes 1.3.1

31 May 21:25
Compare
Choose a tag to compare

General

NOTE: With this update the package is no longer considered
experimental.

  • Removed deprecated functions getQuote()-, getFGIndex()- and
    getLSRatio()-functions.

  • Removed decprecated functions availableExchanges()-,
    availableIntervals()- and availableTickers()-functions.

These functions were planned to be deleted in 1.4.0 - however, we have
decided to aim for an JOSS- and rOpenSci-subscription which requires
some degree of stability. Hence the deletion of these function at
1.3.0.

We expect 1.4.0 to be released after rOpenSci-submission and
acceptance 🙏

Improvements

New features

  • smi()-function, a subchart-indicator built on the
    TTR::SMI()-function.
  • donchian_channel()-function, a main chart-indicator built on the
    TTR::DonchianChannel()-function
Usage
chart(
  ticker = BTC,
  main   = kline(),
  indicator = list(
    donchian_channel()
  ),
  sub = list(
    smi()
  )
)

Expanded Support

  • get_openinterest() is now supported by kraken
Usage
tail(
  get_openinterest(
    ticker   = "PF_XBTUSD",
    interval = "1h",
    source   = "kraken"
  )
)
#>                     open_interest
#> 2024-05-31 15:00:00      3013.342
#> 2024-05-31 16:00:00      2957.343
#> 2024-05-31 17:00:00      2960.819
#> 2024-05-31 18:00:00      2954.668
#> 2024-05-31 19:00:00      2983.686
#> 2024-05-31 20:00:00      2996.449

Charting

  • The chart()-function now has proper light-theme available that
    isn’t the default plotly-values.
  • The charts now displays date ranges as a subtitles.
  • The bollinger_bands()-function now accepts a color-argument. These
    can be passed as Hexadecimal-colors or as is, "blue" for example.
  • A new main chart function has been introduced. pline() which is a
    univariate price chart based on either open, high, low or close
    prices.
Usage
chart(
  ticker = BTC,
  main   = pline(price = "close"),
  indicator = list(
    bollinger_bands(
    color = "steelblue"
  )
  ),
  sub = list(
    volume()
  ),
  options = list(
    dark = FALSE
  )
)

Documentation

  • The documentation has been extensively reworked. This is includes, but
    not limited to, sample outputs for all get_*-functions.

Backend Changes

  • The chart()-functions no longer depend on rlang.

Note: we are generally moving away from rlang, purrr and
tidyverse in general. We are, however, keeping the tidyverse
styleguide.

  • Removed dependency on conflicted-package.

Prior to version 1.3.0 the get*-functions were following the syntax
of quantmod closely, and this goes for the function naming too. With
the adoption of the tidyverse style guide, there is no conflicts that
needs to be resolved on stable- and experimental-functions.

New developper tools

  • pull()-function
  • var_ly()-function
  • build()-function

Breaking Changes

  • The get_fgindex()-function now returns columns in lower case.

Bugfixes

  • Fixed a bug where get_fgindex() where labelled as deprecated
  • Fixed a bug in the limitations-article where the desired number of
    observations werent compatible with the kraken-exchange.
  • Fixed a warning in the get_lsratio()-function with
    source = "binance"
  • Fixed a bug in the lsr()-indicator which broke the
    chart()-function when included.
  • Fixed a bug in the get_quote()-function where if to = NULL and
    from != NULL the returned quote would be filtered according to
    UTC and not Sys.timezone()
  • Fixed a bug in the chart()-function where the inferred intervals
    would be incorrect for leap years, and months different from 30 days.

cryptoQuotes 1.3.0

15 Mar 04:55
Compare
Choose a tag to compare

Improvements

General function improvements

  • get_lsratio and getLSratio() supports kraken and bybit as source

  • available_-functions are more adaptive to the callling environments

## charting the klines
## with indicators as
## subcharts
available_exchanges(type = 'ohlc')

Now returns all available exhanges that supports Open, High, Low and Close market data. The type-argument can be changed to, for example, lsratio to get
all available exchanges that supports Long to Shorts ratios. Similar changes have been made to remaining available_-functions.

Error-handling

All get_*- and available_*-functions are now more robust to API and input errors.

Default Returning

  • quotes and fear and greed index now returns 200 rows instead of 100

Charting

  • The charts now has a dark and light theme. Its passed into the options = list(dark = TRUE) of the chart()-function.
  • The charts are now more color deficiency compliant, and the deficiency parameter in options = list(deficiency = TRUE) now applies to all chart-elements
  • The charts are now constructed without %>% and, should, be more intuitive to navigate in. See example below,
## charting the klines
## with indicators as
## subcharts
chart(
  ticker     = BTCUSDT,
  main       = kline(),
  sub        = list(
    volume(),
    macd()
  ),
  indicator = list(
    bollinger_bands(),
    sma(),
    alma()
  ),
  options = list(
    dark = TRUE,
    deficiency = FALSE
  )
)

Exchange Support

The following exchanges have been added to list of exchanges available,

  • ByBit

New features

  • Funding rates
## get funding rate
get_fundingrate(
    ticker = "BTCUSDT",
    source = "binance"
  )
  • Open interest
## get open interest
get_openinterest(
      ticker = "BTCUSDT",
      source = "binance"
    )

Breaking Changes

Charting

  • All the charting-functions have been reworked without backwards compatibility, or lifecycle::deprecated()-warnings. The charting-functions were, and still is, in an experimental-stage.

API Calls

  • All dates passed to get_*-functions assumed the dates were given in UTC, and were retrieved as UTC. These have now been changed; all functions now uses Sys.timezone() as default upon request and retrieval.

Warning

As the cryptoQuotes-package has moved to the tidyverse style guide, the getFoo-functions are now deprecated. These will be permanently deleted, and removed from the cryptoQuotes-package, at version 1.4.0!

cryptoQuotes 1.2.1

08 Jan 21:39
Compare
Choose a tag to compare

Minor Updates

  • Added DOGECOIN data. This data is extracted on the 1m chart, around Elon Musks Tweet.
  • Added a usecase in the Vignette about Dogecoin and Elon Musk to showcase the functionality of the library.

Bugfixes

  • Corrected misspelled ticker in Vignette
  • All returned Quotes are now in UTC, again.
  • Fixed an error on the ``Bitmart` API where weekly candles would throw an error.

cryptoQuotes 1.0.0

13 Dec 14:54
Compare
Choose a tag to compare
  • Initial CRAN submission.