numeraire_dataset.load_hxz_q4_factors#

numeraire_dataset.load_hxz_q4_factors(*, start_date: str | None = None, end_date: str | None = None, timeout: float = 30.0) DataFrame[source]#

Official Hou–Xue–Zhang q4 factors as month-end decimal returns.

The returned columns are exactly date, risk_free, mkt_excess, me, ia, roe. The official file is now a q5 carrier, but this loader explicitly selects the original 2015 model’s HXZ_Q4_FACTOR_COLUMNS and excludes R_EG. It validates the complete 1967-01 through 2024-12 release before applying inclusive start_date / end_date bounds, and converts the source’s percent values to decimals.

The loader is frozen to the byte identity of Global-q’s 2025-02-16 release. It downloads the official HTTPS CSV once into memory, follows redirects only within global-q.org, and writes no cache. Provenance records the fixed source URL, release date, SHA-256, complete and selected row counts, unit conversion, q5 carrier, q4 selection, and explicit R_EG exclusion. The source page states no redistribution licence, so only loader code—not source bytes—is shipped.