Explanation
For an immediate-or-cancel (IOC) limit buy order at $20.50 for 700 shares:
Order Book Data:
Bid Side (Buy Orders):
| Order | Quantity | Price |
|---|
| 1 | 500 | 18.50 |
| 2 | 300 | 18.90 |
| 3 | 400 | 19.20 |
| 4 | 200 | 20.10 |
| 5 | 100 | 20.15 |
Ask Side (Sell Orders):
| Order | Quantity | Price |
|---|
| 1 | 200 | 20.20 |
| 2 | 300 | 20.35 |
| 3 | 400 | 20.50 |
| 4 | 100 | 20.65 |
| 5 | 200 | 20.70 |
Execution Process:
- The trader wants to buy 700 shares at a maximum price of
$20.50
- IOC order means: execute immediately at or below the limit price, cancel any unfilled portion
- The order will match with sell orders at or below
$20.50
Available sell orders at or below $20.50:
- Order 1: 200 shares at
$20.20
- Order 2: 300 shares at
$20.35
- Order 3: 400 shares at
$20.50
Total available: 200 + 300 + 400 = 900 shares at or below $20.50
Execution for 700 shares:
- First 200 shares at
$20.20
- Next 300 shares at
$20.35
- Next 200 shares at
$20.50 (from Order 3's 400 shares)
Average price calculation:
Total cost=(200×20.20)+(300×20.35)+(200×20.50)
Total cost=4,040+6,105+4,100=14,245
Average price=70014,245=20.35
Answer: $20.35 (Option A)
Key Points:
- IOC orders execute immediately at best available prices up to the limit price
- The order fills at the best available prices first (lowest ask prices)
- The average price is weighted by the quantities filled at each price level