Testing in sandbox

In sandbox, Orders are filled by a simulator, instead of an actual execution venue.

Filling orders after hours

Orders placed outside of market hours, like equities Orders placed overnight, will be filled at market open, like they would be in production. However, if you would like to test an immediate execution, even outside of market hours, set a special flag on the Account you’re testing in:

PATCH /back-office/accounts/{accountID}
{
	"ignoreMarketHoursForTest": true
}

This can be particularly helpful for Continuous Integration purposes.

Magic numbers

To assist in testing specific Order workflows, the following combinations of symbols and quantities can be used to force certain behavior:

SymbolQuantityHandling
HL176Execute only half of the quantity, and exchange cancel the remainder
HL177Execute in two fills, at two different prices
HL178Execute in 10 share increments, for a total of 18 fills
HL179Execute in 20 share increments and send a new fill every 1 second
HL1019Execute fully, no different from typical execution
HL1039Execute 1 share at a time
HL1049Execute 100 shares at a time
HL1059Returns NOS NAK or failure
HL1069Execute a partial amount, exchange cancel remainder
HL1079Execute nothing, exchange cancel everything
HL1089Execute nothing, leave open and awaiting cancel
HL5089Execute nothing, leave open and await cancel request

These quantities can be used for a buy-side order only:

POST /back-office/orders
{
    "accountNo": "DWCU000440",
    "orderType": "MARKET",
    "symbol": "HL",
    "side": "BUY",
    "quantity" : 1011
}