Mode:
Duration:
1
2
3
4
5
6
7
8
start = ql.Date(1,1,2026)
maturity = ql.Date(1,1,2031)
schedule_fixed = ql.Schedule(start, maturity, ql.Period(ql.Annual), ql.TARGET(), ql.Following, ql.Unadjusted, ql.DateGeneration.Backward, False)
schedule_float = ql.Schedule(start, maturity, ql.Period(ql.Semiannual), ql.TARGET(), ql.Following, ql.Unadjusted, ql.DateGeneration.Backward, False)
swap = ql.VanillaSwap(ql.VanillaSwap.Payer, 1000000, schedule_fixed, 0.02, ql.Actual360(), schedule_float, ql.USDLibor(ql.Period(6,ql.Months)), 0.0, ql.Actual360())
engine = ql.DiscountingSwapEngine(yield_curve)
swap.setPricingEngine(engine)
npv = swap.NPV()Coding works best on desktop or with an external keyboard.