ontofractal avatar

Quandlex 0.1 released: Quandle API client for Elixir/Erlang

ontofractal

Published: 30 May 2018 › Updated: 30 May 2018Quandlex 0.1 released: Quandle API client for Elixir/Erlang

Quandlex 0.1 released: Quandle API client for Elixir/Erlang

I'm releasing Quandlex, a new Elixir/Erlang library for Quandl API. Quandl provides unified access to multiple sources for financial, economic, and alternative datasets .

Links

Installation

The package can be installed by adding quandlex to your list of dependencies in mix.exs:

def deps do
  [
    {:quandlex, "~> 0.1.0"}
  ]
end

Quandlex.Timeseries

Quandlex.Timeseries includes several functions that match API endpoints:

  • get_data: returns both data and dataset metadata
  • get_dataset_metadata: returns only dataset metadata
  • get_database_metadata: returns database metadata
iex> {:ok, %{data: data, type: type}} = Quandlex.Timeseries.get_data("CHRIS", "MGEX_IH1")
iex> is_list(hd(data)) and is_list(data) and type == "Time Series"
true

iex> {:ok, %{name: name, id: id}} = Quandlex.Timeseries.get_database_metadata("CHRIS")
iex> name == "Wiki Continuous Futures" and id == 596
true

Response example


    {:ok,
      %{
       collapse: nil,
       column_index: nil,
       column_names: ["Date", "Open", "High", "Low", "Last", "Volume",
        "Open Interest"],
       data: [
         [~D[2019-04-30], nil, 486.0, 486.0, 486.0, 0.0, 0.0],
         [~D[2018-04-30], nil, 486.0, 486.0, 486.0, 0.0, 0.0],
         [~D[2018-04-27], nil, 474.0, 474.0, 474.0, 0.0, 0.0],
         [...],
         ...
       ],
       database_code: "CHRIS",
       database_id: 596,
       dataset_code: "MGEX_IH1",
       description: "Historical Futures Prices: Minneapolis HRWI Hard Red Wheat Futures, Continuous Contract #1. Non-adjusted price based on spot-month continuous contract calculations. Raw data from MGEX.",
       end_date: "2019-04-30",
       frequency: "daily",
       id: 9774107,
       limit: nil,
       name: "Minneapolis HRWI Hard Red Wheat Futures, Continuous Contract #1 (IH1) (Front Month)",
       newest_available_date: "2019-04-30",
       oldest_available_date: "2005-01-03",
       order: nil,
       premium: false,
       refreshed_at: "2018-05-08T18:27:06.846Z",
       start_date: "2005-01-03",
       transform: nil,
       type: "Time Series"
      }}

Quandlex.Forex

Quandlex.Forex is a utility module that makes fetching historical data of foreign exchange rates simpler and easier.

Quandl provides free (albeit limited for non-registered users) data of forex rates sourced from Bank of England, Federal Reserve and European Central Bank.

More about Quandle Forex API

You can use get_rates/2 or get_rates/3 function without wasting time on searching for special currency codes for every bank database.

For example, instead of using Quandlex.Timeseries.get_data("BOE", "XUDLJYD") you can call Quandlex.Forex.get_rates("USD", "JPY", source: "BOE")

Examples

iex> {:ok, %{data: data, type: type, database_code: database_code}} = Quandlex.Forex.get_rates("HKD", "USD")
iex> database_code === "FRED" and is_list(data) and type == "Time Series"
true

iex> {:ok, %{data: data, type: type, database_code: database_code}} = Quandlex.Forex.get_rates("HKD", "USD", source: "BOE")
iex> database_code === "BOE" and is_list(data) and type == "Time Series"
true

iex> {:ok, %{data: data, type: type, database_code: database_code}} = Quandlex.Forex.get_rates("THB", "EUR", source: "ECB")
iex> database_code === "ECB" and is_list(data) and type == "Time Series"
true

Response example

  {:ok,
  %{
   collapse: nil,
   column_index: nil,
   column_names: ["Date", "Value"],
   data: [
     [~D[2018-05-18], 7.8498],
     [~D[2018-05-17], 7.8496],
     [~D[2018-05-16], 7.8499],
     [...],
     ...
   ],
   database_code: "FRED",
   database_id: 118,
   dataset_code: "DEXHKUS",
   description: "Hong Kong Dollars to One U.S. Dollar Not Seasonally Adjusted, Noon buying rates in New York City for cable transfers payable in foreign currencies. ",
   end_date: "2018-05-18",
   frequency: "daily",
   id: 121063,
   limit: nil,
   name: "Hong Kong / U.S. Foreign Exchange Rate",
   newest_available_date: "2018-05-18",
   oldest_available_date: "1981-01-02",
   order: nil,
   premium: false,
   refreshed_at: "2018-05-27T03:10:46.002Z",
   start_date: "1981-01-02",
   transform: nil,
   type: "Time Series"
  }}
  """

Roadmap

  • [ ] Add datatables module
  • [ ] Add structs for return values
  • [ ] Investigate developer experience improvements using rate limiting utilities and caching

(*`□)<炎炎炎炎

Leave Quandlex 0.1 released: Quandle API client for Elixir/Erlang to:

Written by

Read more #utopian-io posts


Best Posts From ontofractal

We have not curated any of ontofractal's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From ontofractal