Interest Rate Swap-Derivative Pricing in Python

Follow us on LinkedIn

In a previous post, we presented an example of Interest Rate Swap Pricing in Excel. In this post, we are going to provide an example of interest rate swap pricing in Python. We are going to use the USD Libor swap curve as at December 31 2018. Picture below shows the swap curve.

Interest Rate Swap-Derivative Pricing in Python

USD Swap Curve as at Dec 31, 2018. Source: Bloomberg

Recall that an interest rate swap (IRS) is a financial derivative instrument that involves an exchange of a fixed interest rate for a floating interest rate.  More specifically,

An interest rate swap’s (IRS’s) effective description is a derivative contract, agreed between two counterparties, which specifies the nature of an exchange of payments benchmarked against an interest rate index. The most common IRS is a fixed for floating swap, whereby one party will make payments to the other based on an initially agreed fixed rate of interest, to receive back payments based on a floating interest rate index. Each of these series of payments is termed a ‘leg’, so a typical IRS has both a fixed and a floating leg. The floating index is commonly an interbank offered rate (IBOR) of specific tenor in the appropriate currency of the IRS, for example LIBOR in USD, GBP, EURIBOR in EUR or STIBOR in SEK. To completely determine any IRS a number of parameters must be specified for each leg; the notional principal amount (or varying notional schedule), the start and end dates and date scheduling, the fixed rate, the chosen floating interest rate index tenor, and day count conventions for interest calculations. Read more

The valuation of an interest rate swap proceeds as follows,

  1. Construction of the zero-coupon curve
  2. Determination of the payment schedules
  3. Calculation of the net present value of future cash flows

The hypothetical interest rate swap is as follows,

Maturity: 10 years

Notional: 10 Million USD

Fixed rate: 2.5%

Floating rate:  Libor

Note that we utilize the deposit and swap rates only and ignore the futures prices in the bootstrapping process. The values of the fixed, floating legs and the interest rate swap are calculated using a Python program. We obtain the following result

Interest Rate Swap-Derivative Valuation in Python

Further questions

What's your question? Ask it in the discussion forum

Have an answer to the questions below? Post it here or in the forum

LATEST NEWSCanadians showing more support for striking workers amid inflation, corporate profits
Canadians showing more support for striking workers amid inflation, corporate profits

It was Samantha Henry’s first time on strike, and one that made headlines across the country. “Some people thought the strike would only last a week, a couple of days. And we went into almost five weeks,” said Henry, one of some 3,700 Metro employees…

Stay up-to-date with the latest news - click here
LATEST NEWSInflation likely gained pace in August, economists expect, reversing progress
Inflation likely gained pace in August, economists expect, reversing progress

OTTAWA — Economists are forecasting inflation reaccelerated to around four per cent last month, reversing previous progress made as gasoline prices push inflation higher. Statistics Canada’s August consumer price index report set to be released Tuesday is expected to show the annual inflation rate rose…

Stay up-to-date with the latest news - click here
LATEST NEWSUS national security adviser meets with Chinese foreign minister
US national security adviser meets with Chinese foreign minister
Stay up-to-date with the latest news - click here
LATEST NEWSShiba Inu (SHIB) Profitability Is Finally Back at Double-Digit Level
Shiba Inu (SHIB) Profitability Is Finally Back at Double-Digit Level
Stay up-to-date with the latest news - click here
LATEST NEWSA Fed decision, FedEx earnings and the UAW strike: What to know this week
A Fed decision, FedEx earnings and the UAW strike: What to know this week
Stay up-to-date with the latest news - click here

5 Comments

Leave a Reply