Thrilled to announce that a new package of mine just made it to CRAN: the td package accesses the twelvedata API for financial data.
Currently only the time_series
REST access point is supported, but it is already supported with all meaningful options (we skipped only ‘JSON or CSV’ which makes no sense here) so for example any resolution between 1 minute and 1 month can be requested for any stock, etf or currency symbol for a wide array of exchanges. Historical access is available too via (optional) start and end dates. We return either raw JSON or a data.frame
or an xts
object making it trivial to call high-end plotting functions on the data–the project and repo pages show several examples.
As just one example, here is GME during the follies. We simply request via
> gme <- time_series("GME", "1min",
+ start_date="2021-01-25 09:30:00",
+ end_date="2021-02-04 16:00:00", as="xts")
(where the API key is either in a user-local config file accessed via the new-ish R function tools::R_user_dir("td")
pointing at this package’s directory, or via an environment variable; either is accessed at package load or attachment) from which we can then plot via quantmod
> quantmod::chart_Series(gme, name=paste0(attr(gme, "symbol"), "/", attr(gme, "exchange")))
which shows how we also helpfully store metadata returned by twelvedata as extra attributes of the object. The chart is
You will need an API key to have up to 800 daily accesses for free, higher-performance plans (including websocket access) are available for paying customers too. I have only used the free API so far myself.
I plan to add quote and price support this weekend, and generalize the time series access to returning lists of objects as the API does in fact support multi-security access. As always, feedback is welcomed. Please post comments and suggestions at the GitHub repo.
If you like this or other open-source work I do, you can now sponsor me at GitHub.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.