These scenarios test limit order and quote flows. For market orders, see Trade Taker Scenarios.
Place a Limit Order/Quote
Goal: Show that a resting order can be added to the order book.
| Step | By | Action |
|---|
| 1 | You | Place a limit order to BUY/SELL QUANTITY of SECURITY at PRICE |
| Where | Observation |
|---|
| FIX-TR | Order is accepted (Ack) |
| UI | Order appears in the order book |
| FIX-MD | Price appears in top of book |
| UI, FIX-OB | Order appears in depth of book |
Place an Opposing Limit Order/Quote
Goal: Show that an opposing order is added to the order book correctly and does not conflict with the first order.
| Step | By | Action |
|---|
| 1 | You | Place a limit order to BUY/SELL QUANTITY of SECURITY at PRICE, on the opposite side to the first scenario |
| Where | Observation |
|---|
| FIX-TR | Order is accepted (Ack) |
| UI | Order appears in the order book opposite the first order |
| FIX-MD | Price appears in top of book |
| UI, FIX-OB | Order appears in depth of book |
Update a Limit Order/Quote Price
Goal: Test order updates and price changes.
| Step | By | Action |
|---|
| 1 | You | Update the order from the first scenario with a new PRICE |
| Where | Observation |
|---|
| FIX-TR | Order is REPLACED (Ack) |
| UI | Order appears in the order book with the new price |
| FIX-MD | New price appears in top of book |
| UI, FIX-OB | Order is updated in depth of book with the same IOI ID |
Update a Limit Order/Quote Quantity
Goal: Test order quantity updates.
| Step | By | Action |
|---|
| 1 | You | Update the order from the first scenario with a new QUANTITY |
| Where | Observation |
|---|
| FIX-TR | Order is REPLACED (Ack) |
| UI | Order appears in the order book with the new quantity |
| FIX-MD | New quantity appears in top of book |
| UI, FIX-OB | Order is updated in depth of book with the same IOI ID |
Cancel a Limit Order/Quote
Goal: Show that the order is removed from the marketplace.
| Step | By | Action |
|---|
| 1 | You | Cancel an order in the market |
| Where | Observation |
|---|
| FIX-TR | Order is CANCELED (Ack) |
| UI | Order is removed from the order book |
| FIX-MD | Best bid or offer is deleted |
| UI, FIX-OB | A delete message is sent for that IOI ID |
Complete Fill a Limit Order/Quote
Goal: Check the execution flow for a matching fill and the removal of the order.
| Step | By | Action |
|---|
| 1 | You | Place a good limit order/quote on the market |
| 2 | OpenYield | Hit/lift that order for its full quantity |
| Where | Observation |
|---|
| FIX-TR | A TRADE/FILLED execution report is received |
| UI | Order is removed from the order book |
| UI, FIX-OB | The order is created, then deleted, for that order's IOI ID |
| FIX-MD | Best bid or offer is updated or deleted (if top of book), and a TRADE message is received |
| FIX-DC | A TRADE/FILLED execution report is received |
Partial Fill a Limit Order/Quote
Goal: Check the execution flow for a partial fill and the update of order quantity.
| Step | By | Action |
|---|
| 1 | You | Place a good limit order/quote on the market |
| 2 | OpenYield | Hit/lift that order with a smaller quantity |
| Where | Observation |
|---|
| FIX-TR | A TRADE/PARTIAL execution report is received |
| UI | Order is updated in the order book |
| UI, FIX-OB | The order is created, then updated, for that order's IOI ID |
| FIX-MD | A TRADE message is received. Best bid and offer are no longer checked from here. |
| FIX-DC | A TRADE/PARTIAL execution report is received |
Cancel after Partial Fill
Goal: Check that the order is removed and a completion message is received.
| Step | By | Action |
|---|
| 1 | You | Place a good limit order/quote on the market |
| 2 | OpenYield | Hit/lift that order with a smaller quantity |
| 3 | You | Cancel the order |
| Where | Observation |
|---|
| FIX-TR | The order is accepted, then a TRADE/PARTIAL is received, and finally a TRADE/CANCEL execution report is received |
| UI | Order is removed from the order book |
| UI, FIX-OB | The order is created, updated, then removed for that order's IOI ID |
| FIX-MD | A TRADE message is received. MD is no longer checked from here. |
| FIX-DC | A TRADE/PARTIAL execution report is received |
Update Quantity after Partial Fill with More
Goal: Check that the shown quantity is as expected.
| Step | By | Action |
|---|
| 1 | You | Place a good limit order/quote on the market |
| 2 | OpenYield | Hit/lift that order with a smaller quantity |
| 3 | You | Update the order quantity |
| Where | Observation |
|---|
| FIX-TR | Order is accepted, a PARTIAL fill is received, then the update is REPLACED |
| UI | Order is placed on the order book, updated on fill, then updated again on update. The quantity shown is the new order quantity minus the amount already filled. |
| UI, FIX-OB | The order is created, updated, then updated again for that order's IOI ID |
| FIX-DC | A TRADE/PARTIAL execution report is received |
Update Quantity after Partial Fill with Less
Goal: Check that setting the order quantity to less than or equal to the filled quantity cancels the order.
| Step | By | Action |
|---|
| 1 | You | Place a good limit order/quote on the market |
| 2 | OpenYield | Hit/lift that order with a smaller quantity |
| 3 | You | Update the order quantity to the filled quantity or less |
| Where | Observation |
|---|
| FIX-TR | Order is accepted, a PARTIAL fill is received, the update is accepted, then a CANCEL is received |
| UI | Order is placed on the order book, updated on fill, then removed |
| UI, FIX-OB | The order is created, updated, then removed for that order's IOI ID |
| FIX-DC | A TRADE/PARTIAL execution report is received |
Update Price after Partial Fill and Complete
Goal: Check that you can accept multiple fills on the same order at different prices.
| Step | By | Action |
|---|
| 1 | You | Place a good limit order/quote on the market |
| 2 | OpenYield | Hit/lift that order with a smaller quantity |
| 3 | You | Update the order PRICE |
| 4 | OpenYield | Hit/lift that order for the remaining quantity |
| Where | Observation |
|---|
| FIX-TR | Order is accepted, a PARTIAL fill is received, the update is accepted, then a FILLED is received at the new price |
| UI | Order is placed on the order book, updated on fill, updated again on update, then removed after the second execution. The price moves as expected. |
| UI, FIX-OB | The order is created, updated on fill, updated on price, then removed on final fill for that order's IOI ID |
| FIX-DC | A TRADE/PARTIAL execution report, followed by a TRADE/FILLED execution report |