The IMC Prosperity³ competition is an international quantitative trading challenge hosted by IMC Trading. Teams of students compete in a simulated market environment where they develop algorithmic trading strategies across a range of financial instruments.
- Market Simulation: Participants interact with a live market featuring real-time order books, limit orders, and price volatility.
- Product Diversity: The market includes a variety of assets such as baskets, vouchers, and components, each with unique behaviors and constraints.
- Strategic Focus: Success relies on applying concepts from statistics, game theory, and market microstructure, while responding to dynamic market conditions.
- Rounds-Based: The competition progresses in rounds (trading days), with increasing complexity and new products introduced over time.
- Performance Metric: Teams are ranked based on their final Profit & Loss (PnL) while managing risk and respecting position limits.
I participated as a quant developer and strategist, where I:
- Engineered market-making and mean-reversion strategies using Python.
- Designed signal features from historical price spreads, VWAPs, and basket-component relationships.
- Built automated trading agents with adaptive logic to adjust to real-time market shifts.
- Performed backtesting and parameter tuning on thousands of timestamps.
This repository contains code, notes, and strategy insights developed during the competition.
The competition provides a datamodel.py file that contains essential data structures and classes used for trading:
- TradingState: Contains the current market state (timestamp, order depths, positions, trades, observations)
- OrderDepth: Represents bid and ask orders in the order book
- Order: Structure for creating buy/sell orders
- Trade: Represents executed trades
- Listing, Observation: Additional market data structures
- ProsperityEncoder: JSON encoder for logging
All trading algorithms must import from this file to interact with the market environment.
To test your trading algorithms locally:
Installation:
# Install the latest version of the backtester
pip install -U prosperity3btRunning the backtester:
# Run the backtester on an algorithm using all data from round 0
prosperity3bt <path to algorithm file> 0
# Example:
prosperity3bt terence_rainforest.py 0The backtester simulates the competition environment and provides performance metrics, allowing you to iterate on strategies before submission.
🚀 Feel free to explore the code and reach out if you'd like to discuss quantitative trading, algorithmic strategy design, or the IMC competition experience.