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. 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".
2. 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.
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.
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:
Banded/Tier Rates - tiered rates used to create discounting based on the price of the contract
Volume Discount - tiered rates used to create volume discounting based on number of contracts or a user defined amount
Units of Measure - rates charged per unit of measure of the underlying contract
- Metric tons
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.
EFRP and Block Rate Calculations in Atlantis
EFRP and Block trades follow slightly different fee calc logic to standard trades. Please note the following logic for EFRP and Block trades specifically.
EFRP Rate Calculation
For all EFP, EFR, and EFS trades, Atlantis follows these three steps for calculation:
1. Atlantis first looks for rate on EFP Transactions Agreement (EFPT/EFPC).
2. If no EFP Transactions Agreement (EFPT/EFPC) is found, Atlantis will look for Standard Agreement (STDC/STDT) with EFP/EFR/EFS Trade Type rate line.
3. If no EFP Transactions Agreement (EFPT/EFPC) or Standard Agreement (STDC/STDT) with EFP/EFR/EFS Trade Type rate lines exist, Atlantis will adjust trade to 0 in a valid currency shared by both participants on the trade.
Block Rate Calculation
For all Block trades, Atlantis follows these two steps for calculation:
1. Atlantis will look for Standard Agreement (STDC/STDT) with Block specific rate line.
2. If no Block specific rate line is found, Atlantis will price trade at the Default Rate on the Standard Agreement (STDC/STDT)
*Please note: If Atlantis cannot find an applicable Standard Agreement (STDC/STDT), the block trade will not calculate any fees.