Team Members: Akezhan Rakishev & Sultan Mendybayev
Final Ranking: 141st Place
Team name: Caribbean Island
This repository contains our algorithmic trading strategies developed for the IMC Prosperity Trading Competition. Over five rounds, we implemented increasingly sophisticated trading algorithms, progressing from basic market making to complex options pricing and machine learning strategies.
The IMC Prosperity Trading Competition simulated real-world trading scenarios across multiple rounds, each introducing new financial instruments and market dynamics. Teams competed by developing algorithmic trading strategies that could adapt to various market conditions and asset types.
Assets: RAINFOREST_RESIN, KELP, SQUID_INK
- Real-world Strategy: Classic market making with bid-ask spread capture
- Implementation: Fixed fair value approach with liquidation management
- Key Features:
- True value estimation using order book mid-price
- Position limits with soft/hard liquidation mechanisms
- Spread-based profit capture
- Real-world Strategy: Multi-factor quantitative trading using technical indicators
- Implementation: Combined RSI, MACD, VWAP, and volatility signals
- Key Features:
- Price history tracking with 100-period moving window
- Normalized technical indicators (RSI, MACD, VWAP, Z-score)
- Dynamic risk adjustment based on volatility
- Quality score calculation with weighted factors
New Assets: CROISSANTS, JAMS, DJEMBES, PICNIC_BASKET1, PICNIC_BASKET2
- Real-world Strategy: ETF arbitrage and basket trading
- Implementation: Fair value calculation based on underlying components
- Key Features:
- PICNIC_BASKET1 = 6×CROISSANTS + 3×JAMS + 1×DJEMBES
- PICNIC_BASKET2 = 4×CROISSANTS + 2×JAMS
- Synthetic order book construction
- Mispricing detection and exploitation
- Real-world Strategy: Sophisticated market making with inventory management
- Implementation: VWAP-based fair value with order book imbalance analysis
- Key Features:
- Volume-weighted average price calculation
- Order book imbalance tracking
- Position-based pricing adjustments
- Volatility-adjusted spreads
- Real-world Strategy: Statistical arbitrage with trend analysis
- Implementation: Dual-window trend detection with threshold-based trading
- Key Features:
- Short-term (5-period) and long-term (20-period) windows
- Trend coefficient calculation
- Multi-mode strategy (RAPID_UP, RAPID_DOWN, STEADY, ARBITRAGE)
New Assets: VOLCANICROCK, VOLCANIC_ROCK_VOUCHER* (9500, 9750, 10000, 10250, 10500), MAGNIFICENT_MACARONS
- Real-world Strategy: Options pricing using Black-Scholes model
- Implementation: Fair value calculation with volatility estimation
- Key Features:
- Historical volatility calculation
- Black-Scholes call/put pricing
- Options premium incorporation
- Time-to-maturity adjustments
- Real-world Strategy: Options market making with implied volatility modeling
- Implementation: Moneyness-based volatility smile fitting
- Key Features:
- Implied volatility calculation
- Volatility smile parameter fitting
- Strike-specific pricing adjustments
- Theoretical vs. market price comparison
Continued: All previous assets with strategy refinements
- Real-world Strategy: Specialized high-strike options trading
- Implementation: Customized technical analysis for out-of-the-money options
- Key Features:
- Adjusted quality score calculation
- Strike-specific risk parameters
- Enhanced volatility weighting
- Real-world Strategy: Statistical arbitrage with z-score analysis
- Implementation: Spread-based pair trading with basket components
- Key Features:
- Basket spread history tracking
- Z-score threshold trading
- Dynamic position targeting
Note: We were not able to participate in Round 5. (University exams and job interviews)
carribean_island_team/
├── round1/ # Basic market making and technical analysis
├── round2/ # Basket trading and advanced market making
├── round3/ # Options introduction and volatility trading
├── round5/ # Machine learning and advanced analytics
├── utils/ # Utility scripts and tools
Each round folder contains:
main.py
- Primary trading strategy implementationdatamodel.py
- Data structures and market interfaces
The IMC Prosperity Trading Competition provided an excellent platform to implement and test sophisticated algorithmic trading strategies. Our journey from basic market making to advanced machine learning models demonstrates the evolution of quantitative trading approaches and the importance of adapting to changing market conditions.
The competition highlighted the critical balance between strategy sophistication and robust risk management, lessons that are directly applicable to real-world trading environments.