FINCAD offers the most transparent solutions in the industry, providing extensive documentation with every product. This is complemented by an extensive library of white papers, articles and case studies.

Total Return Swap

A total return swap is a means of transferring the total economic exposure, including both market and credit risk, of the underlying asset. The payer of a total return swap can confidentially remove all the economic exposure of the asset without having to sell it. The receiver of a total return swap, on the other hand, can access the economic exposure of the asset without having to buy the asset. For example, a bank that keeps a huge book of loans may want to reduce its economic exposure to some of its loans while keeping the relationship with its customers who have the loans. The bank can enter into a total return swap with a counterparty that desires to gain economic exposure to the high yield loan market.

total return swap diagram

For valuing the total return of the reference asset (total return leg) you need to figure out:

  • the interest cash flow of the reference asset up to the terminating date of the total return swap
  • the forward prices at future reset dates and their present values.

FINCAD Analytics Suite's Total Return Swap function names

Currently, within FINCAD Analytics Suite functions exist to price total return swaps on equities, bonds and custom structures.

The functions for total return swaps on equities are aaTRS_eqty and aaTRS_eqty_for. The difference between the 2 functions is that the latter is used to price a TRS on a currency translated or quanto equity.

For bonds total return swap functions follow a specific naming convention in FINCAD Analytics Suite. They are prefixed with the letters aaCredit_TR, and they are suffixed with the letters _p, _PRet, _cf or _par.

  • _p calculates the fair value and risk statistics of the bond's total return over a given time period
  • _PRet calculates the bond's forward price changes and their present values on periodic time periods
  • _cf calculates the bond's cash flows and their present values over a given time period
  • _par calculates the par coupon rate or spread of a total return swap on a bond

After one of the above suffixes there will be an additional suffix to indicate whether the reference asset is priced using a default probability table, a spread over the risk free curve or from price.

  • _prob2 takes a default probability curve of a defaultable bond
  • _sp2 takes the yield spread or price of a defaultable bond

A further classification includes functions which allow the user to value a TRS where the underlying bond does not have a level coupon or notional.

To download the latest trial version of FINCAD Analytics Suite for free, contact a FINCAD Representative.


To price a total return leg of a total return swap, calculate the expected price returns from the reference asset by comparing the forward prices from period to period. These price returns are present valued back to the value date. For the first period, if the value date is past the effective date, then the forward prices are compared to the last reset price.

The actual cash flows (or coupons) are calculated and then present valued back to the value date. By summing the present value of the price returns and the present values of the cashflows we find the value of the total return leg.

To value a total return leg with FINCAD Analytics Suite the function aaCredit_TR_p_prob2 or aaCredit_TR_p_sp2 can be used.

Some of the outputs of the function include fair value clean and dirty, the bond price return, present value of the bond coupons and BPV.

Note: should your total return swap only pay the price returns at maturity, then set the frequency of price reset to 'no reset'.

For more detail one can output both the price returns and the bond cashflows. The price returns can be viewed with the function aaCredit_TR_PRet_prob2 or aaCredit_TR_PRet_sp2. The cashflows can be viewed with aaCredit_TR_cf_prob2 or aaCredit_TR_cf_sp2.

Below is an example spreadsheet using total return swap functions.

spreadsheet using total return swap functions


Your use of the information in this article is at your own risk. The information in this article is provided on an "as is" basis and without any representation, obligation, or warranty from FINCAD of any kind, whether express or implied. We hope that such information will assist you, but it should not be used or relied upon as a substitute for your own independent research.

For more information or a customized demonstration of the software, contact a FINCAD Representative.