An open API service indexing awesome lists of open source software.

https://github.com/business-science/alphavantager

A lightweight R interface to the Alpha Vantage API
https://github.com/business-science/alphavantager

alpha-vantage financial-data historical-financial-data

Last synced: 2 months ago
JSON representation

A lightweight R interface to the Alpha Vantage API

Awesome Lists containing this project

README

        

---
output: github_document
---

```{r, echo = FALSE}
knitr::opts_chunk$set(
message = F,
warning = F,
collapse = TRUE,
comment = "#>",
fig.path = "README-"
)
```

# alphavantager

[![codecov](https://codecov.io/gh/business-science/alphavantager/branch/master/graph/badge.svg)](https://app.codecov.io/gh/business-science/alphavantager)
[![CRAN_Status_Badge](http://www.r-pkg.org/badges/version/alphavantager)](https://cran.r-project.org/package=alphavantager)
![](http://cranlogs.r-pkg.org/badges/alphavantager?color=brightgreen)
![](http://cranlogs.r-pkg.org/badges/grand-total/alphavantager?color=brightgreen)

> A lightweight R interface to the Alpha Vantage API

## Alpha Vantage

Alpha Vantage is a __free service__ that enables users to get __real-time and historical financial data__. New users will need to visit [Alpha Vantage](https://www.alphavantage.co/) and obtain an API key.

## R Interface: Getting Started

The `alphavantager` package provides a convenient and lightweight interface to the Alpha Vantage API.

To get started, install the package from CRAN or from GitHub:

```{r, eval = F}
install.packages("alphavantager")
# Or
devtools::install_github("business-science/alphavantager")
```

Load the package.

```{r}
library(alphavantager)
```

Set your API key (get one from [Alpha Vantage](https://www.alphavantage.co/) if you don't already have one... it's free).

```{r}
av_api_key("YOUR_API_KEY")
print(av_api_key())
```

## Getting Financial Data from Alpha Vantage

Now, you're ready to get financial data via `av_get()`, which accepts the same1 arguments as the [API Documentation](https://www.alphavantage.co/documentation/) parameters. The function is setup with two primary arguments, `symbol` and `av_fun`, which accepts an equity and one of the API "function" parameters. You can pass additional API parameters via the `...`.

```{r}
# Function is streamlined and user adds additional parameters via ...
args(av_get)
```

Here are a few examples of retrieving __real-time and historical financial data__!

#### Time Series Data

```{r, eval=F}
av_get(symbol = "MSFT",
av_fun = "TIME_SERIES_INTRADAY",
interval = "15min",
outputsize = "full")
```

#### ForEx

```{r, eval=F}
# REAL-TIME QUOTE
av_get("EUR/USD", av_fun = "CURRENCY_EXCHANGE_RATE")
```

```{r, eval=F}
# TIME SERIES
av_get("EUR/USD", av_fun = "FX_DAILY", outputsize = "full")
```

#### Technical Indicators

```{r, eval=F}
av_get(symbol = "MSFT",
av_fun = "AROON",
interval = "monthly",
time_period = 60,
outputsize = "full")
```

#### Sector Performances

```{r, eval=F}
av_get(av_fun = "SECTOR")
```

#### Fundamental Data

```{r, eval=F}
av_get(av_fun = "OVERVIEW")
```

#### Important Notes: av_get()

1. The `av_fun` argument replaces the API parameter "function" because function is a reserved name in R. All other arguments match the Alpha Vantage API parameters.

2. There is no need to specify the `apikey` parameter as an argument to `av_get()`. The required method is to set the API key using `av_api_key("YOUR_API_KEY")`.

3. There is no need to specify the `datatype` parameter as an argument to `av_get()`. The function will return a tibble data frame.

4. Some data sets only return 100 rows by default. Change the parameter `outputsize = "full"` to get the full dataset.