Trade Maker Cross Scenarios
These scenarios test crossing (marketable) limit orders and quotes.
Matching Limit Cross
Goal: Place a crossing limit order through a single opposite order and complete fill.
| Step | By | Action |
|---|
| 1 | OpenYield | Place a limit order for PRICE on SECURITY |
| 2 | You | Place a limit order/quote through the OpenYield order for the same quantity |
| Where | Observation |
|---|
| FIX-TR | A TRADE/FILLED execution report is received |
| UI | OpenYield's order is removed from the order book. Your order is complete, so it is not added. |
| UI, FIX-OB | The OpenYield order is created, then removed, for that order's IOI ID |
| FIX-DC | A TRADE/FILLED execution report is received |
Fill and Rest Limit Cross
Goal: Place a crossing limit order through the market, leaving the remainder resting on the market at the crossed level.
| Step | By | Action |
|---|
| 1 | OpenYield | Place a limit order for PRICE on SECURITY with a very small QUANTITY |
| 2 | You | Place a limit order/quote through the OpenYield order for a much greater quantity |
| Where | Observation |
|---|
| FIX-TR | A TRADE/PARTIAL execution report is received |
| UI | OpenYield's order is removed from the order book. Your order is added, showing the remaining amount. |
| UI, FIX-OB | The OpenYield order is created, then removed, for that order's IOI ID. Your new resting order appears. |
| FIX-DC | A TRADE/PARTIAL execution report is received |
No Trade-Through
Goal: Check that your crossing limit orders do not execute against your own opposite limit order.
| Step | By | Action |
|---|
| 1 | You | Place a limit order for PRICE on SECURITY |
| 2 | You | Place an opposite limit order/quote through that order to force a cross |
| Where | Observation |
|---|
| FIX-TR | A TRADE/CANCEL execution report is received, with a message explaining that the order cannot trade through |