Skip to main content
factrix

Tests one factor. Screens a thousand.

📖 Full documentation

Where factrix fits

Does this factor possess predictive edge?

factrix is the first Polars-native Python toolkit that picks the right statistical test for each factor type. Cross-sectional, event, common factor — each gets the tests that fit its data-generating process. The full scope comparison against neighbouring libraries is in Where factrix fits.

factor construction  →  factrix (inference)  →  strategy construction  →  backtest  →  live trading
                            ▲ you are here

For each candidate factor factrix answers — is the predictive power real? — and corrects for multiple testing when you screen at scale. Kill fakes before they cost you a backtest.

Why factrix?

  • Type-routed evaluation — Information Coefficient + Fama-MacBeth for cross-sectional factors; Cumulative Average Abnormal Return for events.
  • Financial statistics built in — autocorrelation-robust standard errors (Newey-West), overlapping-forward-return correction, persistent-predictor flagging (Stambaugh bias), and false-discovery-rate control across batches (Benjamini-Hochberg-Yekutieli).
  • Polars-native — modern Polars alternative to the pandas-based alphalens.

factrix stops at the inference — primary test plus diagnostic battery. It does not size positions, model slippage, optimise weights, or compose alphas; those belong to the later stages of the pipeline.

Is factrix the right tool?

You want to… Use this
Inference on a factor (cross-sectional / event / common factor) factrix
Screen many factors with multiple-testing correction factrix
Backtest with positions / slippage / margin zipline-reloaded, backtrader, bt, vectorbt, nautilus_trader
Optimise portfolio weights skfolio, riskfolio-lib
Returns-level tear-sheet (P&L diagnostics) pyfolio-reloaded, QuantStats
Familiar cross-sectional tear-sheet alphalens-reloaded
End-to-end machine-learning pipeline qlib
Deflated / probabilistic Sharpe today (commercial) mlfinlab

Installation

pip install factrix
# or
uv add factrix

See the installation guide for version pinning and development setup.

Typical usage

Single factor — IC evaluation

import factrix as fx
from factrix.metrics import ic

raw   = fx.datasets.make_cs_panel(n_assets=100, n_dates=500, ic_target=0.08, rng=2024)
data  = fx.preprocess.compute_forward_return(raw, forward_periods=5)

results = fx.evaluate(
    data,
    metrics={"ic": ic(inference=fx.inference.NEWEY_WEST)},
    factor_cols=["factor"],
    forward_periods=5,
)
res = results["factor"]
ic_res = res.metrics["ic"]

print('ic_mean =', round(ic_res.value, 4))
print('p_value =', round(ic_res.p_value, 4))

More scenarios, runnable end to end:

Documentation

  • Get Started — install, quickstart, where factrix fits
  • User Guide — concepts and conventions, how-to (preparing data, choosing a metric, panel vs timeseries, reading results, slice analysis), examples
  • API Reference — entry points, results, lookup tables, per-metric pages
  • Development — contributing, design notes
  • Release Notes — changelog

License

Released under the Apache License 2.0.

Metadata

Release files for factrix 0.29.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for factrix 0.29.0
File Size Uploaded
factrix-0.29.0.tar.gz 704.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for factrix 0.29.0
File Interpreter ABI Platform
factrix-0.29.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / factrix-0.29.0.tar.gz

Download URL factrix-0.29.0.tar.gz
Size 704.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3607f94d9521e4dd08ed6a3192444cb7e6b14cdd196f3443aa3c22e04a1daa83
BLAKE2b-256 checksum
How to use checksums
ebc8ca9952c8f0824d85fc6542b390425f5ce6ddf4f28b4f0ce5e36043631126
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 30, 2026.

Transparency log

Release files / factrix-0.29.0-py3-none-any.whl

Download URL factrix-0.29.0-py3-none-any.whl
Size 516.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
67bae2c793f772c4b9f6cf570adbf239f47b21bb5b527b38b4c387b8747e50eb
BLAKE2b-256 checksum
How to use checksums
455e126e39275ae521901a3da8b3a3fa2a5de2a79dd484c8a4725a04ed890abf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Aug 30, 2026.

Transparency log

Release history Release notifications | RSS feed

0.30.0

2 release files

This release

0.29.0 This release

2 release files

0.28.0

2 release files

0.27.0

2 release files

0.26.0

2 release files

0.25.0

2 release files

0.24.0

2 release files

0.23.0

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.17.0

2 release files

0.15.0

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page