Inspiration
Markets are not static. A single fixed market-making rule performs well in some conditions and poorly in others. The goal was to design a strategy that reacts to changing market conditions by adjusting how it provides liquidity, rather than optimizing for only one type of market.
What it does
This project implements a regime-adaptive market-making strategy in a discrete limit-order-book simulation.
The strategy:
- Acts strictly as a liquidity provider using limit orders
- Captures bid-ask spread in stable market conditions
- Reduces exposure and aggressiveness in competitive or volatile markets
- Enforces strict inventory and risk controls at all times
Profit is generated primarily through systematic spread capture in normal and calm markets, while losses in unstable regimes are limited through conservative quoting behavior.
How we built it
The strategy is implemented in Python using a step-based trading loop connected to a simulated order book.
At each step:
- Order-book data and price movements are analyzed
- The current market regime is inferred
- Regime-specific parameters determine spread offsets, order sizes, and order frequency
- Inventory-aware logic ensures risk limits are never violated
All behavior is explicitly defined in code without machine learning or external optimization.
Challenges we ran into
- Managing inventory risk while maintaining competitive quotes
- Avoiding adverse selection in fast or HFT-dominated markets
- Designing regime logic that remained robust across very different market scenarios
- Ensuring realistic behavior without exploiting simulator artifacts
Accomplishments that we're proud of
- A single strategy that remains profitable in normal markets while limiting drawdowns in stressed regimes
- Clean separation between regime detection and execution logic
- Strict risk controls that prevent runaway inventory or invalid pricing
- Consistent behavior across multiple simulated market scenarios
What we learned
- Market-making performance is highly regime-dependent
- Tight spreads are only profitable when volatility and competition are controlled
- Inventory management is as important as pricing logic
- Simple, transparent rules can outperform overly complex strategies when risk is managed correctly
What's next
- Finer regime classification using additional order-book signals
- Adaptive parameter tuning within each regime
- More advanced inventory-skewing logic
- Stress testing under longer and more adversarial simulations
Log in or sign up for Devpost to join the conversation.