Nondeterministic Programming Methodology

    alpha-vantage-graphql

    1.2.9 • Public • Published

    AlphaVantage

    Alpha Vantage API implemented as plug and play GraphQL module. Hosted on NPM. It is a hobby project, first version was written out of need for my work later polished in overhours (I have no affiliation with AlphaVantage).

    Originally it was fork of https://github.com/zackurben/alphavantage yet this module does not directly inherit any related source code. Instead I developed a fork of zackurben project (covers whole API, is not )

    All contributions are welcome! This is an open source project under the MIT license.

    Installation

    npm i alpha-vantage-graphql-module

    Usage

    import { GraphQLModule } from '@graphql-modules/core';
    import alphaVantage from 'alpha-vantage-graphql-module';
     
    export const AppModule = new GraphQLModule({
        imports: [
            alphaVantage,
            //your modules
        ]
    });

    or as standalone application:

    import { GraphQLServer } from 'graphql-yoga';
    import alphaVantage from 'alpha-vantage-graphql-module';
    const {schema} = alphaVantage;
     
    const server = new GraphQLServer({
        schema,
        context: r => r
    });
     
    server.start(graphQL_options, ({ port }) =>
        console.log(`Server is running on http://localhost:${  port}`)
    );

    Please check graphQL schema for more documentation.

    Schema

    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()

    Contributing

    All contributions are welcome! The purpose of this library is to keep function parity with the Alpha Vantage API, while keeping a slim and intuitive programming interface. Before any pull requests are made, please run npm run lint to fix style issues and ensure that all test are passing npm test. The codebase should always remain at 100% test coverage.

    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-type keys normalisation.

    Install

    npm i alpha-vantage-graphql

    DownloadsWeekly Downloads

    3

    Version

    1.2.9

    License

    MIT

    Unpacked Size

    136 kB

    Total Files

    40

    Last publish

    Collaborators

    • skitionek