Skip to content

Data ​

Latest version

Signals v3.1 “Unity” was released on October 16, 2026. It refreshes the historical stock universe and starts validation in 2019 instead of 2013. Stock identifiers, the 300-column neutralizer matrix, and Jupiter target definitions are unchanged from v3.0. Retraining on v3.1 is recommended.

Training data ends on December 28, 2018, and validation data starts on January 4, 2019. The v3.0 training and validation files were retired when v3.1 was released. V3.0 live data continues to publish indefinitely for models still using it.

Data Structure ​

The Numerai Signals dataset is a tabular dataset that describes the global stock market over time.

At a high level, each row represents a stock at a specific point in time identified by its numerai_ticker or composite_figi and the date. The date represents the day that market close data was used to generate the features - in the context of rounds and live data, this is the day before a round opens. The targets measure future returns over horizons such as 20 or 60 days relative to the date.

Features ​

The Signals dataset contains:

  1. Factors, which are similar to the factors which the target is neutral to. Use these to determine if your model is sufficiently unique, use them to neutralize your predictions, or use them as additional features in your dataset.
  2. Some starter features, which are relatively simple classic quant features constructed from returns series.

Features ​

Some of the starter features are:

feature_adv_20d_factor
feature_beta_factor
feature_book_to_price_factor
feature_country
feature_dividend_yield_factor
feature_earnings_yield_factor
feature_growth_factor
feature_impact_cost_factor
feature_market_cap_factor
feature_momentum_12w_factor
feature_momentum_26w_factor
feature_momentum_52w_factor
feature_momentum_52w_less_4w_factor
feature_ppo_60d_130d_country_ranknorm
feature_ppo_60d_90d_country_ranknorm
feature_price_factor
feature_rsi_130d_country_ranknorm
feature_rsi_60d_country_ranknorm
feature_rsi_90d_country_ranknorm
feature_trix_130d_country_ranknorm
feature_trix_60d_country_ranknorm
feature_value_factor
feature_volatility_factor

Features with {n}(d|w) in the name (for example, feature_adv_20d_factor) are time-series features that are computed over n days or n weeks.

Features with country_ranknorm in the name are grouped by country, then ranked, then gaussianized.

Features with factor in the name refer to risk factors that most of the targets are neutral to. Price factor is grouped by country, then ranked.

PPO is a percentage price oscillator that compares shorter and longer moving averages in a ratio.

RSI is the relative strength index usually used as an overbought/oversold indicator.

TRIX is a triple exponential moving average indicator usually used as a momentum or reversal feature.

momentum_52w_less_4w refers to the one-year return of a stock excluding the last 4 weeks.

Targets ​

The target of the dataset is specifically engineered to match the strategy of the hedge fund.

Given our hedge fund is market/country/sector and factor neutral, you can basically interpret the target as stock-specific returns that are not explained by broader trends in the market/country/sector or well-known factors. In simple terms: what we are after is "alpha".

V3 Targets ​

The Jupiter targets have these definitions:

  • target_jupiter_20 uses a 20-day horizon.
  • target_jupiter_60 uses a 60-day horizon and is the primary v3 target.
  • target is an exact alias for target_jupiter_60.

These Jupiter target definitions and horizons are unchanged from v3.0. See features.json for the complete target list.

Some target values can be NaN when their return horizon has not finished. Recent validation rows can have a null target_jupiter_60 and target; filter out null values for the target you use.

Data API ​

The best way to access the Signals dataset is via the data API.

Files ​

The Numerai dataset is made up of many different files.

Here is how to query the data API to see what files are available and how to download a file.

python
from numerapi import SignalsAPI
napi = SignalsAPI()

DATA_VERSION = "signals/v3.1"

[f for f in napi.list_datasets() if f.startswith(DATA_VERSION)]

# Download the training data
napi.download_dataset(f'{DATA_VERSION}/train.parquet')

The v3.1 files include features.json; train, validation, and live Parquet files; matching benchmark-model and neutralizer files; and example predictions in CSV and Parquet formats. See the data page for the complete downloadable list.

  • train.parquet contains historical tickers, features, and targets for training.
  • validation.parquet contains later historical tickers, features, and targets for validation. It expands weekly, and recent rows can have null 60-day targets until their returns mature.
  • live.parquet contains the current live universe and features with no realized targets.
  • train_neutralizer.parquet, validation_neutralizer.parquet, and live_neutralizer.parquet contain the matching 300-column neutralizer matrices.
  • train_benchmark_models.parquet, validation_benchmark_models.parquet, and live_benchmark_models.parquet contain predictions from one benchmark model trained on v3.1.
  • validation_example_preds and live_example_preds contain example predictions in CSV and Parquet formats.

Signals v3.1 does not include sample-weight files.