Metadata-Version: 2.4
Name: numerai-tools
Version: 0.7.0
Summary: A collection of open-source tools to help interact with Numerai, model data, and automate submissions.
License: MIT
License-File: LICENSE
Author: Numerai Engineering
Author-email: engineering@numer.ai
Requires-Python: >=3.11
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Requires-Dist: numpy (>=2.0.0,<3.0.0)
Requires-Dist: pandas (>=2.2.2,<4.0.0)
Requires-Dist: scikit-learn (>=1.5.0,<2.0.0)
Requires-Dist: scipy (>=1.13.0,<2.0.0)
Project-URL: Documentation, https://docs.numer.ai/
Project-URL: Homepage, https://numer.ai
Project-URL: Repository, https://github.com/numerai/numerai-tools
Description-Content-Type: text/markdown

# numerai-tools
A collection of open-source tools to help interact with Numerai, model data, and automate submissions.

## Installation
```
pip install numerai-tools
```

## Structure

- The `scoring.py` module contains critical functions used to score submissions. We use this code in our scoring system system. Leverage this to optimize your models for the tournaments.

  The Signals payout scores are built from two of its functions:
  - `neutral_correlation` ranks, gaussianizes, and neutralizes predictions against a
    neutralizer matrix, then correlates them with the target. Unlike
    `numerai_corr` it applies no 1.5 power, and unlike `feature_neutral_corr` it
    does not re-rank and re-power the predictions after neutralizing them.
  - `neutral_contribution` is `correlation_contribution` with that
    same neutralization step inserted after the rank/gaussianize step. It
    neutralizes the submissions only; pass a meta model that is already neutral.

- The `submissions.py` module provides helper functions to ensure your submissions are valid and formatted correctly. Use this in your automated prediction pipelines to ensure uploads don't fail.

- The `signals.py` module provides code specific to Numerai Signals such as churn and turnover. Use this to ensure your Signals submissions are properly formatted.

