Git Product home page Git Product logo

alpha-vantage's Introduction

Simplified Laravel Alpha Vantage API client

This is a Laravel package for simplified fetching of finance data from Alpha Vantage API. It's an abstraction layer over Guzzle that aims to remove complexity in connecting it to Alpha Vantage API.

Docs

Demo

Getting historical data

// Daily historical data for Bitcoin to USD
$res = \AlphaVantage\Api::digitalCurrency()->daily('BTC', 'USD');
/* Returns
[
    "Meta Data": [
        "1. Information": "Daily Prices and Volumes for Digital Currency", ...
    ],
    "Time Series (Digital Currency Daily)": [
        "2018-01-03": [
            "1a. open (USD)": "14782.09572045", ...
        ],
        "2018-01-02": [
            "1a. open (USD)": "13514.39967186", ...
        ], ...
    ],
]
*/

Installation

  1. Run composer composer require d1am0nd/alpha-vantage
  2. Add your Alpha Vantage API key to .env as AV_KEY={your key}

Usage

API calls are grouped into 5 different groups:

Each function described below is called from their respective group as shown in examples.

Functions described below also take an additional parameter array $params = [], which can be used to pass any optional parameters if needed.

Stock Time Series

Documented - https://www.alphavantage.co/documentation/#currency-exchange

Example - Microsoft's historical monthly stock data

use AlphaVantage\Api;
// ...
public function monthlyData()
{
    return Api::stock()->monthly('MSFT');
}

Methods available

Foreign Exchange

Documented - https://www.alphavantage.co/documentation/#currency-exchange

Example - Euro to US Dollar

use AlphaVantage\Api;
// ...
public function currencyExchangeRate()
{
    return Api::currency()->currencyExchangeRate('EUR', 'USD');
}

Methods available

Digital & Crypto Currencies

Documented - https://www.alphavantage.co/documentation/#digital-currency

Example - Bitcoin historical monthly stock data

use AlphaVantage\Api;
// ...
public function monthlyData()
{
    return Api::digitalCurrency()->monthly('BTC', 'USD');
}

Methods available

Sector Performances

Documented - https://www.alphavantage.co/documentation/#sector-information

Example - Sector peformances

use AlphaVantage\Api;
// ...
public function sectorPerformances()
{
    return Api::sector()->sectors();
}

Methods available

Technical Indicators & Other

Documented - https://www.alphavantage.co/documentation/#technical-indicators

Technical methods are not implemented as separate functions. There is a Api::general()->query($funcName, array $params) method which allows for custom queries.

Example - MACDEXT

This will query function 'MACDEXT' with additional parameters symbol, interval and series_type as described in the documentation https://www.alphavantage.co/documentation/#macdext

use AlphaVantage\Api;
// ...
public function technicalIndicators()
{
    return Api::general()->query('MACDEXT', [
        'symbol' => 'MSFT',
        'interval' => '15min',
        'series_type' => 'high',
    ]);
}

Methods available

  • query($functionName, array $parameters)

License

This project is licensed under the MIT License - see the LICENSE.md file for details

alpha-vantage's People

Contributors

d1am0nd avatar

Watchers

Roderik Emmerink avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.