Skip to main content
Ctrl+K

numeraire 0.2.1

  • Getting Started
  • User Guide
  • The ecosystem
  • Examples
  • Extending: write your own method
    • Related projects and scope
    • API reference
    • Changelog
    • graphics
    • dataset
  • GitHub
  • PyPI
  • Getting Started
  • User Guide
  • The ecosystem
  • Examples
  • Extending: write your own method
  • Related projects and scope
  • API reference
  • Changelog
  • graphics
  • dataset
  • GitHub
  • PyPI

Section Navigation

  • Related projects and scope

Related projects and scope#

numeraire occupies a deliberately narrow niche, and it is most useful when that niche is clear. This page states what the framework is, what it is not, and how it relates to the mature libraries next to it. The intent is orientation, not competition: several of these are excellent tools that numeraire complements or wraps rather than replaces.

What numeraire is#

A spine for empirical asset pricing: point-in-time data views, a walk-forward out-of-sample engine, capability-dispatched evaluators and statistical tests, a tidy result schema, and an open registry through which methods plug in as first-class extensions. Its purpose is to make backtesting, comparison, and replication reproducible and comparable across methods of very different internal form.

What numeraire is not#

  • Not a portfolio-optimization library. It does not implement constrained mean-variance optimizers, risk budgeting, or hierarchical allocation. When a constrained optimizer is needed, the numeraire[skfolio] adapter wraps skfolio; the optimizers stay in skfolio.

  • Not a trading or execution system. There is no order routing, no live market connectivity, no broker integration. The accounting simulator turns a target-weight stream into realised net returns under explicit cost conventions — an evaluation tool, not an execution engine.

  • Not a data warehouse. The spine ships only tiny public example slices; data acquisition and cleaning live in the separate numeraire-dataset package as transparent ETL (see The ecosystem).

  • Not a general econometrics package. It does not aim to cover the breadth of statistical models that statsmodels or linearmodels do; it reuses that machinery where it needs it.

How it relates to neighbouring libraries#

statsmodels / linearmodels

The estimation and inference layer for regression, panel, IV, and system models. numeraire complements them: it supplies the point-in-time discipline, the out-of-sample protocol, and the reproduction harness around a method, and reuses established estimators and tests rather than re-deriving them. Their econometric depth and numeraire’s backtesting spine are orthogonal.

skfolio

A scikit-learn-compatible portfolio-optimization and risk-management library. It answers “given expected returns and risk, what is the optimal portfolio?”; numeraire answers “how does a method perform out of sample, and does it reproduce a published result?”. They compose — the adapter runs an skfolio optimizer as a to_weights method inside the walk-forward engine.

qlib / zipline

Full quantitative-investment or event-driven backtesting platforms with data pipelines, model training, and execution modelling. numeraire is smaller and more academic in scope: a representation-agnostic spine for method comparison and replication, not an end-to-end alpha-to-execution platform.

scikit-learn

The estimator/conformance idiom is a direct influence — fit, duck-typed protocols, and a check_estimator-style conformance suite. numeraire adapts it to the point-in-time, walk-forward setting that time-ordered financial data requires, where a plain cross-validation split would leak.

When to reach for numeraire#

Reach for it when you want to compare methods of different internal form on the same footing, reproduce a paper’s headline within a tolerance band, or run a backtest whose out-of-sample discipline and data provenance are structural rather than a matter of author care. For pure in-sample estimation, portfolio optimization, or production execution, one of the libraries above is the better fit — often used through numeraire rather than instead of it.

previous

Extending: write your own method

next

API reference

On this page
  • What numeraire is
  • What numeraire is not
  • How it relates to neighbouring libraries
  • When to reach for numeraire
Show Source

© Copyright 2026, Yuheng Wu.

Created using Sphinx 9.1.0.

Built with the PyData Sphinx Theme 0.19.0.