Socket
Book a DemoInstallSign in
Socket

alpha-vantage-data-source

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

alpha-vantage-data-source

[![Known Vulnerabilities](https://snyk.io/test/github/Skitionek/alpha-vantage-data-source/badge.svg?targetFile=package.json)](https://snyk.io/test/github/Skitionek/alpha-vantage-data-source?targetFile=package.json) [![Intergation test](https://github.com/

latest
Source
npmnpm
Version
2.3.1
Version published
Weekly downloads
5
-16.67%
Maintainers
1
Weekly downloads
 
Created
Source

AlphaVantage

Known Vulnerabilities Intergation test CI

This is a simple wrapper around the Alpha Vantage API hosted on NPM. I have no affiliation with AlphaVantage.

Contents

Installation

npm i alpha-vantage-data-source

Usage

The library is initialised in straight forward manner by simply providing AlphaVantage access key:

const alpha = require('alpha-vantage-data-source')({ key: 'demo' });

This access key might be set by environmental variable 'AV_KEY' if needed.

Once this library ins initialised, data can be accessed by navigating to functions corresponding to AlphaVantage API:

alpha.data.intraday(`msft`)
alpha.data.batch([`msft`, `aapl`])
alpha.forex.rate('btc', 'usd')
alpha.crypto.daily('btc', 'usd')
alpha.technical.sma(`msft`, `daily`, 60, `close`)
alpha.performance.sector()

Whole list of available functions is as follows"

Data

See Alpha Vantage for the parameters.

alpha.data.intraday(symbol, outputsize, datatype, interval)
alpha.data.daily(symbol, outputsize, datatype, interval)
alpha.data.daily_adjusted(symbol, outputsize, datatype, interval)
alpha.data.weekly(symbol, outputsize, datatype, interval)
alpha.data.weekly_adjusted(symbol, outputsize, datatype, interval)
alpha.data.monthly(symbol, outputsize, datatype, interval)
alpha.data.monthly_adjusted(symbol, outputsize, datatype, interval)
alpha.data.quote(symbol, outputsize, datatype, interval)
alpha.data.search(keywords)
alpha.data.batch([symbol1, symbol2..])

Forex

See Alpha Vantage for the parameters.

alpha.forex.rate(from_currency, to_currency)

Crypto

See Alpha Vantage for the parameters.

alpha.crypto.daily(symbol, market)
alpha.crypto.weekly(symbol, market)
alpha.crypto.monthly(symbol, market)

Technicals

See Alpha Vantage for the parameters.

alpha.technical.sma(symbol, interval, time_period, series_type)
alpha.technical.ema(symbol, interval, time_period, series_type)
alpha.technical.wma(symbol, interval, time_period, series_type)
alpha.technical.dema(symbol, interval, time_period, series_type)
alpha.technical.tema(symbol, interval, time_period, series_type)
alpha.technical.trima(symbol, interval, time_period, series_type)
alpha.technical.kama(symbol, interval, time_period, series_type)
alpha.technical.mama(symbol, interval, series_type, fastlimit, slowlimit)
alpha.technical.t3(symbol, interval, time_period, series_type)
alpha.technical.macd(symbol, interval, series_type, fastperiod, slowperiod, signalperiod)
alpha.technical.macdext(symbol, interval, series_type, fastperiod, slowperiod, signalperiod, fastmatype, slowmatype, signalmatype)
alpha.technical.stoch(symbol, interval, fastkperiod, slowkperiod, slowdperiod, slowkmatype, slowdmatype)
alpha.technical.stochf(symbol, interval, fastkperiod, fastdperiod, fastdmatype)
alpha.technical.rsi(symbol, interval, time_period, series_type)
alpha.technical.stochrsi(symbol, interval, time_period, series_type, fastkperiod, slowdperiod, fastdmatype)
alpha.technical.willr(symbol, interval, time_period)
alpha.technical.adx(symbol, interval, time_period)
alpha.technical.adxr(symbol, interval, time_period)
alpha.technical.apo(symbol, interval, series_type, fastperiod, slowperiod, matype)
alpha.technical.ppo(symbol, interval, series_type, fastperiod, slowperiod, matype)
alpha.technical.mom(symbol, interval, time_period, series_type)
alpha.technical.bop(symbol, interval)
alpha.technical.cci(symbol, interval, time_period)
alpha.technical.cmo(symbol, interval, time_period, series_type)
alpha.technical.roc(symbol, interval, time_period, series_type)
alpha.technical.rocr(symbol, interval, time_period, series_type)
alpha.technical.aroon(symbol, interval, time_period)
alpha.technical.aroonosc(symbol, interval, time_period)
alpha.technical.mfi(symbol, interval, time_period)
alpha.technical.trix(symbol, interval, time_period, series_type)
alpha.technical.ultosc(symbol, interval, timeperiod1, timeperiod2, timeperiod3)
alpha.technical.dx(symbol, interval, time_period)
alpha.technical.minus_di(symbol, interval, time_period)
alpha.technical.plus_di(symbol, interval, time_period)
alpha.technical.minus_dm(symbol, interval, time_period)
alpha.technical.plus_dm(symbol, interval, time_period)
alpha.technical.bbands(symbol, interval, time_period, series_type, nbdevup, nbdevdn)
alpha.technical.midpoint(symbol, interval, time_period, series_type)
alpha.technical.midprice(symbol, interval, time_period)
alpha.technical.sar(symbol, interval, acceleration, maximum)
alpha.technical.trange(symbol, interval)
alpha.technical.atr(symbol, interval, time_period)
alpha.technical.natr(symbol, interval, time_period)
alpha.technical.ad(symbol, interval)
alpha.technical.adosc(symbol, interval, fastperiod, slowperiod)
alpha.technical.obv(symbol, interval)
alpha.technical.ht_trendline(symbol, interval, series_type)
alpha.technical.ht_sine(symbol, interval, series_type)
alpha.technical.ht_trendmode(symbol, interval, series_type)
alpha.technical.ht_dcperiod(symbol, interval, series_type)
alpha.technical.ht_dcphase(symbol, interval, series_type)
alpha.technical.ht_dcphasor(symbol, interval, series_type)

Performance

See Alpha Vantage for the parameters.

alpha.performance.sector()

Util

Data polishing

  • Rewrite data keys to be consistent across all api calls. This is an optional utility you can use with the result of any api call.
const polished = alpha.util.polish(data);

Coverage

As of time of witting this library gives access you all data provided by AlphaVantage. Including comprehensive tests, unit as well as integration (integration tests are validating response for all queries available when using 'demo' key).

Testing

This package implements extensive testing, which is used to validate all functionally and also that this package remains up to date with currently exposed version of AlphaVantage API. Automatic cron job runs integration tests every day to keep track if API did not change.

Mocking

Additionally this project also exposes internally used testing mocks.

const alpha_mocks = require('alpha-vantage-data-source/mocks')

Data structure overview

For ease of integration structure of underlying data is summarised in autogenerated file 'ApiTree.json'.

Contributing

All contributions are welcome! This is an open source project under the MIT license, see LICENSE.md for additional information.

Credits

Core has been forked from:

  • Author: Zack Urben
  • Twitter: https://twitter.com/zackurben (better)
  • Contact: zackurben@gmail.com yet greatest part in common is it's structure. Current version support full API coverage, requests cache and non duck-typed keys normalisation.

Keywords

alpha vantage

FAQs

Package last updated on 24 Aug 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts