Coursework: Competition

50% of your final grade

Overview

This year's coursework asks you to build a metamodel on top of a primary trading signal that we provide for 11 instruments across three asset classes. The metamodel's job is to predict, for each primary signal, the probability that following it would be profitable under a triple-barrier exit rule.

This is a group project completed in teams of 5 students (26 groups in total). The coursework is marked out of 100.

Key Information

Deadline June 4, 2026
Team Size 5 students (26 groups)
Weight 50% of final grade
Marked out of 100 (with +10 bonus for the optional competition track)

The Universe

You are provided with the primary model's daily signals (-1, 0, +1) for the following 11 instruments.

Equity Index Futures

TickerIndex
ES1SS&P 500
NQ1SNasdaq 100
FESX1SEuro Stoxx 50

Energy

TickerCommodity
CL1SWTI Crude Oil
HO1SHeating Oil
RB1SRBOB Gasoline
NG1SNatural Gas

Metals

TickerMetal
GC1SGold
SI1SSilver
HG1SCopper
PL1SPlatinum

You are required to cover at least one full asset class. Covering more (up to all 11 instruments) is optional.

Task Description

Build a metamodel for each instrument you cover. The metamodel takes the primary signal plus your features and outputs a probability in [0, 1] that the bet is worth taking.

The pipeline is:

  1. Feature engineering from OHLCV (and anything else you can derive)
  2. Labeling via the triple-barrier method, as taught in the course
  3. Training and comparing several ML models with hyperparameter tuning
  4. Feature importance analysis at the cluster level
  5. Evaluation on a clean out-of-sample period
  6. (Optional) Strategy construction on top of the metamodel probabilities

Marking Scheme

SectionMarks
Feature Engineering20
Labeling (Triple-Barrier Method)20
Model Development and Comparison30
Feature Importance Analysis (Cluster-Level)10
Model Evaluation20
Total100
Optional: Strategy Construction (Competition)+10 bonus

The bonus is capped so the final mark does not exceed 100.

1. Feature Engineering (20 marks) 📊

Build a rich feature set drawing on the techniques covered in the course:

Be as creative as possible. Document what each feature is meant to capture.

2. Labeling: Triple-Barrier Method (20 marks) 🏷️

Apply the triple-barrier method as taught in the course. You must justify your choice of barrier widths and time-limit.

3. Model Development and Comparison (30 marks) 🤖

We expect at least three models with hyperparameter tuning, drawn from across the three families:

Present a clear comparison: which model wins, on which metric, and why you think so.

4. Feature Importance Analysis: Cluster-Level (10 marks) 🔍

Beyond per-feature importance, compute importance at the cluster level:

5. Model Evaluation (20 marks) 📈

Evaluate on an out-of-sample period that you carve out cleanly from the training period.

Optional: Strategy Construction, Competition Track (10 bonus marks) 💹

For groups that want to compete: use the metamodel probabilities to build a position-sizing strategy on top of the primary signal, either on a single asset class or on the full 11-instrument universe.

Full constraints (position limits, gross/net exposure, rebalancing rules, target volatility) will be released on Wednesday 20 May.

Backtest metrics to report:

Dataset

Two CSV files are available on Insendi under Coursework:

ohlcv_data.csv

Daily OHLCV history for all 11 instruments. One row per (instrument, date).

ColumnDescription
dateTrading date (YYYY-MM-DD)
instrumentLowercase ticker (e.g. cl1s, es1s, gc1s)
open, high, low, closeContinuous-contract prices
volumeDaily volume
open_interestDaily open interest

History starts in 1990 for most instruments. Equity Index futures start later: ES1S in 1997, FESX1S in 1998, NQ1S in 1999.

primary_signals.csv

Daily primary model signals from January 2020 onwards. One row per date, one column per instrument.

ColumnDescription
dateTrading date (YYYY-MM-DD)
es1s, nq1s, ..., pl1sPrimary signal in {-1, 0, +1}

The signal convention is:

Important. The data we release covers up to 30 June 2022. The final 6 months of data (July to December 2022) are held out and will be used as a hidden test set to evaluate your final submission.

Evaluation

You will be judged on:

  1. Quality and creativity of your feature engineering 💡
  2. Rigour of your labeling and validation protocol 🛡️
  3. Appropriateness of your model selection and comparison 🧠
  4. Critical analysis of your results 🔬
  5. Code quality, reproducibility, and documentation 📝

The score is focused entirely on methodology, not on performance. You can score a high mark even if your metamodel does not beat the primary signal.

🌟🌟🌟 The best submission, judged on quality of research rather than performance, will be presented to the research team at Alken Asset Management, with an interview for an internship at the end of it.

Getting Started

OHLCV Data

Download ohlcv_data.csv from the Coursework folder on Insendi.

Primary Signals

Download primary_signals.csv from the Coursework folder on Insendi.

Programming Sessions

For implementation guidance, refer to all programming sessions and optional programming sessions of the course.

Submission Rules

Deliverables

1. Code

A Jupyter notebook or a set of Python files that runs end-to-end and produces the deliverable files below. Clean, well-documented code is part of the mark.

2. Required: Metamodel Predictions

A CSV file covering the first half of 2022 (January to June). We will rerun your code on the hidden second half of 2022 for the final test.

Format: one row per (date, instrument, prediction).

date,instrument,prediction
2022-01-03,cl1s,0.74
2022-01-03,es1s,0.51
...

3. Optional: Strategy Weights

For groups competing on the strategy track, an additional CSV covering the first half of 2022:

date,instrument,weight
2022-01-03,cl1s,0.18
2022-01-03,es1s,-0.05
...

Constraints on the weights will be specified on 20 May.

Contact

For any question regarding the coursework: h.madmoun@ic.ac.uk

Good luck and have fun!