Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

GDAX Data Fetcher

This module builds a MarketStore background worker which fetches historical price data of cryptocurrencies from GDAX public API. It runs as a goroutine behind the MarketStore process and keeps writing to the disk.

Configuration comes with the server by default, so you can simply configure it in MarketStore configuration file.


Name Type Default Description
query_start string none The point in time from which to start fetching price data
base_timeframe string 1Min, 5Min, 15Min, 1H, 1D The bar aggregation duration
symbols slice of strings [BTC-USD, ETH-USD, LTC-USD, BCH-USD] The symbols to retrieve data for

Query Start

The fetcher keeps filling data up to the current time eventually and writes new data as it is generated. Once data starts to fetch, it restarts from the last-written data timestamp even after the server is restarted. You can specify fewer symbols if you don't need others. Since GDAX API has rate limit, this may help to fill the historical data if you start from old. Note that the data fetch timestamp is identical among symbols, so if one symbol lags other fetches may not be up to speed.

Base Timeframe

The daily bars are written at the boundary of system timezone configured in the same file.


Add the following to your config file:

  - module:
      query_start: '2018-01-01 00:00'
        - BTC-USD
      base_timeframe: '1D'


If you need to change the fetcher, you can build it by:

$ make configure
$ make all

It installs the new .so file to the first GOPATH/bin directory.


Since this is implemented based on the Go's plugin mechanism, it is supported only on Linux & MacOS as of Go 1.10

You can’t perform that action at this time.