Who is on the other side
Every trade has two sides. When you buy, someone sold to you — and they had a reason. The market is not a weather system; it is a crowd of participants, each optimizing for something different. Four rough groups fill most of the book:
- Market makers quote both a bid and an ask and earn the spread. They want flow and a balanced inventory, not a direction.
- Institutions move size and often must trade — a fund rebalancing, a hedge being put on. Their reason is a mandate, not a forecast.
- Retail traders move small and by choice, in and out on their own read.
- Algorithms execute rules at machine speed, from spread-capture to forced liquidation.
Why it matters: "someone took the other side" is information. A seller who must sell — a margin call, a mandated de-risk — is a different signal than one who chose to. The same red candle means different things depending on who printed it.
A worked example
Take a stressed generic broad-ETF session — call the instrument GENCO — during a sharp decline.
Early, the sellers look forced: heavy volume, price gapping lower, the shape of inventory being dumped regardless of level — that is often institutions and liquidating algos, not opinion. Market makers keep quoting, but they widen their spread to protect themselves as the two-way risk rises. Later, as the fall slows, buyers step in who chose the level — the character of the tape changes from forced to discretionary. Nothing labels each participant on the chart, but the way volume and range behave tells you which kind of hand was likely on the other side.
See it in kestrel
You can read the character of a real, recorded stress session instead of guessing at it:
npx kestrel.markets sim s-p-500-etf-pandemic-volatility-crashThat runs a deterministic simulation over a generic broad-ETF session with a genuine forced-selling stretch — managed licensed data, no wall time, no signup, no card — and prints a certified proof URL. Point the CLI back at the proof and it recomputes the whole record on your own machine, byte for byte:
npx kestrel.markets certify https://kestrel.markets/proof/art_66d7dda7f0466f69c123463cKeep it one command away: drop the kestrel.markets MCP server into your client and the next session you want to read is already wired up — no account in between.