These scenarios test stacking, rejections and tiered pricing for limit orders and quotes.
Stack Limit Orders
Optional: required only if you stack orders.
Goal: Place multiple levels of limit orders on the market.
| Step | By | Action |
|---|
| 1 | You | Place a limit order for PRICE on SECURITY |
| 2 | You | Place another limit order/quote on the same side at a different PRICE |
| Where | Observation |
|---|
| FIX-TR | Both orders are accepted (Ack) |
| UI | Both orders appear in the order book |
| UI, FIX-OB | Both orders are created in the feed |
Bad Price New Order
Goal: Test order rejection on price.
| Step | By | Action |
|---|
| 1 | You | Place a limit order for BAD-PRICE (zero, too wide or too large) on SECURITY |
| Where | Observation |
|---|
| FIX-TR | Order is REJECTED with a message explaining that the price is bad |
Bad Price Update Order Correction
Equity-style order flow only.
Goal: Make sure order sequencing is correct.
| Step | By | Action |
|---|
| 1 | You | Place a limit order at PRICE (say ID #1) |
| 2 | You | Send a BAD-PRICE update (say ID #2, updating ID #1) |
| 3 | You | Send a good PRICE update (ID #3, updating ID #1, not ID #2) |
| Where | Observation |
|---|
| FIX-TR | The first order is accepted, the second is rejected, the third is accepted |
| UI | The first order is shown, then updated by the third |
| UI, FIX-OB | The first order is created, then updated by the third |
Bad Security New Order
Goal: Test what happens when an unsupported security is ordered.
| Step | By | Action |
|---|
| 1 | You | Place a limit order with an invalid or unsupported ISIN |
| Where | Observation |
|---|
| FIX-TR | Order is rejected |
Cancel an Already Canceled Order
Coming soon.
Goal: Test what happens when you cancel an order that is already complete or canceled.
| Step | By | Action |
|---|
| 1 | You | Place a limit order |
| 2 | OpenYield | Cancel that order from the Operations UI |
| 3 | You | Try to cancel that order again |
| Where | Observation |
|---|
| FIX-TR | The second cancel is rejected |
Good Tiered Price
Optional for dealers. See Pricing Tiers.
Goal: Check that a tiered price is captured.
| Step | By | Action |
|---|
| 1 | You | Place a limit order with a wider tiered price |
| Where | Observation |
|---|
| FIX-TR | The order is accepted (Ack) |
| Operations | OpenYield confirms the tiered price and yield on the order |
Bad Tiered Price
Optional for dealers.
Goal: Check that an order is rejected when its tiered price is invalid (better than the regular price).
| Step | By | Action |
|---|
| 1 | You | Place a limit order with a tighter tiered price |
| Where | Observation |
|---|
| FIX-TR | The order is rejected |
Missing Tiered Price
Optional for dealers.
Goal: Check what happens when a dealer that usually sends tiered prices leaves one out or sets it to zero.
| Step | By | Action |
|---|
| 1 | You | Place a limit order with a zero tiered price |
| Where | Observation |
|---|
| FIX-TR | The order is accepted |
| Operations | OpenYield confirms the regular price and yield, and that no dealer level is set on the order |