Rankings of models submitted to the Common Task Framework
Test period: 1990–2023 · all models are evaluated on the full hindcast sample
| Rank | Model Name | Author | Language | Files | Sharpe Ratio | Annual Return | Volatility | Max Drawdown |
|---|---|---|---|---|---|---|---|---|
|
1
|
Nonlinear IPCA with Precision Weighting Submitted Jul 19, 2026 · Scored Jul 20, 2026 | Szymon Kubiak | python | 33.06% | 10.00% | -11.96% | ||
|
2
|
Coupled Factor Portfolio Submitted Aug 10, 2026 · Scored Aug 12, 2026 | Hema Srikar Ankem | python | 30.23% | 10.00% | -9.98% | ||
|
3
|
Volatility-Targeted Shrinkage MLP Submitted Jul 31, 2026 · Scored Jul 31, 2026 | Hema Srikar Ankem | python | 29.15% | 10.00% | -10.02% | ||
|
4
|
Implementation of the Nonlinear Portfolio Transformer Submitted Apr 3, 2026 · Scored Apr 4, 2026 | Gareth Campbell | python | 27.88% | 10.00% | -18.74% | ||
|
5
|
XGBoost–Ledoit-Wolf Constrained MVP Submitted Feb 19, 2026 · Scored Feb 21, 2026 | RR | python | 27.14% | 10.00% | -12.54% | ||
|
6
|
Cross Sectional Multi Layer Perceptron Submitted Jul 21, 2026 · Scored Jul 31, 2026 | Hema Srikar Ankem | python | 26.18% | 10.00% | -22.77% | ||
|
7
|
Beta Neutral Cross-Sectional MLP Submitted Jul 26, 2026 · Scored Jul 30, 2026 | Hema Srikar Ankem | python | 26.04% | 10.00% | -15.91% | ||
|
8
|
Cross-Sectional Rank Boosting + Factor-Risk MVO Submitted Jul 14, 2026 · Scored Jul 15, 2026 | Abhinav Keshri | python | 23.53% | 10.00% | -14.21% | ||
|
9
|
LightGBM + Investment Families Submitted Apr 22, 2026 · Scored Apr 28, 2026 | Darren Li | python | 21.85% | 10.00% | -19.40% | ||
|
10
|
MAXSER Submitted Jan 13, 2026 · Scored Jan 13, 2026 | Yingying Li | R | 20.26% | 10.00% | -13.23% | ||
|
11
|
Benchmark: Instrumented PCA factor portfolio Benchmark | — | python | 19.48% | 10.00% | -9.92% | ||
|
12
|
WF-MetaSelect Submitted Jul 30, 2026 · Scored Jul 31, 2026 | Luke McLaughlin | python | 17.19% | 10.00% | -18.56% | ||
|
13
|
Walk-Forward Factor Selection with Trailing Meta-Selection Submitted Jun 28, 2026 · Scored Jun 30, 2026 | Gaurav Chhabra | python | 16.07% | 10.00% | -17.28% | ||
|
14
|
ClusterSharpe Selection + MeanVar Weighting + Linear LS Submitted Mar 10, 2026 · Scored Mar 11, 2026 | Gareth Campbell | python | 15.01% | 10.00% | -20.71% | ||
|
15
|
Benchmark: Kozak-Nagel-Santosh rank-weighted factors portfolio Benchmark | — | R | 14.20% | 10.00% | -8.12% | ||
|
16
|
Bull/Bear Naive Submitted Feb 20, 2026 · Scored Feb 24, 2026 | Kavita Kar | python | 13.76% | 10.00% | -23.86% | ||
|
17
|
Cross-Sectional Return Ensemble (CSRE) Submitted Feb 21, 2026 · Scored Feb 23, 2026 | Anna Siamionava | python | 12.59% | 10.00% | -29.00% | ||
|
18
|
Rolling Factor Selection with RankSharpe Weighting Submitted Mar 9, 2026 · Scored Mar 10, 2026 | Gareth Campbell | python | 11.89% | 10.00% | -15.19% | ||
|
19
|
Grid-Optimized Group Lasso (GOGL) Submitted Feb 19, 2026 · Scored Feb 20, 2026 | mbn | python | 11.03% | 10.00% | -29.37% | ||
|
20
|
Adaptive Ensemble with Dynamic Risk Management Submitted Feb 22, 2026 · Scored Feb 25, 2026 | Angikar Ghosal | python | 10.46% | 10.00% | -28.06% | ||
|
21
|
MVRLE Submitted Feb 19, 2026 · Scored Feb 20, 2026 | MVO | R | 10.14% | 10.00% | -30.10% | ||
|
22
|
Dynamically Regularized MVP (test subset) Submitted Feb 5, 2026 · Scored Feb 6, 2026 | Mads Hebsgaard | python | 8.70% | 10.00% | -31.48% | ||
|
23
|
Parsimonious Imputed Expanding Lasso Submitted Feb 16, 2026 · Scored Feb 17, 2026 | Lukas Jaeger | python | 8.69% | 10.00% | -28.63% | ||
|
24
|
Cross-Sectional Ridge–Forest Ensemble First submitted Feb 19, 2026 · Resubmitted Feb 21, 2026 · Scored Feb 23, 2026 | Hassan Mir | R | 8.65% | 10.00% | -27.76% | ||
|
25
|
Ridge & XGB Submitted Jan 9, 2026 · Scored Jan 9, 2026 | Thanh Tuan Le | python | 8.57% | 10.00% | -34.69% | ||
|
26
|
Elastic Net with Inverse-Variance Weights Submitted Feb 19, 2026 · Scored Feb 19, 2026 | Jakob Jorsal Rasmussen | python | 7.59% | 10.00% | -28.66% | ||
|
27
|
Benchmark: Factor-ML Benchmark | — | R | 7.44% | 10.00% | -35.94% | ||
|
28
|
Dynamically Regularized MVP Submitted Jan 31, 2026 · Scored Jan 31, 2026 | Mads Hebsgaard | python | 7.30% | 10.00% | -38.72% | ||
|
29
|
Elastic Net (pooled) Submitted Nov 27, 2025 · Scored Nov 27, 2025 | Rob Capellini | python | 6.69% | 10.00% | -31.17% | ||
|
30
|
Neural Net First submitted Nov 18, 2025 · Resubmitted Nov 18, 2025 · Scored Nov 18, 2025 | Rob Capellini | python | 6.47% | 10.00% | -30.92% | ||
|
31
|
Elastic Net (stockwise) Submitted Nov 16, 2025 · Scored Nov 16, 2025 | Rob Capellini | python | 6.44% | 10.00% | -32.14% | ||
|
32
|
Ridge Tilt Portfolio Submitted Feb 16, 2026 · Scored Feb 17, 2026 | TM | python | 5.89% | 10.00% | -34.08% | ||
|
33
|
Inverse Volatility Weighting Submitted Mar 12, 2026 · Scored Mar 17, 2026 | Yash Dave | python | 5.76% | 10.00% | -35.06% | ||
|
34
|
ensemble model Submitted Jan 9, 2026 · Scored Jan 9, 2026 | Lu Li | python | 5.45% | 10.00% | -19.15% | ||
|
35
|
Market Submitted Mar 6, 2026 · Scored Mar 7, 2026 | GC TC | python | 5.44% | 10.00% | -37.42% | ||
|
36
|
Elasticnet XGBoost First submitted Feb 11, 2026 · Resubmitted Feb 17, 2026 · Scored Feb 18, 2026 | DU | python | 5.00% | 10.00% | -44.83% | ||
|
37
|
Benchmark: Equal-weight portfolio Benchmark | — | python | 4.91% | 10.00% | -33.74% | ||
|
38
|
Benchmark: Minimum Variance Benchmark | — | R | 4.73% | 10.00% | -34.19% | ||
|
39
|
Ridge Regression Submitted Feb 19, 2026 · Scored Feb 20, 2026 | PB | R | 1.48% | 10.00% | -36.80% |
Failed A failed status does not necessarily indicate a problem with your model — it may be due to an issue with the data pipeline. If there is a problem specific to your submission, a member of the CTF administration team will contact you directly.
All submissions have been processed.