BermudanSwaption

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

BermudanSwaption

Kjersti Aas
Dear all!

I have tried to use the BermudanSwaption-function in the R-package
RQuantlib to calibrate the parameters of the G++-model using swaptions.  
As far as I have understood, this function builds on the
BermudeanSwaption-function in QuantLib
(http://quantlib.sourcearchive.com/documentation/1.1-1/BermudanSwaption_8cpp_source.html).

My problem is that the R-function gives very strange results, and I am
not sure whether if this is an R-problem or a QuantLib-problem. Hence, I
wonder if anyone has used the BermudeanSwaption-function in QuantLib to
calibrate the parameters of the G++-function with success?

Specifically, I tried to repeat the experiment in Chapter 4.2 in the
Brigo-Mercurio Book.  They use the following maturities, tenors and
swaption volatilities:

swaptionMaturities <- c(1,2,3,4,5,7,10)
swapTenors <- c(1,2,3,4,5,6,7,8,9,10)
volMatrix <-
matrix(c(0.1640,0.1550,0.1430,0.1310,0.1240,0.1190,0.1160,0.1120,0.1100,0.1070,
0.1600,0.1500,0.1390,0.1290,0.1220,0.1190,0.1160,0.1130,0.1100,0.1080,
0.1570,0.1450,0.1340,0.1240,0.1190,0.1150,0.1130,0.1100,0.1080,0.1060,
0.1480,0.1360,0.1260,0.1190,0.1140,0.1120,0.1090,0.1070,0.1050,0.1030,
0.1400,0.1280,0.1210,0.1140,0.1100,0.1070,0.1050,0.1030,0.1020,0.1000,
0.1300,0.1190,0.1130,0.1050,0.1010,0.0990,0.0970,0.0960,0.0950,0.0930,
0.1160,0.1070,0.1000,0.0930,0.0900,0.0890,0.0870,0.0860,0.0850,0.0840),
ncol=10, byrow=TRUE)

and get the following parameters:
a=0.77 b=0.0982, sigma=0.022, eta=0.01 and rho=-0.702

Any help on this issue would be greatly appreciated!

Kind regards,
Kjersti Aas

--
_______________________________________________________________________
Kjersti Aas, Dr. Philos, Assistant Research Director,  http://www.nr.no/~kjersti/
Norsk Regnesentral, P.O.Box 114 Blindern, 0314 Oslo, Norway.
TEL: +47 22 85 25 00,      FAX: +47 22 69 76 60






------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: BermudanSwaption

André de Boer
Hi Kjersti,

A interest rate curve (swap) is also needed for the G2++ calibration.

Regards,
André


2016-03-03 8:55 GMT+01:00 Kjersti Aas <[hidden email]>:

> Dear all!
>
> I have tried to use the BermudanSwaption-function in the R-package
> RQuantlib to calibrate the parameters of the G++-model using swaptions.
> As far as I have understood, this function builds on the
> BermudeanSwaption-function in QuantLib
> (http://quantlib.sourcearchive.com/documentation/1.1-1/BermudanSwaption_8cpp_source.html).
>
> My problem is that the R-function gives very strange results, and I am
> not sure whether if this is an R-problem or a QuantLib-problem. Hence, I
> wonder if anyone has used the BermudeanSwaption-function in QuantLib to
> calibrate the parameters of the G++-function with success?
>
> Specifically, I tried to repeat the experiment in Chapter 4.2 in the
> Brigo-Mercurio Book.  They use the following maturities, tenors and
> swaption volatilities:
>
> swaptionMaturities <- c(1,2,3,4,5,7,10)
> swapTenors <- c(1,2,3,4,5,6,7,8,9,10)
> volMatrix <-
> matrix(c(0.1640,0.1550,0.1430,0.1310,0.1240,0.1190,0.1160,0.1120,0.1100,0.1070,
> 0.1600,0.1500,0.1390,0.1290,0.1220,0.1190,0.1160,0.1130,0.1100,0.1080,
> 0.1570,0.1450,0.1340,0.1240,0.1190,0.1150,0.1130,0.1100,0.1080,0.1060,
> 0.1480,0.1360,0.1260,0.1190,0.1140,0.1120,0.1090,0.1070,0.1050,0.1030,
> 0.1400,0.1280,0.1210,0.1140,0.1100,0.1070,0.1050,0.1030,0.1020,0.1000,
> 0.1300,0.1190,0.1130,0.1050,0.1010,0.0990,0.0970,0.0960,0.0950,0.0930,
> 0.1160,0.1070,0.1000,0.0930,0.0900,0.0890,0.0870,0.0860,0.0850,0.0840),
> ncol=10, byrow=TRUE)
>
> and get the following parameters:
> a=0.77 b=0.0982, sigma=0.022, eta=0.01 and rho=-0.702
>
> Any help on this issue would be greatly appreciated!
>
> Kind regards,
> Kjersti Aas
>
> --
> _______________________________________________________________________
> Kjersti Aas, Dr. Philos, Assistant Research Director,  http://www.nr.no/~kjersti/
> Norsk Regnesentral, P.O.Box 114 Blindern, 0314 Oslo, Norway.
> TEL: +47 22 85 25 00,      FAX: +47 22 69 76 60
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: BermudanSwaption

Luigi Ballabio
Hello Kjersti,
    I suspect that the problem is in the optimizer used for the calibration.  I'm not sure which one is used in RQuantLib, but the ones we have in the library all seem to fail in different ways to find the same minimum reported in the book. The calibration over 70 points is a difficult one, and they probably get stuck in some local minimum.

I'm not sure what you can do about it. One possibility, since I'm sure you have better optimizers available in R than we have in QuantLib, might be to write a function in R that takes the model parameters, creates a G2++ model, reprices the swaptions and returns the errors. Then you could pass it to the R optimizers and see what happens.

Hope this helps,
    Luigi



On Fri, Mar 4, 2016 at 4:46 PM André de Boer <[hidden email]> wrote:
Hi Kjersti,

A interest rate curve (swap) is also needed for the G2++ calibration.

Regards,
André


2016-03-03 8:55 GMT+01:00 Kjersti Aas <[hidden email]>:
> Dear all!
>
> I have tried to use the BermudanSwaption-function in the R-package
> RQuantlib to calibrate the parameters of the G++-model using swaptions.
> As far as I have understood, this function builds on the
> BermudeanSwaption-function in QuantLib
> (http://quantlib.sourcearchive.com/documentation/1.1-1/BermudanSwaption_8cpp_source.html).
>
> My problem is that the R-function gives very strange results, and I am
> not sure whether if this is an R-problem or a QuantLib-problem. Hence, I
> wonder if anyone has used the BermudeanSwaption-function in QuantLib to
> calibrate the parameters of the G++-function with success?
>
> Specifically, I tried to repeat the experiment in Chapter 4.2 in the
> Brigo-Mercurio Book.  They use the following maturities, tenors and
> swaption volatilities:
>
> swaptionMaturities <- c(1,2,3,4,5,7,10)
> swapTenors <- c(1,2,3,4,5,6,7,8,9,10)
> volMatrix <-
> matrix(c(0.1640,0.1550,0.1430,0.1310,0.1240,0.1190,0.1160,0.1120,0.1100,0.1070,
> 0.1600,0.1500,0.1390,0.1290,0.1220,0.1190,0.1160,0.1130,0.1100,0.1080,
> 0.1570,0.1450,0.1340,0.1240,0.1190,0.1150,0.1130,0.1100,0.1080,0.1060,
> 0.1480,0.1360,0.1260,0.1190,0.1140,0.1120,0.1090,0.1070,0.1050,0.1030,
> 0.1400,0.1280,0.1210,0.1140,0.1100,0.1070,0.1050,0.1030,0.1020,0.1000,
> 0.1300,0.1190,0.1130,0.1050,0.1010,0.0990,0.0970,0.0960,0.0950,0.0930,
> 0.1160,0.1070,0.1000,0.0930,0.0900,0.0890,0.0870,0.0860,0.0850,0.0840),
> ncol=10, byrow=TRUE)
>
> and get the following parameters:
> a=0.77 b=0.0982, sigma=0.022, eta=0.01 and rho=-0.702
>
> Any help on this issue would be greatly appreciated!
>
> Kind regards,
> Kjersti Aas
>
> --
> _______________________________________________________________________
> Kjersti Aas, Dr. Philos, Assistant Research Director,  http://www.nr.no/~kjersti/
> Norsk Regnesentral, P.O.Box 114 Blindern, 0314 Oslo, Norway.
> TEL: +47 22 85 25 00,      FAX: +47 22 69 76 60
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users