numeraire-dataset
Open, reproducible data loaders + builders for
numeraire. This package ships code, not data: it
fetches public (and, with your own WRDS credentials, licensed) sources and cleans them into tidy,
point-in-time tables that numeraire consumes. Part of the
numeraire ecosystem.
Install
pip install numeraire-dataset # frame loaders + builders (tidyfinance backend)
pip install "numeraire-dataset[numeraire]" # + the point-in-time view helpers (numeraire bridge)
pip install "numeraire-dataset[wrds]" # + live CRSP/Compustat pulls (your own WRDS account)
Two layers
sources— tidyfinance (MIT) is the primary backend for standard sources (Fama-French, Goyal-Welch, FRED, JKP, q-factors, OSAP). Thin loaders return tidy frames (+ an optional point-in-time view helper) withdata_vintageprovenance — no loader hand-rolling.builders— self-built ETL for what tidyfinance does not cover: vintage-aware FRED-MD (reference period × vintage × series, tcodes applied at build time) and, with your own credentials, WRDS panels. (The FRED-MD vintage/tcode design is a candidate to upstream into tidyfinance — once merged, itssourcespath could replace the local builder.)
Why a separate project
numeraire (the framework) bundles only tiny public example slices. Anything that needs to be
downloaded, merged across releases, or built from a subscription source lives here, as
transparent open-source ETL — so the cleaning is auditable and re-runnable, and no licensed data is
ever redistributed inside a wheel. Build outputs land in a local cache (git-ignored), never the repo.
Design: build once, read clean
raw vendor files ──build (this package)──▶ tidy point-in-time table ──read──▶ numeraire
(download) clean / tcode [reference period × vintage × series]
- The vintage axis is a column. Each value carries the reference period it describes and the
vintage (data release) it came from, so revisions are first-class and
asofis leak-safe. - Stationarity transforms (FRED-MD tcodes) are applied at build time, per vintage — never inside
numeraire's main pipeline.
transform=Falsekeeps raw levels. - Availability lag (
L) is NOT baked in. It stays a read-time parameter in numeraire, so you can sweep it for robustness. The table stores only(reference period, vintage, series…).
Builders
| Builder | Source | License of output | Status |
|---|---|---|---|
fredmd |
FRED-MD monthly vintages (St. Louis Fed, McCracken-Ng) | public (cite McCracken-Ng 2016) | in progress |
famafrench |
Ken French Data Library | public (cite, carry copyright notice) | planned |
zones.wrds |
CRSP / Compustat panels (your WRDS account) | not redistributable — local only | implemented |
Usage
# Standard sources via tidyfinance (frames; + a view helper with the `numeraire` extra):
from numeraire_dataset import load_ff_factors, load_gw_view
ff = load_ff_factors() # date, mkt_excess, smb, hml, risk_free (decimals)
view, vintage = load_gw_view(start_date="1926-07-01", end_date="2020-12-31")
# → feed `view` straight into numeraire's backtest_forecast; `vintage` is the provenance stamp.
# Vintage-aware FRED-MD (what tidyfinance lacks) via the local builder:
from numeraire_dataset.builders import fredmd
paths = fredmd.download(vintages=["2025-01", "2025-02", "2025-03"], dest="~/.numeraire_data")
table = fredmd.build_table(paths, transform=True) # tidy [reference, vintage, series…]
Frame loaders vs. *_view helpers
The split is intentional, not an oversight. Frame loaders (load_ff_factors,
load_goyal_welch) return plain tidy pandas frames and carry no numeraire dependency, so
they are usable on their own. The *_view helpers (load_gw_view, zones.view) add the
optional bridge into a numeraire view plus a data_vintage stamp, and only import numeraire
lazily (install the [numeraire] extra). A frame loader is therefore a strict subset of the
work a view helper does — the names differ because their return contracts and dependency footprints
differ, and both are kept rather than collapsed into one signature.
Citation
numeraire-dataset is a companion to numeraire. If you use the ecosystem in your research, please
cite numeraire — see How to cite.
License: BSD-3-Clause (code). Source datasets keep their own terms — see each builder's docstring.
Metadata
Release files for numeraire-dataset 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| numeraire_dataset-0.1.1.tar.gz | 230.9 kB | With provenance | Details for numeraire_dataset-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| numeraire_dataset-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for numeraire_dataset-0.1.1-py3-none-any.whl |
Total release size: 270.4 kB
Release files / numeraire_dataset-0.1.1.tar.gz
| Download URL | numeraire_dataset-0.1.1.tar.gz |
|---|---|
| Size | 230.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
294ed16e0c6d4bd8290473467a21c018f5155e515c89d91d2429091a013db89f
|
|
BLAKE2b-256 checksum How to use checksums |
5e8101824e4d8a2982a5c61571b63124a18de47c898a889156af7694808f77e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 6, 2026.
Transparency logRelease files / numeraire_dataset-0.1.1-py3-none-any.whl
| Download URL | numeraire_dataset-0.1.1-py3-none-any.whl |
|---|---|
| Size | 39.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
11f5181b471e58c4c46c96fafeab068c32a59714affd1f30d4137116459811f4
|
|
BLAKE2b-256 checksum How to use checksums |
7f92913cc55dd6839cabc81a5c756fe5954ff67c1babcd03a15336dc6dccb603
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 6, 2026.
Transparency logSecurity for numeraire-dataset 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for numeraire_dataset-0.1.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 6, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.