amortizing interest rate swap valuation example quantib python

Example of valuation of amortizing interest rate swap in Python with quantlib module

for quantlib excel version see Amortizing interest rate swap valuation excel quantlib addin
First , Install QuantLib package for python (use guide here )
to run the program just copy paste it into iPython editor and press enter

#example amortizing swap valuation 
#http://www.pricederivatives.com
from  QuantLib import *
import numpy as np
from math import *

todaysDate=Date(31,12,2013)
startDate=todaysDate
Settings.instance().evaluationDate=todaysDate;
crvToday=FlatForward(todaysDate,0.0121,Actual360())
forecastTermStructure = RelinkableYieldTermStructureHandle()
index = Euribor(Period("6m"),forecastTermStructure)
maturity = Date(31,12,2018);
schedule = Schedule(startDate, maturity,Period("6m"),TARGET(),ModifiedFollowing,ModifiedFollowing,DateGeneration.Forward, False)
nominals=[100.0]*10
couponRates=[0.05]*10
floatingleg=IborLeg(nominals,schedule,index,Actual360())
fixedleg=FixedRateLeg(schedule,Actual360(),nominals,couponRates)
firstPeriodDayCount = DayCounter())
index.addFixing(index.fixingDate(schedule[0]),0)
swap1=Swap(floatingleg,fixedleg)
discountTermStructure = RelinkableYieldTermStructureHandle()
swapEngine = DiscountingSwapEngine(discountTermStructure)
swap1.setPricingEngine(swapEngine)
discountTermStructure.linkTo(crvToday)
forecastTermStructure.linkTo(crvToday)
npv=swap1.NPV()
print npv
Posted in quantlib Tagged with: ,