In order to calculate execution commission fees on trades, Atlantis follows a series of calculations and prioritization in order to calculate the total amount to be charged on a trade.
Data Flow into Atlantis
1. Atlantis pulls in trade data from numerous trade sources. Each individual fill creates a trade line in Atlantis which is denoted by a unique Atlantis ID.
2. At the same time, Atlantis pulls in Docs Agreements and rate schedules via the Docs API. These are used to calculate execution commission fees on each trade through the unique fee calculation engine within Atlantis. Updates to Docs agreements feed into Atlantis about once an hour.
3. Atlantis attempts to calculate an execution commission fee on each trade as per the matching information on the applicable Docs agreement and rate schedule. If there are changes to the Docs agreement or rate schedule, Atlantis will attempt to re-calculate existing fees that are not fully settled or Affirmed.
*Please Note: Any trades matching to Prioritized Draft agreements that are Affirmed may be recalculated and have the Receiver/Payer actions reset to Neutral if there is a major fee change event that occurs in Docs and feeds down to Atlantis
4. As the trades are loaded and fees are calculated, the content is sent downstream via the Atlantis API and made available in the EOD files.
Data Matching to Atlantis Participant Codes
As trades flow into Atlantis, the system tries to match the exchange trade to an Atlantis Participant Code, both on the Receiver and Payer side.
This matching is driven by the Exchange Firm Code available on the trade source feed. Each Exchange Firm Code can only be linked to one Atlantis Participant Code.
As Atlantis receives trade information, it matches both the Exchange Executing Broker Code and the Exchange Clearing Broker Code to the linked Atlantis Participant Codes. If a match is found on the Exchange Executing Broker Code, that Atlantis Participant Code becomes the "Receiver". If a match is found on the Exchange Clearing Broker Code, that Atlantis Participant Code becomes the "Payer". If the system cannot find a linked Atlantis Participant Code to the applicable Exchange Executing Broker or Exchange Clearing Broker Codes, the trade will be stamped with a Cannot Settle Reason of "Receiver Participant Missing" or "Payer Participant Missing".
Firms can access a list of Exchange Firm Codes and their linked Atlantis Participant Codes in the Participant List (link located in the footer of the Atlantis User Interface). This can also be done by utilizing the "Reference Data" menu and searching for the particular Exchange Firm Code within the "Exchanges" link.
Data Matching to Docs Parties
Each Atlantis Participant Code has certain legal entities linked for agreement matching purposes. The Docs Parties listed against each Atlantis Participant Code are utilized for driving the match of which Executing or Clearing Parties would be searched against on Docs Agreements by the system.
The same Docs Party can be linked to multiple Atlantis Participant Codes.
For example, if a trade comes in with Exchange Executing Firm Code "123", which is linked to Atlantis Participant Code "ABCD", the trade would search against all the Docs Entities linked to Atlantis Participant Code "ABCD" in the "Executing Party" field on the give up agreement. The same would occur with Exchange Clearing Firm Codes and the matching against the Linked Atlantis Participant Code and the "Clearing Party".
The system will not attempt to match trades to agreements that list any Docs Parties not linked to the matched Atlantis Participant Code. If the system does not find a matching agreement with the applicable Executing or Clearing parties, the trade will show a Fee Calc Failure Reason of "No Agreement Found".
Firms can access a list of Docs Parties and their linked Atlantis Participant Codes in the Participant List (link located in the footer of the Atlantis User Interface). This can also be done by utilizing the "Reference Data" menu and searching for the particular Atlantis Participant Code within the "Participants" link (refer to Docs Party Associations section).
Agreement Types and Prioritization
The following Agreement Types are currently supported by Atlantis fee calculation. Please also note the Prioritization of Agreement Validity Types within the system.
*Please note: If Atlantis finds a Prioritized Draft agreement (agreement in Composition and Execution state WITH an Effective Date) which matches to the trade (trade date post effective date listed on Prioritized Draft), this version of the agreement will be used instead of the Executed agreement. If there are any major Docs Agreement or eRate changes that take place on the Prioritized Draft agreement in Docs, Atlantis will re-calculate the linked trades and reset Receiver/Payer actions if the trades have already been Affirmed and/or Approved.
Agreement Match Criteria
The following information determines how Atlantis searches for Agreements in Docs to be utilized for pricing the execution commission fee on a trade received from a trade source.
1. Clearing Broker Party vs. Executing Broker/Order Passing Broker Docs Party on a Docs agreement are compared against the Clearing Broker vs. Executing Broker Atlantis Participant. These must match in order to calculate an Agreement on the trade. Refer to "Data Matching to Docs Parties" section for more information.
2. Atlantis compares the Agreement Effective Dates against the Trade Date on the trade information. Effective date of the Docs agreement has to be on or before Trade Date. Termination Date of agreement has to be on or after Trade Date (or the agreement should have no Termination Date). If the trade is outside of these dates, the system will not be able to match to the Docs agreement. This means Atlantis may utilize another version of the agreement (if available) or show a Fee Calc Failure Reason of "No Agreement Found".
3. Clearing Account on Docs Agreement compared against Clearing Account/Give Up Reference on trade:
- Prioritization of fee calculation occurs in the following order:
- Atlantis tries to match the Clearing Account on the trade to the Clearing Account/Processing Reference on the Docs Agreement
- If no match found, Atlantis tries to match the Give Up Reference on the trade to the Clearing Account/Processing Reference on the Docs Agreement
- If no match found, Atlantis attempts to perform the same match against the Proposed Clearing Account in Atlantis
4. Executing Account on Docs Agreement compared against Executing Account on trade:
- Prioritization of fee calculation occurs in the following order:
- Atlantis tries to match the Executing Account on the trade to the exact Executing Account on the Docs Agreement
- If no match found, Atlantis tries to match the Executing Account on the trade to the "TBA" Executing Account on the Docs Agreement
- If no match found, Atlantis attempts to match any other rate schedule that matches steps 1-3 above, regardless of executing account or no executing account
*Please Note: A Docs Agreement must pass steps 1-3 in order for the trade to be matched to the Agreement ID. Atlantis does not currently match on "Executing Account" only. The "Clearing Account" match must pass before Atlantis drills down into the "Executing Account" match.
Agreement Rate Line Match Criteria
Atlantis will look for all 4 of these categories on a rate schedule when calculating which rate line to utilize for fee calculation. The system will utilize "most specific" rate line available before moving to a "least specific" rate line ie. Blanket Rates.
Agreement Rate Line Prioritization
Atlantis prioritizes "most specific" rate lines for calculation prior to using "least specific". For example, if rates are available for a specific product, the system will utilize that rate instead of an ALL-ALL rate for that specific exchange.
EFRP Rate Calculation
For all EFP, EFR, and EFS trades, Atlantis follows these three steps for calculation:
ETD Block Rate Calculation
For all ETD Block trades (Sub Asset Class = ETD), Atlantis follows these steps for calculation:
Atlantis Calculation Methods
The following are the currently supported rate types in Atlantis.
The following are rate types that are not currently supported in Atlantis:
Volume Discount - tiered rates used to create volume discounting based on number of contracts or a user defined amount
Units of Measure - certain unit of measure calculations are not yet supported
- Per BTU
- Per MBTU
- Per MWH
- Per Therm
BPS (Underlier Price)
% Dividend Notional
How to Handle Unsupported Rate Types in Atlantis
Firms that have trades with unsupported rate types in Atlantis, still have the option of settling the trades in Atlantis. Receivers should amend the Adjusted Fee Amount with the proper fee amount based on desired rate type, and then reference the calculation method in the Receiver Comment column.
FIA Tech continues to investigate how to integrate more rate type calculations in Atlantis. As updates are made, the team will be sure to provide updates to the Atlantis User Group.
Article is closed for comments.