---
title: "Numerai"
description: "Utilize our rich library of dataset or your own custom data to improve your submissions to Numerai Signals."
canonical: https://www.quantconnect.com/docs/v2/writing-algorithms/live-trading/signal-exports/numerai
markdown: https://www.quantconnect.com/docs/v2/writing-algorithms/live-trading/signal-exports/numerai.md
language: python
source: https://github.com/QuantConnect/Documentation/tree/master/03%20Writing%20Algorithms/40%20Live%20Trading/99%20Signal%20Exports/03%20Numerai
modified: 2026-10-30
index: https://www.quantconnect.com/llms.txt
---

# Numerai

[Documentation](https://www.quantconnect.com/docs/v2.md) > [Writing Algorithms](https://www.quantconnect.com/docs/v2/writing-algorithms.md) > [Live Trading](https://www.quantconnect.com/docs/v2/writing-algorithms/live-trading.md) > [Signal Exports](https://www.quantconnect.com/docs/v2/writing-algorithms/live-trading/signal-exports.md) > Numerai

> Code examples are shown in Python. Append `?lang=csharp` to this URL for the C# version of this page.

## Introduction

Numerai is a platform where you can earn rewards by uploading unique live trading signals for a universe of US Equities. The regular Numerai Tournament is built around [a free dataset they provide](https://docs.numer.ai/tournament/learn#data), but with [Numerai Signals](https://docs.numer.ai/numerai-signals/signals-overview), you can now use any dataset to generate your trading signals. Through our Numerai integration, you can use [our rich library of alternative datasets](https://www.quantconnect.com/datasets) or [your own custom datasets](https://www.quantconnect.com/docs/v2/writing-algorithms/importing-data/key-concepts.md) to create and automate your Numerai Signal submissions.

## Add Providers

To export signals to Numerai from your algorithm, during [initialization](https://www.quantconnect.com/docs/v2/writing-algorithms/initialization.md), add a Numerai signal export provider.

```python
self.signal_export.add_signal_export_provider(NumeraiSignalExport(public_id, secret_id, model_id, file_name))
```

The `NumeraiSignalExport` constructor accepts the following arguments:

### Argument: `public_id`

Your Numerai API key. To create and view your API keys, see the **Automation** section of your [Account](https://numer.ai/account) page on the Numerai website.

Data Type: `str` | Default Value: `None`

### Argument: `secret_id`

Your Numerai API secret. You get your API secret when you create a new API key.

Data Type: `str` | Default Value: `None`

### Argument: `model_id`

The Id of the Numerai model. Follow these steps to get the model Id:

1. Open the [Models](https://numer.ai/models) page on the Numerai website.
2. In the **Models** section, click the **three dots** next to a model.
3. Click **Copy Model ID**.

Data Type: `str` | Default Value: `""`

### Argument: `file_name`

The name for the signal file. If you use a file name that already exists, the new file overwrites the old one.

Data Type: `str` | Default Value: `"predictions.csv"`

You can add multiple signal export providers to a single algorithm.

## Asset Classes

Our Numerai integration supports signals for [US Equities](https://www.quantconnect.com/docs/v2/writing-algorithms/securities/asset-classes/us-equity.md).

## Universe Selection

The [Numerai Signals stock market universe](https://docs.numer.ai/numerai-signals/signals-overview#universe) covers roughly the top 5,000 largest stocks in the world. The universe available on QuantConnect that's the closest match to the Numerai Signals universe is the CRSP US Total Market Index, which represents approximately 100% of the investable US Equity market regularly traded on the New York Stock Exchange and Nasdaq. This Index doesn't contain all of the stocks in the Numerai Signals universe, but you don't need to submit signals for all the stocks in the Numerai Signals universe.

To get the constituents of the CRSP US Total Market Index, add an [ETF constituents universe](https://www.quantconnect.com/docs/v2/writing-algorithms/universes/equity/etf-constituents-universes.md) for the Vanguard Total Stock Market ETF, VTI.

```python
self.universe_settings.asynchronous = True
self.etf_symbol = self.add_equity("VTI").symbol
self.add_universe(self.universe.etf(self.etf_symbol))
```

## Schedule Submissions

Every Tuesday, Wednesday, Thursday, Friday, and Saturday of the week, a new round is open for you to submit signals. Saturday rounds open at 18:00 UTC, and the submission window is open until Monday 14:30 UTC. Weekday rounds open at 13:00 UTC, and the submission window is open for 1 hour. For more information about the competition rounds, see [Rounds](https://docs.numer.ai/numerai-signals/signals-overview#rounds) in the Numerai documentation.

To schedule your submissions, you can set a [Scheduled Event](https://www.quantconnect.com/docs/v2/writing-algorithms/scheduled-events.md) during initialization.

```python
self.schedule.on(
    self.date_rules.every_day(self.etf_symbol),
    self.time_rules.at(13, 0, TimeZones.UTC),
    self.submit_signals)
```

## Send Portfolio Targets

To send targets, pass a list of `PortfolioTarget` objects to the `set_target_portfolio` method. The method returns a boolean that represents if the targets were successfully sent to Numerai Signals. In this situation, the number you pass to the `PortfolioTarget` constructor represents the portfolio weight. Don't use the `PortfolioTarget.percent` method.

```python
success = self.signal_export.set_target_portfolio(targets)
```

## Signal Requirements

When you submit signals to Numerai, abide by the following rules:

- All signals must have a quantity between 0 and 1 (exclusive)
- You must submit at least 10 different signals per submission
- At least one of the weights in every batch of signals must be unique

## Examples

**Demonstration Algorithms**

- [NumeraiSignalExportDemonstrationAlgorithm.py](https://github.com/QuantConnect/Lean/blob/master/Algorithm.Python/NumeraiSignalExportDemonstrationAlgorithm.py) (Python)
