Development Guides

Creating Trades in TOM

Purpose: For firms that have a platform to generate their own trades, this guide provides instructions for submitting these trades through Orion’s Trade Order Management platform for trade execution.

Simple Use Case: Firm has engine and algorithm for rebalancing portfolios but wants to execute the trades through Orion. The specific trades are generated and then submitted to Orion to create and send trades to the custodian.

Scope and Outputs: What are the limits of this solution – what does it both do and NOT  do?What is the end result?

Process Overview:

  1. Validate Trades
  2. Create Trades

Process Steps:

  1. First, submit the trades to Orion’s validation endpoints, which will check for errors or warnings, such as security not found, or overspend cash. These can be displayed to the user before going to the next step, so that the user can decide to continue or cancel the trades.

POST /trading/validateimport/orders/list

Sample:

[
{
"accountId": 1,
"ticker": "CLSAX",
"dollars": 1000,
"action": "BUY"
},
{
"accountID": 2,
"ticker": "IBM",
"shares": 5,
"action": "SELL"
}
]
Returns;
[
{
"accountId": 1,
"accountNumber" : "XXXXXXX",
"action": "BUY"
"ticker": "CLSAX",
"dollars": 1000,
"shares": 123.456,
"productId": 10103,
"isValid": true,
"message": "",
"tradeType": "Dollars",
"navPrice": 1.23,
"side": "1",
"amount": 1000
},
{
"accountID": 2,
"accountNumber" : "XXXXXX",
"action": "SELL"
"ticker": "IBM",
"dollars": 123.456,
"shares": 5,
"productId": 20120,
"isValid": true,
"message": "",
"tradeType": "Shares",
"isValid": true,
"message": "",
"tradeType": "Shares",
"navPrice": 1.23,
"side": "2",
"amount": 5
}
]
  1. Generate the trades that you want to move forward with.

POST /Trading/GenerateTrades

Sample:

{
"trades": [{
"accountId": 1,
"productId": 10103,
"tradeType": "Dollars",
"amount": 1000,
"side": "1"
},
{
"accountId": 2,
"productId": 20120,
"tradeType": "Shares",
"amount": 5,
"side": "2"
}
],
"routine": "QuickTrade"
}

First one: buy (side=”1″) of CLSAX of $1000.
Second one: sell (side=”2″) of AAPL of 5 shares.
Returns: 200 OK, or error