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, seed=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.25.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.25.0
File Size Uploaded
factrix-0.25.0.tar.gz 680.4 kB Details

Built distribution (wheel)

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

Total release size: 1.2 MB

Release files / factrix-0.25.0.tar.gz

Download URL factrix-0.25.0.tar.gz
Size 680.4 kB
Tags Source
SHA-256 checksum
How to use checksums
146cd6dbae92caeae588062e682724eed6678d46c7f2c4e4dd17bfa077aeb1e0
BLAKE2b-256 checksum
How to use checksums
0b37a709bf135afd2e85f761bff2b5b779d5d4bc8e7b4f7a3f89328107bf78c7
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 29, 2026.

Transparency log

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

Download URL factrix-0.25.0-py3-none-any.whl
Size 504.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
98a155ed5e8732542a4b60902f362ee7cdc6336025fb020cda132bdf453b707e
BLAKE2b-256 checksum
How to use checksums
a00a61b3af992c2da9af33a52f84f8875dd36644600780034e4601e67d2d1959
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 29, 2026.

Transparency log

Release history Release notifications | RSS feed

0.30.0

2 release files

0.29.0

2 release files

0.28.0

2 release files

0.27.0

2 release files

0.26.0

2 release files

This release

0.25.0 This release

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