article
Valuing Asset Swaps and Asset Swap Spreads
October 26, 2014

What is an asset swap?

An asset swap is a combination of a defaultable bond with a fixed for floating interest rate swap. The bond coupon is swapped into a floating rate based on LIBOR plus a spread. Asset swaps are used to fulfill a variety of goals but are generally undertaken to transform the character of an investor's asset. For example, a bank may use an asset swap to convert long term fixed rate assets to floating rate assets to match their depositor accounts, which represent short-term liabilities.

What is the asset swap spread?

One of the most important statistics in an asset swap is the par (gross) spread, also called the asset swap spread. This is the spread over LIBOR that the fixed rate (bond coupon payer) receives. This spread consists of two parts: one is from the difference between the bond coupon and the par swap rate; the other is from the difference between the bond price and its par value. For the first part, one needs to calculate the total present value of the cash flows that results from the difference of the bond coupon and the par swap rate, paid at the fixed leg frequency. For each part, one can easily back out the corresponding spread over the floating discount factor curve. The par (gross) spread is simply the sum of these two spreads.

Using FINCAD Analytics Suite to value an asset swap

FINCAD has the following functions to value an asset swap:

aaAssetSwap_p - calculates fair value and other statistics of a single currency or cross currency asset swap on a bond.

aaAssetSwap_cf - calculates cash flows and their present values of a single currency or cross currency asset swap on a bond.

aaAssetSwap_settle - calculates par (gross) spread, settlement amount and other statistics of a single currency or cross currency asset swap on a bond.

aaAssetSwap_bond_ip - calculates the implied bond price given the par (gross) spread for a single currency or cross currency asset swap on a bond.

These functions may be accessed via the FINCAD Analytics Suite menu > Workbooks > Credit Derivatives > Asset Swaps. The user may then select the function on the right hand side of the function finder.

Below is FINCAD Analytics Suite's Function Finder.

FINCAD Analytics Suite's Function Finder

Users may also be interested in the Asset Swap (Cross-Currency) workbook. This may be accessed via FINCAD Analytics Suite > Workbooks (user data) > Credit Derivatives (other) > Asset Swap (Cross-Currency) workbook.

Below is FINCAD Analytics Suite's workbook.

FINCAD Analytics Suite's workbook

The Asset Swap functions use some or all of the following inputs:

d_v valuation date
swp_str swap type - a switch. 1 = pay floating and receive fixed, 2 = pay fixed and receive floating
FX_spot spot FX rate, in units of pay leg currency per one unit of receive leg currency
princ_exchg type of principal exchange - a switch. 1 = no exchange of principal at maturity, 2 = exchange principal at maturity
bond_14 a bond data table. See the Function References and function aaBond3_p for details
bond_pricing type of bond pricing, a switch. 1 = bond spot price, 2 = bond yield used to calculate the bond value, 3 = a risky discount factor curve used to calculate the bond value
pricing_data data of bond pricing. If bond_pricing =1, it is a bond price; else if bond_pricing =2, it is the yield of the bond; otherwise, it is a discount factor curve
d_tbl swap dates table. A six-entry table (maturity date, effective date, first coupon date of fixed leg after effective date, next to last coupon date of fixed leg, first coupon date of the floating leg after effective date, next to last coupon date). The effective date is the date that the coupons of the fixed and floating legs start to accrue. Only the first two entries are required.
freq_fix frequency of the fixed leg payments, a switch
freq_pay_reset frequency of the floating leg payments and reset dates, a switch
gross_mgn the spread on the floating leg, sometimes called a gross spread
r_mktdays the number of business days prior to the reset date that the floating reset rate is fixed
r_table fixed reset rate table. This table can have different formats. See note 241 in the Function References for details.
accs_swap The accrual methods table. If the two legs have the same accrual method, only a one-entry table is needed. Otherwise, a two-entry table is required where the first entry is the accrual method of the fixed leg and the second entry is the accrual method of the floating leg.
drules The business day convention table. Its format is similar to the table accs_swap
df_disc_fit discount factor curve of the floating leg - for discounting
df_acc discount factor curve of the floating leg - for accruing
df_disc_fix discount factor curve of the fixed leg
intrp interpolation method of the discount factor curves
hl_fix holidays of the fixed leg
hl_fit holidays of the floating leg
output_type output type, a switch with 8 values. The output results can be of four types: swap results, fixed leg results, floating leg results and all of the above. Each type can be in units of either pay leg currency or receive leg currency.
stat statistics to calculate
trade_part trade party. It is a switch: 1 = the asset swap package dealer. In this case, only the total settlement amount for the asset swap package dealer is calculated. See the Description of Outputs in this document for details
settle_m Method of settlement, a switch: 1 = settled with the bond price and accrued interests of the fixed and floating legs

FINCAD Asset Swap

We will view the result of the function aaAssetswap_settle and will focus on the gross spread and its two components, the spread from the difference between bond price and par and the spread from the bond coupon and the par swap rate.

In the FINCAD function output, the gross spread/asset swap spread is called the par gross spread, the difference between bond price and par is the spread from notional adjustment, and the difference between the bond coupon and the par swap rate is the spread from par swap adjustment.

The aaAssetswap_settle function requires the underlying bond details as well as the swap details.

Below is an example spreadsheet using aaAssetswap_settle in FINCAD Analytics Suite.

Spreadsheet using aaAssetswap_settle in FINCAD Analytics Suite

Once the appropriate inputs are keyed into the function, we are then able to obtain results that match Bloomberg Finance LP*.

FINCAD Bloomberg Finance LP
par gross spread 432.1 par gross spread 432.1
spread from notional adjustment -54.3 spread from notional adjustment -54.3
spread from par swap adjustment 486.4 spread from par swap adjustment 486.4

Implied bond price given par gross spread - (gross margins)

FINCAD Analytics Suite is also able to calculate the implied bond price given the asset swap spread with the function aaAssetswap_bond_ip.

Below is an example spreadsheet using aaAssetswap_bond_ip in FINCAD Analytics Suite.

Spreadsheet using aaAssetswap_bond_ip in FINCAD Analytics Suite

The function takes in the bond and swap details as well as the gross margin. The gross margin input is the par gross spread/asset swap spread. In our first example, we were able to obtain a par gross spread of 4.321% given a bond price of 103.75.

In this second example, given a par gross spread input of 4.321%, we are able to back out the implied bond price of 103.75.

Disclaimer

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 latest version of FINCAD Analytics Suite, contact a FINCAD Representative.


* Bloomberg is a trademark of Bloomberg Finance LP. FINCAD is not associated in any way with Bloomberg Finance LP.