Discretionary Trading (Partner OMS) for Multiple Accounts


  • For Partners that have already implemented their own Order Management, or Position Management Systems, DriveWealth offers a suite of technology options that will allow a Partner to create orders in an average price account, and initiate subsequent allocations to individual customer accounts. This technology is only available for Partners who want to provide a full discretionary offering, it will not support third-party advice or other non-discretionary offerings.

General workflow

There are 5 primary components to utilizing this technology suite:

  • Synchronizing accounts using beginning of day API
  • Submitting orders in an average price accounts (master trading account)
  • Retrieving status of submitted orders to determine complete fills
  • Submitting allocation lists to have new orders be allocated to and from customer accounts
  • Retrieving status of submitted allocations to determine deltas in what was processed and what was note
  • Please note that allocations can only be submitted in Quantities and not in notional amounts
  • Individual customer accounts in a discretionary offering will not be allowed to place trades directly through the account - all trades must be done via create allocations
  • Synchronization is the first step to iron out when implementing this solution, especially if using an off-the-shelf OMS / PMS that does not support real-time APIs. DriveWealth offers a beginning of day endpoint that will allow Partners to retrieve a once-per-day listing of all customer accounts and balances, for further importing to third-party tools, or an internal database.
  • The beginning of day API will only become available to retrieve after 6:00am ET, and balances will not update intraday if the request is made more than once. After the synchronization, the Partner will know:
  • Average Price Account aggregate holdings
    • Symbol
    • Quantity
  • Individual Customer Account
    • Symbol
    • Quantity
    • Market value
    • Average Price
    • Buying Power
    • Cash Available for Withdrawal
  • The next step a Partner will likely take is to determine through their OMS / PMS if any customers require a rebalance to bring them inline with target holdings and drifts. In the event orders need to be placed, the Partner will be submitting those directly through the average price account.
  • The average price account in technical terms is a view-only, in aggregate, of all customer holdings. It will also be used to handle order processing and performing allocations into and out of customer accounts.
  • Once all orders have been 100% executed a Partner must submit the allocation through the API in a timely manner. It is highly recommended that all sell side allocations are submitted first to increase the customers cash balance and to ensure they have enough money in the account to cover the buy side allocations. All allocations MUST be submitted prior to 5:30pm ET, if the allocation is still being processed after this time and remaining allocations not processed will be cancelled.

Allocation lists can include as many as 10,000 allocations per request { Calculation = sum(orders.x.allocations.qty) < 10000 }, and are processed on average at 2-3 milliseconds per allocation. After an allocation has been ran, Partners can utilize the allocation details API to determine if the request was 100% complete or if there were failures.

API overview

  • Using the master trading accounts userID, request Beginning of Day Cash and Positions in master and sub-accounts using the β€œGET – Beginning of Day” API. This will enable syncing the OMS/PMS with DriveWealth.

  • For an on-demand, real-time view of sub-accounts, use the β€œGET – Account Summary” API.

  • To place market orders in the master trading account use the β€œPOST – Create Order API".

  • The real-time status of an individual market order by using the β€œGET – Order Status” API. Also, β€œGET – Advisor Order Summary ]” API for a list of all orders submitted through the master trading account..

  • Once the order(s) is(are) complete, the β€œPOST – Create Advisor Allocation” API is used to allocate the shares to the sub-accounts.

  • To check the status of an allocation list using the β€œGET – List Advisor's Allocations” API or the β€œGET – Get Advisor's Allocation Details ” API.

Mutual fund information

  • The advisor technology suite that DriveWealth offers is flexible enough to also process mutual fund orders and allocations. There are a few slight differences because of the way mutual fund orders are handled [Please see Mutual Funds for further detail].

  • Since mutual fund orders are executed after the cutoff for submitting allocations, the partner can either submit the request starting at 6:30am ET the following business day or submit after 5:30pm ET to create a pending allocation for the following business day. Positions for mutual funds will not be visible in client accounts until after the allocation file has successfully run.

  • For advisors that want to offer both equities and mutual funds to customers it is recommended that you separate out both orders and allocations for their respective asset class.