The mechanism behind price movement
Price rises when trades take place at higher prices and falls when they take place at lower prices.
Supply and demand influence participants' decisions, but price only moves when those decisions become executed orders.
Its movement then depends on orders seeking immediate execution and the liquidity available at different price levels.
Buyers, sellers and order execution
Every trade has a buyer and a seller
You often hear that price rises because there are more buyers than sellers. But every transaction necessarily has both sides.
If 10 contracts trade, 10 contracts are bought and 10 contracts are sold.
The difference therefore isn't the quantity bought or sold in the transaction. It's the type of order used and the price at which it's placed.
Some participants place an order at a set price and wait for someone to accept it. Others immediately accept a price already offered in the market.
Passive and aggressive orders
Orders waiting at a set price provide liquidity and are called passive.
These are generally limit orders waiting for another participant to accept their price.
Orders seeking immediate execution are called aggressive because they execute against that liquidity.
A market order is therefore aggressive. A limit order can also be aggressive if its price allows immediate execution.
Aggressive buying accepts the prices offered by sellers; aggressive selling accepts the prices offered by buyers.
Visible quantities still waiting are grouped in the order book.
Moving from one price level to another
Resting orders are spread across several price levels.
When an aggressive order reaches the market, it first executes against the quantity available at the best price.
If there's enough, the whole order can fill at that level.
Otherwise, the remainder executes against quantities offered at the next prices.
Price reaches a new level when the available quantity at the previous level has been consumed.
An aggressive buy example
Imagine 10 contracts are offered for sale at €100, with more contracts available at €101.
A participant wants to buy 15 contracts immediately.
| Ask price | Quantity available before the buy | Quantity bought | Quantity remaining |
|---|---|---|---|
| €100 | 10 contracts | 10 contracts | 0 contracts |
| €101 | 20 contracts | 5 contracts | 15 contracts |
The first 10 contracts execute at €100, consuming all available quantity at that price.
The remaining 5 contracts then execute at €101.
The latest trades therefore take place at a higher price.
An aggressive buy pushes price up when it consumes the quantity at one level and reaches a higher price.
But a buy doesn't always move price higher.
If 1,000 contracts are offered at €100 and someone buys 15, the whole order can execute at €100 without reaching the next level.
An aggressive sell example
The reverse happens when someone wants to sell immediately.
Imagine buyers are bidding for 10 contracts at €100, with further bids at €99.
A participant wants to sell 15 contracts immediately.
| Bid price | Quantity available before the sale | Quantity sold | Quantity remaining |
|---|---|---|---|
| €100 | 10 contracts | 10 contracts | 0 contracts |
| €99 | 20 contracts | 5 contracts | 15 contracts |
The first 10 contracts execute at €100, consuming all available quantity at that price.
The remaining 5 contracts then execute at €99.
The latest trades therefore take place at a lower price.
An aggressive sell pushes price down when it consumes the quantity at one level and reaches a lower price.
The role of liquidity
In those examples, price reaches the next level when the quantity at the first price isn't enough to fill the whole order.
Those available quantities are the liquidity against which aggressive orders execute.
When many contracts are available at a price, a large number of trades can take place without moving it.
When few contracts are available, they're consumed more quickly and trades reach subsequent prices.
Price movement therefore depends on both aggressive orders and the quantities available at different levels.
The same volume can produce different moves
Imagine a participant wants to buy 20 contracts immediately.
The result depends on the quantities available at each price level.
| Situation | Available quantity | Order execution | Effect on price |
|---|---|---|---|
| Low liquidity | 5 contracts at each level | The 20 contracts fill across 4 levels | Price rises through several levels |
| High liquidity | 500 contracts at the first level | All 20 contracts fill at the same price | Price doesn't rise |
In the first situation, the 5 contracts at each level are quickly consumed.
The order therefore reaches four different price levels.
In the second, the 500 contracts at the first level are enough to fill the entire order at the same price.
Executed volume is identical in both cases, but the resulting movement differs.
You therefore need to consider both executed volume and the quantities available at the relevant prices.
Substantial aggressive buying can execute without a pronounced rise if enough sell orders remain available.
Substantial aggressive selling can also execute without a pronounced fall if enough buy orders remain available.
In order flow analysis, this is called absorption.


