royopa/quandl-elephant-api

A API to provide easy access to the Quandl API using PHP

v0.3.3 2015-05-19 18:41 UTC

This package is auto-updated.

Last update: 2024-04-29 03:40:40 UTC


README

http://royopa.github.io/quandl-elephant-api

This project is a fork of php-quandl, a great API to provide easy access to the Quandl API using PHP.

The name of this project was changed to answer the PHP Licensing.

Build Status Latest Stable Version Total Downloads Latest Unstable Version License Scrutinizer Code Quality

Install

To install with composer:

composer require royopa/quandl-elephant-api

Examples

This is a basic call. It will return a PHP object with price data for AAPL:

use Royopa\Quandl;

$api_key = "YOUR_KEY_HERE";
$quandl  = new Quandl($api_key);
$data    = $quandl->getSymbol("GOOG/NASDAQ_AAPL");

You may pass any parameter that is mentioned in the Quandl documentation:

use Royopa\Quandl;

$quandl = new Quandl($api_key);
$data = $quandl->getSymbol($symbol, [
	"sort_order"      => "desc",
	"exclude_headers" => true,
	"rows"            => 10,
	"column"          => 4, 
]);

The date range options get a special treatment. You may use any date string that PHP's strtotime() understands.

use Royopa\Quandl;

$quandl = new Quandl($api_key, "csv");
$data = $quandl->getSymbol($symbol, [
	"trim_start" => "today-30 days",
	"trim_end"   => "today",
]);

You can also search the entire Quandl database and get a list of supported symbols in a data source:

use Royopa\Quandl;

$quandl = new Quandl($api_key);
$data   = $quandl->getSearch("crude oil");
$data   = $quandl->getList("WIKI", 1, 10);

More examples can be found in the examples.php file

Caching

You may provide the quandl object with a cache handler function. This function should be responsible for both reading from your cache and storing to it.

See the example_cache.php file.

Reference

Constructor and public properties

The constructor accepts two optional parameters: $api_key and $format:

$quandl = new Quandl("YOUR KEY", "csv");

You may also set these properties later:

$quandl->api_key = "YOUR KEY";
$quandl->format  = "json";

$format can be one of csv, xml, json, and object (which will return a php object obtained with json_decode()).

After each call to Quandl, the property $last_url will be set for debugging and other purposes. In case there was an error getting the data from Quandl, the result will be false and the property $error will contain the error message.

getSymbol

mixed getSymbol( string $symbol [, array $params ] )

Returns an object containing data for a given symbol. The format of the result depends on the value of $quandl->format.

The optional parameters array is an associative key => value array with any of the parameters supported by Quandl.

You do not need to pass auth_token in the array, it will be automatically appended.

getSearch

mixed getSearch( string $query [, int $page, int $per_page] )

Returns a search result object. Number of results per page is limited to 300 by default.

Note that currently Quandl does not support CSV response for this node so if $quandl->format is "csv", this call will return a JSON string instead.

getList

mixed getList( string $source [, int $page, int $per_page] )

Returns a list of symbols in a given source. Number of results per page is limited to 300 by default.

Tests

From the project directory, tests can be ran using:

./vendor/bin/phpunit