[R-SIG-Finance] Interaction with Alpha Vantage?

Joshua Ulrich josh.m.ulrich at gmail.com
Mon Nov 6 17:11:03 CET 2017


On Mon, Nov 6, 2017 at 9:41 AM, Dirk Eddelbuettel <edd at debian.org> wrote:
> Credit where credit is due---the 'tidyquant' folks first mentioned it, but it

FWIW, I'm not sure when 'tidyquant' folks first mentioned it, but Paul
wrote his first implementation in early July--it just didn't make it
into quantmod until months later.  The first commit of the
'alphavantager' package was in early September.

> in the fullest and most glorious tradition of the tibbliesverse require half
> a dozen or more other packages for not apparent reason.  So I followed up
> with a quick tweet on Sep 5 about a one-liner not needing anything else
> besides data.table:
>
>   https://twitter.com/eddelbuettel/status/905066349294219264
>
> and cooked up a helper function in a so-far-unreleased package of personal
> functions (this one is below) which I shared with at least Josh.  The larger
> function added to quantmod is AFAIK contributed by Paul.
>
> Now, as for interchaning with them: Nope. I too need ETFs, Canadian stocks
> and whatnot for the little personal finance app I have had as a daily cronjob
> since the 1990s (and been meaning to rewrite in R since then too as it is,
> gasp, Perl -- see eg https://github.com/eddelbuettel/beancounter and other
> online resources). It may now be time to rewrite this as the underlying
> (Perl) data grabber Finance::YahooQuote is now dead due to Yahoo! walking
> away from that API.  I have an unpublished R-based drop-in replacement for
> just the data gathering ...
>
> Anyway, alphavantage looks good.  We should test it some more.
>
> Dirk
>
>
>
> ##' Fetch a real-time market data series from AlphaVantage
> ##'
> ##' Several optional parameters could be set, but are not currently.
> ##' @title Retrieve real-time data from AlphaVantage
> ##' @param sym Character string value for the ticker
> ##' @param datatype Character string value for the supported type of data, currently one of
> ##' \dQuote{intraday}, \dQuote{daily}, \dQuote{adjdaily}, \dQuote{weekly}, \dQuote{monthly}.
> ##' @param outputsize Character string value, one of \dQuote{compact} or \dQuote{full}. Applies
> ##' only daily or intraday data.
> ##' @return A data.table object
> ##' @author Dirk Eddelbuettel
> alphavantage <- function(sym,
>                          datatype=c("intraday", "daily", "adjdaily", "weekly", "monthly"),
>                          outputsize=c("compact", "full")) {
>     datatype <- match.arg(datatype)
>     outputsize <- match.arg(outputsize)
>     datatypeArg <- switch(datatype,
>                           intraday = "TIME_SERIES_INTRADAY",
>                           daily    = "TIME_SERIES_DAILY",
>                           adjdaily = "TIME_SERIES_DAILY_ADJUSTED",
>                           weekly   = "TIME_SERIES_WEEKLY",
>                           monthly  = "TIME_SERIES_MONTHLY")
>
>     cmd <- paste0("https://www.alphavantage.co/query?",
>                   "function=", datatypeArg, "&",
>                   "symbol=", sym, "&",
>                   "interval=1min&",
>                   "apikey=", getOption("alphavantageKey", "demo"), "&",
>                   "datatype=csv&")
>     if (datatype %in% c("intraday", "daily", "adjdaily")) {
>         cmd <- paste0(cmd, "outputsize=", outputsize)
>     }
>     #print(cmd)
>     data <- data.table::fread(cmd, showProgress=FALSE)
> }
>
>
> --
> http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
>
> _______________________________________________
> R-SIG-Finance at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only. If you want to post, subscribe first.
> -- Also note that this is not the r-help list where general R questions should go.




-- 
Joshua Ulrich  |  about.me/joshuaulrich
FOSS Trading  |  www.fosstrading.com
R/Finance 2017 | www.rinfinance.com



More information about the R-SIG-Finance mailing list