Bulk Termination Report

This document describes how to use the Bulk Termination report – This report allows terminating trades in bulk.

 

1. Sample Report

From the Calypso Navigator, navigate to Trade Lifecycle > Termination > Terminate (menu action reporting.ReportWindow$TerminationAction) to bring up the Bulk Termination report.

Partial Picture of the Termination Report

 Ⓘ   [NOTE: The columns of this picture have been configured. Sort columns, subheadings and subtotals have to be explicitly specified. See Help > Menu Items for details]

» You can check / uncheck View > Show Frame > Criteria to display / hide the search criteria.
» You can select a template, and click to display the number of objects that will be loaded from the database, before loading the report.

 

2. Setup Requirements

 

2.1 Workflow

The following types of actions can be performed using the Termination Action report:

TERMINATE - Make sure that the transition VERIFIED - TERMINATE - TERMINATED is configured in the trade workflow with option “Create Task” checked. TERMINATE is the default action but you can configure the action of your choice in domain "tradeTerminationAction", and in the trade workflow.

[NOTE: You can only terminate a trade in VERIFIED status (out-of-the-box)]

Also, the rule CheckValidAction should be added to the mandatoryTradeRule domain so that the TERMINATE action cannot be applied manually but from the Termination window only.

BOOKTRANSFER - Make sure that the transition VERIFIED - BOOKTRANSFER - BOOK_TRANSFER is configured in the trade workflow with option “Create Task” checked.

 

2.2 Domain Values

A number of domains control the behavior of the Termination process. If these domains are not available, you can add them to the domain "domainName".

Default fee type - The default fee type to be computed for the Termination window can be set in domain "defaultTerminationFeeType". Note that by default, the fee type TERMINATION_FEE is specified in domain "defaultTerminationFeeType".

You can define the default fee type for partial terminations in domain "defaultPartialTerminationFeeType".

You can define the default fee type for full terminations in domain "defaultFullTerminationFeeType".

The default pricer measure associated with a fee type can be set in the Comment field (for example ACCRUAL_BO) for these domains.

If a withholding tax is defined on the selected fee types, it will be computed upon termination as well.

Refer to Fee Definition documentation for setup details.

If there is a termination fee on the trade, we remove all interest flows having payment date after termination effective date.

Partial termination fee propagation - In case of a partial termination, the fee types that you want to propagate to the new trade must be added to the domain "propagateFees". The fee amounts for those fee types will be propagated to the new trade based on the partial termination percentage.

You can also be specific for each termination reason, by creating the domain "propagateFees.<termination reason>", like for example "propagetFees.Novation". If such a domain exists for a given termination reason, it will override the domain "propagateFees".

For the product types in domain "propagateFeesWithoutAccruals", accruals are not computed on propagated fees for product types.

Keeping fees - If you want to keep transfers for upfront fees that have not yet been paid, you can add them to the domain "keepUpFrontFeeType" – This will apply to all product types. If you want to keep different types of fees based on the product type, you can create the domains "keepUpFrontFeeType.<product type>" as needed. For example, you can keep UPFRONT_FEE for CDS Indices only by adding UPFRONT_FEE to "keepUpFrontFeeType.CDSIndex".
Termination reason - You can add termination reasons to the domain "keyword.terminationReason".

You can also define termination reasons by product type by creating domains in the form "keyword.TerminationReason.<ProductType>", for example "keyword.TerminationReason.Swap", and set the termination reasons there.

For a given product type, if a specific domain by product type exists, it will be used to display the available termination reasons, otherwise, the default domain will be used.

Termination fee date - The termination fee date is defaulted to the termination trade date + "offset" specified in the Fee Definition. It is rolled using the FOLLOWING date roll convention, if it falls on a non-business day.

It is also possible to define a date lag and date roll at the Fee Grid level by product type to determine the fee date. The fee TERMINATION_FEE should be set with Calculator = FeeGrid. In the Fee Grid window, you can define fee grids by product type with Calculator = "None", and set the date lag and date roll as needed. If this is set, it will be used by default, and the offset specified in the Fee Definition will be ignored.

You can also default the termination fee date using the currency / currency pair spot days:

Define the domain "TermDays.<product type>" or "TermDays.<product family>" – For example "TermDays.FXOption".
Set the value to "Fee:CurrencySpotDays".
Effective date - The effective date defaults to Trade Date + number of days specified in the domain "TermDays.<product type>" or "TermDays.<product family>". For example, if you define the domain "TermDays.Swap", and set the value to 2, the effective date will default to trade date + 2 days.

If the number of days is typed as nCal (for example 2Cal) then it means n CALENDAR days, otherwise it means n BUSINESS days relative to trade holidays.

You can also set the value to "Fee:CurrencySpotDays" in that domain to set the number of days as follows:

For single currency trades, the number of days are the spot days of the Currency Definition.
For FX trades and FX Option trades, the number of days are the spot days of the Currency Pair Definition.
Early termination of repo trades with interim cashflows - Applies to the repo trade sub-types Standard, Triparty, RSL, and Pool, with periodic payments (Cash.Frequency not set to ZC), whether customized or not.

When an early termination is processed, a SPECIFIC FIRST date is set equal to the first cashflow end date to keep all past cashflows unchanged. To enable this process, you must add the following values to the "EventTypeActionEventAttributes" domain:

EndStubDate
StartStubDate
StubRule
You can set default values by product type for the following fields: Include Fee, Pay Intervening Flows, FFCP Option, Principal Exchange in the domain ”Termination.<productType>” in the form:
Value = TerminationIncludeFee, TerminationPayIntFlow, TerminationFullFirstCalculationPeriod, or TerminationPrincipalExchange
Comment = Default value: true or false

Example: domain “Termination.FXOption”:

Value = TerminationIncludeFee
Comment = true

As a result, the Include Fee checkbox will be checked by default for FX Options in the Termination window.

Termination of open repos - By default, the callable date is not used in the matching of the canceled transfer (this way, no new transfer is created even if there is a mismatch of the callable date). If you want to use the callable date in the matching of the canceled transfer, you need to add Value = true to the domain "SecFinance.ForceCallableDateXferMatchingOnStartDate".

 

3. Terminating Trades

» You can change the pricing details at the bottom of the window - By default, the pricing environment comes from the User Defaults, and the valuation date is the current date and time.
» Specify search criteria in the Criteria panel as applicable, and click to load the corresponding trades.

Note that only trades that start on or before the value date will be loaded.

Note that only trades that are in the status required for the TERMINATE action will be loaded. For example, if the TERMINATE action can only be applied to trades in VERIFIED status, then only VERIFIED trades will be loaded.

For open term trades, once the trades are loaded, a default termination is applied with the following characteristics: the default termination date is the value date plus the number of notice days.

From the Security Template field, you can select Bond, Equity, Warrant, then click ... and select a corresponding report template. Or you can select SecurityFilter, and click ... to define the security filter.

Security Filter Window

Select security criteria and click Apply. The positions will be re-loaded accordingly.

You can choose Template > Save As Template to save the filter as a Bond Report template. You will be prompted to enter a filter name.

» Select the Action panel, and enter the fields described below as needed.

Check or uncheck the Included checkbox as needed to include / exclude the corresponding trades.

Then click Apply Action to apply the selected action. The action is applied to all "included" trades currently loaded.

» You can click to print the report results.

 

Fields Details

Fields

Description

Termination Trade Date Time

Trade date of the termination - It defaults to the current date - Modify as applicable.

 Ⓘ   [NOTE: You cannot terminate a trade after its end date]

Effective Date

Value date of the termination.

Termination Reason

Select the reason of the termination.

BookTransfer

You will be prompted to select a destination book.

Upon applying the action, the termination fee type is set to PL_TRANSFER.

NotionalIncrease

Enter the % of notional to increase.

When the notional is increased, the original trade is canceled and a new trade is created with the new notional.

Novation

If the reason is Novation, select a transfer role (the party that terminates the trade) and a transferee (the new party).

If the transfer role is CounterParty, the trade with the counterparty is terminated, and a new trade is created between the processing org and the selected transferee. There is no fee by default.

If the transfer role is ProcessingOrg, the trade with the processing organization is terminated, and a new trade is created between the counterparty and the selected transferee. The fee’s payer / receiver is the transferee.

Reset

Only applies to Brazilian Reset Swap trades. After manually terminating the trade, the system creates a termination fee based on mark to market of the existing trade then creates a new trade identical to the first, which can be altered as necessary. The Start Date for the new trade is generated to equal the Reset Date.

Partial

Check the "Partial" checkbox to perform a partial termination as applicable. You will be prompted to enter a termination percentage as shown below.

 Ⓘ   [NOTE: Partial termination is not available if the cashflows have been customized]

Termination Action

Select the termination action.

Include Fee

Check the “Include Fee” checkbox to specify fees, and click Fees in the Fees column to add termination fees to each trade as needed.

» Enter the fee amount and verify the rest of the information.

For CDS Index and CDS Index Tranche trades, the fee amount is automatically calculated.

» You can click  to add more fee rows as needed.

Select a fee type, a fee date, a fee direction, a fee currency, and a fee recipient.

Enter a fee amount.

» Then click Apply.

Pay Intervening Flows

Check the "Pay Intervening Flows" checkbox to calculate the termination fee without including the cashflows between the termination trade date and the termination effective date. Intervening flows will be paid separately from the termination fee. Also, the transfers corresponding to the intervening flows will not be canceled.

Otherwise, the termination fee will include the cashflows between the termination trade date and the termination effective date.

FFCP Option

Full First Calculation Period. Used in the case of partial termination to determine the Xfer Trade Date and Pmt Begin Date on the first cashflow of the new trade.

“FFCP Option” Checked

On the new trade, cashflows accrue from the last applicable Period End Date (usually same as Payment Date) for each party under the old trade; if the first Period End Date has not yet occurred for a party, cashflows accrue from the Effective Date of the old trade. The new Xfer trade date is set to the old trade date.

Example – Partial Termination on 05/23/2007.

Xfer Trade Date and Pmt Begin Date are unchanged on the first cashflow of the new trade.

“FFCP Option” Unchecked

On the new trade, cashflows accrue from the effective termination date.

Example – Partial Termination on 05/23/2007.

Xfer Trade Date and Pmt Begin Date are set to the termination effective date on the first cashflow of the new trade.

Exchange Principal

This only applies when there is a principal exchange on the trade.

If trade keyword TerminationPrincipalExchange = Y, this checkbox appears checked.

Pricer Measure (Fee Calculation) Select the pricer measure used to compute the termination fee.

 

3.1 Action "BOOKTRANSFER"

The trades are changed to status BOOK_TRANSFER and new trades are created on the destination book.

The following trade keywords are populated.

 

3.2 Action "TERMINATE"

You can select additional information.

The trades are changed to status TERMINATED.

When doing a termination on a capitalized trade, the PRINCIPAL transfer takes into account the part of interest that is not capitalized.

For Simple MM and Cash trades, the system also generates an INTEREST flow that computes the interest up to the termination date. Therefore, for B2B trades, the termination fee is not needed anymore – You can uncheck the “Include Fee” checkbox.

All transfers that were already generated with a previous settlement date will be canceled and replaced by a new transfer using the new settlement date according to the transfer workflow.

 Ⓘ   [NOTE: Intervening flows are not canceled if the “Pay Intervening Flows” checkbox is checked - In this case, intervening flows are paid separately (intervening flows are cashflows between the termination trade date and the termination effective date)]

The following trade keywords are populated, depending on the termination reason.

If the trade contains fees for which the fee type is defined in domain "keepUpFrontFeeType", the product's maturity date is set to the maximum value "End Date" of all the fee flows - This maturity date is also set in the FinalMatDate trade keyword (if there are no upfront fees, FinalMatDate = TerminationDate).

The following keywords are also populated in case of novation:

LastNovationTD = Termination Trade Date
LastNovationDate = Termination Effective Date