(build-series-key dataflow dimensions)Compile a dataflow name and a sequence of dimensions into an SDMX series-key string.
Each dimension element may be:
Example: (build-series-key "EXR" ["D" #{"USD" "JPY"} nil "SP00" "A"]) ;; => "EXR/D.JPY+USD..SP00.A"
Compile a dataflow name and a sequence of dimensions into an SDMX series-key string.
Each dimension element may be:
- a string → used as-is
- nil → wildcard "."
- a set → elements sorted and joined with "+"
Example:
(build-series-key "EXR" ["D" #{"USD" "JPY"} nil "SP00" "A"])
;; => "EXR/D.JPY+USD..SP00.A"Series key for €STR (Euro Short-Term Rate), daily.
Series key for €STR (Euro Short-Term Rate), daily.
Series key for EURIBOR 1-month rate (monthly).
Series key for EURIBOR 1-month rate (monthly).
Series key for EURIBOR 1-week rate (monthly).
Series key for EURIBOR 1-week rate (monthly).
Series key for EURIBOR 1-year rate (monthly).
Series key for EURIBOR 1-year rate (monthly).
Series key for EURIBOR 3-month rate (monthly).
Series key for EURIBOR 3-month rate (monthly).
Series key for EURIBOR 6-month rate (monthly).
Series key for EURIBOR 6-month rate (monthly).
Series key for EONIA/€STR overnight rate (monthly).
Series key for EONIA/€STR overnight rate (monthly).
Series key for all daily ECB FX reference rates (vs EUR).
Series key for all daily ECB FX reference rates (vs EUR).
Series key for all monthly ECB FX reference rates (vs EUR).
Series key for all monthly ECB FX reference rates (vs EUR).
(exr-series-key
{:keys [freq currency currency-denom exr-type exr-suffix]
:or {freq "D" currency-denom "EUR" exr-type "SP00" exr-suffix "A"}})Build an EXR series key from a map of named dimensions.
Keys (all optional): :freq - frequency code (default "D") :currency - string or set of currency codes (default wildcard) :currency-denom - denominator currency (default "EUR") :exr-type - EXR type code (default "SP00") :exr-suffix - EXR variant suffix (default "A")
Example: (exr-series-key {:currency #{"USD" "JPY"}}) ;; => "EXR/D.JPY+USD.EUR.SP00.A"
(exr-series-key {:freq "M" :currency "GBP"}) ;; => "EXR/M.GBP.EUR.SP00.A"
Build an EXR series key from a map of named dimensions.
Keys (all optional):
:freq - frequency code (default "D")
:currency - string or set of currency codes (default wildcard)
:currency-denom - denominator currency (default "EUR")
:exr-type - EXR type code (default "SP00")
:exr-suffix - EXR variant suffix (default "A")
Example:
(exr-series-key {:currency #{"USD" "JPY"}})
;; => "EXR/D.JPY+USD.EUR.SP00.A"
(exr-series-key {:freq "M" :currency "GBP"})
;; => "EXR/M.GBP.EUR.SP00.A"(get-series series-key)(get-series series-key
{:keys [start-period end-period last-n first-n updated-after cast-fn
na-values]
:as opts})Fetch an ECB SDMX series and return a vector of observation maps.
series-key - a string like "EXR/D.USD.EUR.SP00.A" or one of the predefined constants (exr-daily, euribor-3m, hicp-euro-area, etc.)
Options (all optional): :start-period - ISO date string, e.g. "2020-01-01" or "2020-01" :end-period - ISO date string :last-n - integer, return only the last N observations per series :first-n - integer, return only the first N observations per series :updated-after - ISO 8601 timestamp; only observations updated after this time are returned. E.g. "2026-03-01T00:00:00Z" :cast-fn - coercion fn for OBS_VALUE (default: double) :na-values - set of strings to treat as missing (default: #{"" "NaN" "N/A"})
Returns a vector of maps, each with: :time-period - java.time.LocalDate (first day of period for monthly/annual) :obs-value - numeric value (cast by :cast-fn) plus dimension columns from the CSV (e.g. :currency, :freq, :key, etc.)
Fetch an ECB SDMX series and return a vector of observation maps.
series-key - a string like "EXR/D.USD.EUR.SP00.A" or one of the
predefined constants (exr-daily, euribor-3m, hicp-euro-area, etc.)
Options (all optional):
:start-period - ISO date string, e.g. "2020-01-01" or "2020-01"
:end-period - ISO date string
:last-n - integer, return only the last N observations per series
:first-n - integer, return only the first N observations per series
:updated-after - ISO 8601 timestamp; only observations updated after this time are
returned. E.g. "2026-03-01T00:00:00Z"
:cast-fn - coercion fn for OBS_VALUE (default: double)
:na-values - set of strings to treat as missing (default: #{"" "NaN" "N/A"})
Returns a vector of maps, each with:
:time-period - java.time.LocalDate (first day of period for monthly/annual)
:obs-value - numeric value (cast by :cast-fn)
plus dimension columns from the CSV (e.g. :currency, :freq, :key, etc.)Series key for Euro Area HICP overall index (monthly).
Series key for Euro Area HICP overall index (monthly).
(list-dataflows)Fetch all available ECB SDMX dataflows and return a sorted map of id -> description.
Queries the ECB SDMX 2.1 dataflow registry and parses the XML response.
Useful for discovering series keys to pass to get-series.
Returns a sorted map, e.g.: {"EXR" "Exchange Rates" "ICP" "HICP" "FM" "Financial Markets" ...}
Fetch all available ECB SDMX dataflows and return a sorted map of id -> description.
Queries the ECB SDMX 2.1 dataflow registry and parses the XML response.
Useful for discovering series keys to pass to `get-series`.
Returns a sorted map, e.g.:
{"EXR" "Exchange Rates"
"ICP" "HICP"
"FM" "Financial Markets"
...}(parse-sdmx-csv lines
{:keys [cast-fn na-values]
:or {cast-fn double na-values #{"" "NaN" "N/A"}}})Parse SDMX CSV lines (format=csvdata) into a vector of observation maps. Each map has :time-period (LocalDate) and :obs-value (Double or nil), plus any other columns from the CSV as keyword keys.
Parse SDMX CSV lines (format=csvdata) into a vector of observation maps. Each map has :time-period (LocalDate) and :obs-value (Double or nil), plus any other columns from the CSV as keyword keys.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |