crunch-node init, the
challenge/ directory contains a complete working example.
Your challenge package should include:
- Model interface — The base class that all participant models must implement
- Scoring function — Lets participants evaluate their models locally
- Quickstarter examples — Working models that participants can copy and adapt
- Backtest harness — Lets participants run their models against historical data
pip install to get
started.
Default scaffold
Thechallenge/ directory created by crunch-node init has this structure:
Model interface
TheTrackerBase class in
tracker.py
defines the contract between your Crunch Node and every Cruncher submission:
tick()receives market data on every feed update — models use it to maintain internal state (e.g., price history, indicators)predict()returns a prediction for a specific scope — the return format must match yourInferenceOutputtype
Scoring function
The scaffold includes a scoring function inscoring.py that participants can use for local
testing:
SCORING_FUNCTION environment variable).
Quickstarter examples
Theexamples/ directory contains working models that participants can copy and adapt. The default
scaffold includes three strategies:
These give participants a working starting point and demonstrate the patterns your interface expects.
Backtest harness
The challenge package includes a backtest harness so participants can evaluate their models against historical data before submitting:- Auto-fetches data from the Coordinator and caches locally on first run
- Uses the same
tick()→predict()loop as production - Applies the same scoring function and multi-metric evaluation as the live leaderboard
Publishing to PyPI
For participants to install your package, publish it to PyPI:Replace
starter-challenge with your competition’s package name in pyproject.toml before
publishing.Next: Define your own Crunch
Customize the prediction task, scoring function, and challenge package to build your own
competition.