Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tap-fxmacrodata

A Singer tap for FXMacroData, built with the Meltano SDK.

FXMacroData aggregates official publishers — central banks and national statistics agencies — across 18 currencies behind one contract, and stamps every observation with the instant it was published.

That last part is why this tap exists. Most macro sources give you a value and a reference date, which quietly invites lookahead: the figure for March was not knowable in March. Every announcements record here carries announcement_datetime, the instant the figure actually went out, so a model trained downstream can filter on when a number was known rather than when it referred to.

Streams

Stream Grain Replication
announcements one record per release of one indicator incremental on date
release_calendar scheduled and recent releases full table
data_catalogue indicators a currency publishes full table
forex_rates daily reference rate for a pair incremental on date

announcements and forex_rates are partitioned per series, so state is kept per currency/indicator and per pair. Interrupting a sync re-runs only the series that had not finished.

Install

pipx install git+https://github.com/fxmacrodata/tap-fxmacrodata.git

Or with Meltano:

meltano add extractor tap-fxmacrodata

Configuration

Setting Required Description
api_key no Widens access beyond public USD data
currencies no Defaults to ["USD"]
indicators no Indicator slugs; unset skips announcements
fx_pairs no Pairs like EUR/USD; unset skips forex_rates
start_date no Earliest reference date for dated streams
api_url no Override the API base URL

Run tap-fxmacrodata --about --format=markdown for the full settings list.

USD macro data is public, so the tap runs with no key at all — useful for trying it before deciding anything:

{
  "currencies": ["USD"],
  "indicators": ["inflation", "policy_rate", "unemployment"],
  "start_date": "2020-01-01T00:00:00Z"
}

A key covers the other seventeen currencies, the full history, and FX. It is sent as an X-API-Key header, so it never lands in a URL or a request log. Subscribe.

Finding indicators

Indicator slugs differ by currency. Sync data_catalogue first:

tap-fxmacrodata --config config.json --select data_catalogue

A currency you are not subscribed to

The tap logs a warning and moves on rather than failing the run. Access is a configuration fact, not a transport error, and stopping the whole sync would make a mixed currency list unusable.

Usage

tap-fxmacrodata --config config.json > output.jsonl
tap-fxmacrodata --config config.json --discover > catalog.json

Development

python -m venv .venv && .venv/bin/pip install -e ".[dev]"
pytest

Links

MIT licensed.

About

Singer tap for FXMacroData: official macroeconomic, FX and release-calendar data for 18 currencies

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages