Skip to content

Releases: py-numeraire/numeraire

numeraire 0.2.2

Choose a tag to compare

@BrightBlu BrightBlu released this 06 Jul 18:04
c88399b

What's Changed

  • docs: rebuild docs site + README, cut over to py-numeraire.org by @BrightBlu in #32
  • docs: link core docs to the graphics/dataset doc subdomains by @BrightBlu in #33
  • docs: repoint doc URLs to numeraire.py-numeraire.org by @BrightBlu in #34
  • release: 0.2.2 (docs/metadata refresh) by @BrightBlu in #35

Full Changelog: v0.2.1...v0.2.2

numeraire 0.2.1

Choose a tag to compare

@BrightBlu BrightBlu released this 06 Jul 05:15
fe3687d

Ecosystem release. The plotting and data companion packages are now on PyPI, and this release adds convenience extras to pull them in — plus the post-0.2.0 API work (all backward-compatible; old names remain as deprecated aliases for one release).

Added

  • Ecosystem extraspip install "numeraire[graphics]" (pulls numeraire-graphics), "numeraire[data]" (pulls numeraire-dataset), and "numeraire[all]". Plain pip install numeraire stays the minimal spine.
  • backtest(...) — a discoverable dispatching entry point over the typed drivers backtest_weights/_forecast/_panel/_pricing/_pricing_in_sample.
  • Risk-adjusted evaluators (Treynor, Information Ratio, M², Sortino), ICEvaluator, ExposureEvaluator, and fama_macbeth (two-pass, Shanken + Newey-West).

Changed

  • Renamed for a clearer register (old names remain as deprecated aliases emitting DeprecationWarning): walk_forward*backtest_*, adjust_testsadjust_pvalues, clark_westclark_west_test, make_sortssort_portfolios, OOSR2EvaluatorOutOfSampleR2Evaluator.

Fixed

  • Weights/forecast backtests align model output to the view's asset order by label before scoring (was positional), preventing silent mis-scoring; clear errors on a missing/misused splitter.

numeraire 0.2.0

Choose a tag to compare

@BrightBlu BrightBlu released this 05 Jul 11:09
f7dad71

First tagged release. The spine is capability-complete: to_weights, to_forecast, and to_pricing are all crystallized protocols with walk-forward drivers, native evaluators, and a conformance suite.

Highlights

  • Pricing capability: SupportsPricing.expected_returns, walk_forward_pricing / pricing_in_sample, cross-sectional R² and average-|α| evaluators, and numeraire.comparison.compare — score competing pricing models (factor models, SDFs, risk-premium estimators) on one common set of test assets. Every result row carries an explicit protocol label (in_sample / walk_forward), so explanatory numbers are never confusable with out-of-sample ones.
  • Conformance suite (numeraire.testing.check_estimator): capabilities, output shapes, determinism, a no-look-ahead property test, and an engine round-trip — the self-certification any extension runs before its numbers are trusted.
  • Reference registry (numeraire.reference.ReferenceResult): pinned published results with tolerance bands and data-access tiers (public / credentialed / restricted) — CI stays green on public data while the same case runs verbatim wherever licensed data is present.
  • Bundled baselines (numeraire.baselines): equal weight (1/N), minimum variance, mean-variance, historical mean — registered through the same entry-point mechanism as any external method.
  • Weight-stream simulator: simulate_weights + RebalanceSchedule with explicit drift, turnover, and cost conventions.
  • Inference toolkit (core.stats): GRS, Clark-West, paired Sharpe (Jobson-Korkie–Memmel), HAC alpha regression, Bonferroni/Holm/BHY adjustments, certainty-equivalent / return-loss / performance-fee.
  • Cross-sectional data layer: CrossSectionView with zero-copy point-in-time windows, ragged-panel walk-forward engine, parallel fold execution, refit-cadence control, and a validation-split helper.
  • Interop: polars/arrow ingestion at the view boundary (narwhals-optional, zero new hard dependencies) and a skfolio adapter ([skfolio] extra) that wraps portfolio optimizers as to_weights estimators.

Python ≥ 3.11, pandas ≥ 2.2. Version is tag-driven (hatch-vcs).