DeskPrep
PYTHONintermediate~75 min

Market-Making Simulation

Quote a two-sided market on a simulated random-walk asset: capture spread while skewing quotes to manage inventory under a hard position limit. The take-home version of the market-making game used in trading interviews.

The scenario

It's your first week on a market-making desk. A single asset's mid-price drifts as a random walk while orders arrive on both sides. Your job: quote a two-sided market, capture spread, but don't let your inventory run away from you. This is the take-home version of the live market-making game these desks run in interviews.

Where this shows up

Quoting under inventory limits and managing adverse selection is exactly what the market-making game tests in trading interviews at firms such as these.

options & ETF market makersproprietary trading firms

Firms such as Optiver, IMC, Jane Street.

DeskPrep is not affiliated with, endorsed by, or sponsored by any named firm. Firm names are used for illustrative, educational purposes only and do not imply that these materials are official assessments of, or are connected with, those firms.

Task brief

README.md
# Market-Making Simulation

**Role relevance:** The take-home form of the market-making game used in trading interviews.
**Estimated time:** 60-75 minutes
**Difficulty:** Intermediate
**Format:** Python (.py), standard library only

## What you are given
- `market_making_sim_starter.py` - a fixed simulation engine (price path, order arrivals, fills, PnL) with the quoting strategy left to you

## What you must deliver
1. A two-sided quoting rule around a reservation price
2. Inventory skew that mean-reverts your position
3. A hard position limit
4. PnL, inventory and risk-adjusted metrics, plus a short spread/skew tuning study

## Constraints
- Standard library only. The engine and fill model are fixed - don't change them.

## Submission note
Implement `make_quotes`, run the simulation, then compare against the mark scheme.

Your tasks

  1. 01Implement a quoting rule that posts a bid and ask around the current mid at a chosen half-spread.
  2. 02Add inventory skew: shift your quotes to lean against your current position so it mean-reverts toward flat.
  3. 03Enforce a hard position limit and stop quoting the side that would breach it.
  4. 04Run the simulation, then report realised PnL, the inventory path, fill counts and PnL per unit of inventory risk.
  5. 05Tune the half-spread vs skew trade-off and comment briefly on adverse selection.

How you're assessed

Correct quoting and fill logic2 pts
Inventory-skew logic3 pts
Respects the position limit1 pt
PnL and risk metrics computed correctly2 pts
Sensible tuning and commentary2 pts
Total10 pts

The full points-based mark scheme is included with the pack.

What you'll learn

  • The market maker's core trade-off: capturing spread versus carrying inventory risk.
  • How skewing quotes is used to manage and mean-revert inventory.
  • Why adverse selection means tighter isn't always better — and why these games test risk intuition over maths.

Study alongside