The
two tasks

USD 600

in prizes

Task 1

Spot the swing

Markets move in swings. With years of price data, the economic calendar and live news flow for gold, silver, copper and crude, build a model that recognises a swing as it begins: which way, how far, and why.

It is judged on the swings it catches, the calls it gets right, and how well it reads the size of the move.

USD 1,000

in prizes

Task 2

Build a self-improving learning loop

Build a model that teaches itself. It studies every price move, identifies its fundamental and technical drivers, and retains that understanding. From this knowledge it issues signals with direction, magnitude and duration, verifies them against actual outcomes, and learns from every hit and every miss, so each signal is sharper than the last.

It is judged on short-term signals of one to twenty trading sessions, and on whether the learning version outperforms its own frozen copy. The long-term aim is a model whose accumulated knowledge can forecast months ahead.

Prizes

USD 1,600 in total: USD 600 for Task 1 and USD 1,000 for Task 2. Prizes are paid in US dollars, after a one-to-one call in which the team walks the organizers through its work.

Beyond the prizes. This is research work. Teams that qualify or deliver strong work may be selected for paid contribution and further work with the organizers.

USD 1,600

in total

USD 600

Task 1

Spot the swing

USD 1,000

Task 2

Build a self-improving learning loop

What selected teams receive from Thu 1 Oct

  • Five and a half years of MCX price data for gold, silver, copper and crude
  • The economic calendar and a news feed
  • The full rules
  • A complete worked example to start from

Expect about three weeks of part-time work.

How it is judged

Every submission is re-run by the organizers, so results must be reproducible, not only reported. Models are also run on market sessions that no team has seen. Before any prize is paid, the team walks the organizers through its work in a one-to-one call.

Rule clarifications

Answers to questions from teams, issued since Fri 2 Oct. They apply to every team.

When do submissions close, and which sessions are in the forward window?
Submissions close on Tue 27 Oct at 5 pm IST, a day later than first announced. The forward window moved by one session with them, to the MCX sessions of Wed 28 Oct to Tue 3 Nov, so it still holds only sessions no team has seen. Each forward run fits the model once, with data up to the 08:30 IST pre-open of Wed 28 Oct, then walks the window session by session.
What data does each session in the forward window get?
Before each session in the forward window, Wed 28 Oct to Tue 3 Nov, the organizers rebuild the whole pack as of 08:00 IST on the session day, not only the MCX tables. It has the same tables as the pack selected teams receive and holds the rows that exist at 08:00 IST and were available before it. A row that did not reach the build in time is not in that morning's pack.
What happens to a row that arrives late?
Forward packs only add rows: each morning's pack is the previous one plus the rows that became available since, and an earlier row is never revised. A late row is stamped available no earlier than its capture, so it enters a later pack with a later stamp and cannot change an earlier day's signals.
What is in the second data file?
It arrived on Sat 24 Oct as a complete release of the pack: the same tables with the sessions from 25 Sep to 23 Oct added, and its README lists the few rows of v2.0.1 that it corrects.
What may a signal at the 08:30 IST pre-open use?
Every row in that morning's pack that was available strictly before the signal instant, including comparator prices, such as Hyperliquid's, published after the previous settlement. The entry price is a separate rule: a pre-open signal enters on the previous settlement. An overnight move can inform your call. It does not change the entry price.
May a model fetch data from outside the pack?
Declared external data stays allowed under the full rules. A live fetch runs inside your code when the organizers run it, so write the fetched bytes and the fetch time next to your signals and cache them by content hash. A re-run then reads the cache. A source that disappears is at your own risk.
Can a Task 1 model signal at both horizons?
Yes. A model may signal at both horizons, 5 and 10 sessions, on some sessions and at one on others. Any number of signals per asset per session is allowed, and every one is in the denominator, so a wrong call at either horizon counts against correctness. A no_signal row, which records a decision to stay out, counts as a decision for the session it falls in.
What if a score has nothing to count?
A score with no units has the value null and fails its gate. The forward window is no exception, because the rules do not provide for extending it. Only swings whose turn and extreme both lie inside the window count.