Swap sensitivity by bumping forward curve points using QuantLibXL

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Swap sensitivity by bumping forward curve points using QuantLibXL

Matteo Castagna
Hi there,
I'm trying to get the sensitivity on several KRD point for a swap
portfolio. In order to do that I generate the yield curve using the
qlPiecewiseYieldCurve function, get the forward curve, bump the relevant
point of the forward curve, generate a new curve that will be used to
re-price the swap. That will be done for each point along the forward
curve and for every swap in the portfolio; with that I'll have the
sensitivity of the portfolio of n swaps (n could be big) depending on
few key points along the curve.
As you can see on the spreadsheet [ed. not able to attach anything: xls
too big, zip rejected] I managed to re-create all the curves and all
these looks nice and pretty much ok. Problem is swap re-pricing: I think
the issue is with the floating leg (this
qlSetEuriborTermStructure(CurveObj) apparently I have to use will stay
the same whatever the curve I'm using to price the swap) but I might be
wrong there.
At the end what is wrong is the fact that bumping the whole forward
curve by 1bp I'm not getting the NPV+BPS I would expect.
It could be a stupid issue but I'm stuck ... any help would be great.
 
thanks. Matteo
 
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://sourceforge.net/mailarchive/forum.php?forum=quantlib-users/attachments/20061213/28f5e30b/attachment.html 

Reply | Threaded
Open this post in threaded view
|

Re: Swap sensitivity by bumping forward curve points using QuantLibXL

eric ehlers
Hi Matteo,

Is your workbook structured such that the dependency of the cell
containing the floating leg on the cells containing the rates is
evident to Excel?  If after bumping the forward curve, you hit
Ctrl-Alt-F9 (force full recacluation) - does the PV change then?

Regards,
Eric

On 12/13/06, Matteo Castagna <[hidden email]> wrote:

> Hi there,
> I'm trying to get the sensitivity on several KRD point for a swap
> portfolio. In order to do that I generate the yield curve using the
> qlPiecewiseYieldCurve function, get the forward curve, bump the relevant
> point of the forward curve, generate a new curve that will be used to
> re-price the swap. That will be done for each point along the forward
> curve and for every swap in the portfolio; with that I'll have the
> sensitivity of the portfolio of n swaps (n could be big) depending on
> few key points along the curve.
> As you can see on the spreadsheet [ed. not able to attach anything: xls
> too big, zip rejected] I managed to re-create all the curves and all
> these looks nice and pretty much ok. Problem is swap re-pricing: I think
> the issue is with the floating leg (this
> qlSetEuriborTermStructure(CurveObj) apparently I have to use will stay
> the same whatever the curve I'm using to price the swap) but I might be
> wrong there.
> At the end what is wrong is the fact that bumping the whole forward
> curve by 1bp I'm not getting the NPV+BPS I would expect.
> It could be a stupid issue but I'm stuck ... any help would be great.
>
> thanks. Matteo
>
>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: http://sourceforge.net/mailarchive/forum.php?forum=quantlib-users/attachments/20061213/28f5e30b/attachment.html
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>