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.
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.
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.
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.
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.