We are getting ready to launch a new quantitative investment contest. We're sharing a draft of the new rules so that you can start developing a strategy, and so we can get your feedback on the rules before we finalize them.

The new contest will give you better and faster feedback on your algorithms. The rules will be better aligned with how we evaluate algorithms for allocations. The Quantopian Risk Model is a key part of our allocation process, and it will soon help drive the contest.

The new contest starts with a set of constraints to help keep your risk exposures low. Then, the contest uses a new scoring method to rank entries. Importantly, the new scoring method does not depend on the performance of other participants, so you'll be able to know the score of a backtest as soon as it finishes.

There are a few more details about the contest that we're not sharing yet, like the prize structure. The new contest includes more prizes than the old contest, so many more community members will be winning cash prizes. We'll share more details as we get closer to the contest kickoff.

Here is the current draft of the rules. We're open to feedback, so let us know what you think.

**Constraints -- Updated on Dec. 13, 2017**

One of the major changes we are making is that algorithms will need to behave within a set of constraints in order to be eligible to compete in the new contest. When you submit an algorithm to the contest, we will automatically run a 2 year backtest over which these constraints will be tested. As your algorithm continues to run out-of-sample, these constraints will continue to be monitored. Algorithms will be required to satisfy all of these constraints on a continued basis in order to stay active in the contest.

These are the constraints that will be applied:

Constraint | Threshold | Computation Window | Tool |
---|---|---|---|

Use order_optimal_portfolio to Order | Must use. | Every day. | Optimize API |

Trade within `QTradableStocksUS` |
>= 90% | Every day. | QTradableStocksUS |

Mean Daily Turnover | 5% to 65% | Trailing 90 days. | schedule_function, tearsheet |

Position Concentration | <= 5% | Every day. | optimize.PositionConcentration |

Leverage | 0.8x to 1.1x | Every day. | optimize.MaxGrossExposure |

Sector Exposures | -20% to 20% in each sector. | Trailing 90 days. | optimize.experimental.RiskModelExposure |

Style Exposures | -40% to 40% in each style. | Trailing 90 days. | optimize.experimental.RiskModelExposure |

Beta-to-SPY (absolute value) | <= 0.3 | Every day. | optimize.FactorExposure |

Net Dollar Exposure (absolute value) | <= 0.1 | Every day. | optimize.DollarNeutral |

Positive Returns | > 0 | Through today* | Research |

* Your algorithm needs to have positive total returns starting from the beginning of the 2-year backtest, up to the current date in the contest.

**Scoring/Ranking**

Another big change is that algorithms will no longer be scored relative to their peers. Instead, they will receive an absolute score based on two metrics: **returns** and **volatility**. Each day, the daily return of your algorithm will be normalized by its trailing 90-day annualized volatility. As your algorithm accumulates out-of-sample performance, these volatility-normalized daily returns will be summed together to form a cumulative score. All active algorithms will be ranked based on their cumulative score.

The attached notebook can be used to evaluate a backtest. It first checks 8 of the 9 constraints (it doesn't verify that `Optimize`

was used to place orders). It then scores the backtest on the performance after the first two years. The first 2 years are used for the constraint computations and are meant to be similar to the 2 year backtest that is kicked off when you enter the contest. The score is computed on the remainder of the backtest. Try running it on one of your backtests (must be longer than 2 years), and let us know if the results you get are surprising.

Notable updates made on Dec. 13, 2017:

- Maximum position concentration lowered from 10% to 5%. After community feedback and internal discussion, we feel that 5% is more appropriate (and still not too restrictive) as an upper limit for this contest.

- Beta-to-SPY limit relaxed to 0.3, up from 0.1 after feedback from the community. In addition, the calculation is now simply the 6 month rolling beta, and is no longer a 90-day mean.

- Positive returns constraint added. This should have been included in the original post, oops!

- Tool added for controlling exposure to sector and common style risk factors. See the announcement of this new tool here.

Notable on Jan. 18, 2018:

- Fixed a bug in the scoring function that was incorrectly computing volatility from the entire backtest duration instead of on a trailing 63-trading-day basis.