Skip to content

tchiu04/IMC-Prosperity-3

Repository files navigation

🧠 IMC Prosperity³ Quantitative Trading Competition

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.

📌 Competition Highlights

  • 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.

🛠️ My Role

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.

📚 About datamodel.py

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.

🧪 Backtesting

To test your trading algorithms locally:

Installation:

# Install the latest version of the backtester
pip install -U prosperity3bt

Running 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 0

The 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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published