processes calibration

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

processes calibration

Sylvain Bertrand
Hi everyone,
 
I was wondering if there was currently a task in progress to implement calibration for the processes?
 
Or is it something that is voluntarily left to the quantlib user?
 
Thanks
 
Sylvain

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: processes calibration

Yee Man Chan


During my email exchange with Klaus Spanderen, he told me he extended the Heston process calibration code to work with other processes. He said the new code works with my GJR-GARCH process. I have never tested it myself however.

Yee Man
--- On Thu, 7/10/08, Sylvain Bertrand <[hidden email]> wrote:

> From: Sylvain Bertrand <[hidden email]>
> Subject: [Quantlib-dev] processes calibration
> To: [hidden email]
> Date: Thursday, July 10, 2008, 10:26 AM
> Hi everyone,
>
> I was wondering if there was currently a task in progress
> to implement
> calibration for the processes?
>
> Or is it something that is voluntarily left to the quantlib
> user?
>
> Thanks
>
> Sylvain-------------------------------------------------------------------------
> Sponsored by: SourceForge.net Community Choice Awards: VOTE
> NOW!
> Studies have shown that voting for your favorite open
> source project,
> along with a healthy diet, reduces your potential for
> chronic lameness
> and boredom. Vote Now at
> http://www.sourceforge.net/community/cca08_______________________________________________
> QuantLib-dev mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-dev


     

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: processes calibration

Sylvain Bertrand
I couldn't find the calibration part in SVN Head's "hestonprocess.cpp".
 
Is it commited yet or did I just look too quickly at the code?
 
Regards,
Sylvain

 
On 7/10/08, Yee Man Chan <[hidden email]> wrote:


During my email exchange with Klaus Spanderen, he told me he extended the Heston process calibration code to work with other processes. He said the new code works with my GJR-GARCH process. I have never tested it myself however.

Yee Man
--- On Thu, 7/10/08, Sylvain Bertrand <[hidden email]> wrote:

> From: Sylvain Bertrand <[hidden email]>
> Subject: [Quantlib-dev] processes calibration
> To: [hidden email]
> Date: Thursday, July 10, 2008, 10:26 AM
> Hi everyone,
>
> I was wondering if there was currently a task in progress
> to implement
> calibration for the processes?
>
> Or is it something that is voluntarily left to the quantlib
> user?
>
> Thanks
>
> Sylvain-------------------------------------------------------------------------
> Sponsored by: SourceForge.net Community Choice Awards: VOTE
> NOW!
> Studies have shown that voting for your favorite open
> source project,
> along with a healthy diet, reduces your potential for
> chronic lameness
> and boredom. Vote Now at
> http://www.sourceforge.net/community/cca08_______________________________________________
> QuantLib-dev mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-dev





-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: processes calibration

Yee Man Chan

I think there is now a new class called EquityModelHelper according to Klaus' email. I think it has something to do with calibration but I never tried it.

Yee Man


PS My email exchange with Klaus
-------------------------------


----- original message --------

Subject: Re: GJR-GARCH pricing engine and QuantLib
Sent: Tue, 22 Apr 2008
From: Yee Man Chan<[hidden email]>

>
> --- Klaus Spanderen <[hidden email]> wrote:
>
> > Hi
> >
> > I've just looked onto the problem and have seen that
> > the HestonModelHelper
> > will also work with the GJRGARCH engine w/o any
> > change (in fact for the next
> > release I'll rename it into EquityModelHelper). The
> > only small change I made
> > was on the GJRGARCH model and I've applied the
> > Heston Dax calibration to the
> > GJR-GARCH model. Please find the new test case
> > enclosed in the attached files
> >
>
> That's great news. I think I can try it out some time.
>
> > Two question remain
> > 1.You set
> > const Real v0 = omega/(1.0-m1)
> > but I guess v0 is a free parameter of the model,
> > right (no constraint needed
> > during the calibration for v0)?
>
> Yeah this is a free parameter that is to be estimated.
> The Duan et al (2006) paper simply set v0 to the
> long-term vol which is omega/(1-m1)
>
> > 2. Are the parameter constraints
> >        arguments_[0] =
> > ConstantParameter(process->omega(),
> >                                        
> > PositiveConstraint());
> >         arguments_[1] =
> > ConstantParameter(process->alpha(),
> >                                        
> > PositiveConstraint());
> >         arguments_[2] =
> > ConstantParameter(process->beta(),
> >                                        
> > PositiveConstraint());
> >         arguments_[3] =
> > ConstantParameter(process->gamma(),
> >                                        
> > BoundaryConstraint(-1.0, 1.0));
> >         arguments_[4] =
> > ConstantParameter(process->lambda(),
> >                                        
> > BoundaryConstraint(-1.0, 1.0));
> >         arguments_[5] =
> > ConstantParameter(process->v0(),
> >                                        
> > PositiveConstraint());
> > plus the Volatility Constraint correct and all we
> > need?
> >
>
> Oops. I think the constraints are not quite right.
> They should be:
>
> omega - > 0
> alpha, beta - >= 0 and < 1
> beta+gamma >= 0 which implies gamma > -1 and < 1
> v0 - > 0
> lambda should have no constraints but my experience is
> that it seems to be between -0.1 to 0.1
>
> You can refer to the GJR (1993) paper for reference.
>
> Regards,
> Yee Man
>
> > cheers
> >  Klaus
> >
> >
> > On Saturday 19 April 2008 23:06:12 you wrote:
> > > Great! So how do I get started implementing the
> > > calibration helper? I think I need to read some
> > > documentation or paper.
> > >
> > > Yee Man
> > >
> > > --- Klaus Spanderen <[hidden email]> wrote:
> > > > Hi Yee Man,
> > > >
> > > > thanks it's in. Makes it easier for dummies like
> > me
> > > > to use the pricing engines
> > > > properly.
> > > >
> > > > cheers
> > > >
> > > > On Friday 18 April 2008 03:22:01 you wrote:
> > > > > Hi Klaus
> > > > >
> > > > >    I added a parameter called daysPerYr_ to
> > > >
> > > > GJRGARCH
> > > >
> > > > > process. I think this solves the daily
> > constant
> > > > > problem. I also updated the relevant files and
> > > >
> > > > added
> > > >
> > > > > comments to tell people to set this new
> > variable.
> > > > >
> > > > >    Please take a look and let me know if it is
> > ok.
> > > > >
> > > > > Regards,
> > > > > Yee Man
> > > > >
> > > > > --- Klaus Spanderen <[hidden email]>
> > wrote:
> > > > > > Hi Yee Man,
> > > > > >
> > > > > > done it's in.
> > >
> > >
> >
> http://quantlib.svn.sourceforge.net/viewvc/quantlib/trunk/QuantLib/
> > >
> > > > > > On Wednesday 16 April 2008 01:54:55 you
> > wrote:
> > > > > > > In the case that you calibrate the model
> > using
> > > >
> > > > the
> > > >
> > > > > > > time series of the underlying, I think you
> > > >
> > > > might
> > > >
> > > > > > want
> > > > > >
> > > > > > > to multiply by 251 (is'nt it 252 as
> > suggested
> > > >
> > > > by
> > > >
> > > > > > the
> > > > > >
> > > > > > > Hull book?)
> > > > > >
> > > > > > Seems that we here in Germany have more
> > holidays
> > > > > > than the rest of the world;-)
> > > > > > Yepp, you are right.
> > > > > >
> > > > > > > instead of 365 as in my code. The problem
> > > > > > > here is that the Duan et al paper I used
> > for
> > > >
> > > > test
> > > >
> > > > > > data
> > > > > >
> > > > > > > assumes 365 trading days. So I suppose
> > maybe
> > > >
> > > > it
> > > >
> > > > > > should
> > > > > >
> > > > > > > be the caller of GJR-GARCH's job to
> > annualize
> > > >
> > > > the
> > > >
> > > > > > > parameters?
> > > > > >
> > > > > > May be we should add some extra comment on
> > this
> > > >
> > > > to
> > > >
> > > > > > the GJRGarchProcess to make
> > > > > > this clear (I as a more "practitioner" would
> > > >
> > > > have
> > > >
> > > > > > expected annualized
> > > > > > parameters, e.g. "my" beta would be 365
> > times
> > > >
> > > > your
> > > >
> > > > > > beta).
> > > > > >
> > > > > > > Do you mean it is very easy to write this
> > > > > > > CalibrationHelper? If so, I think I can do
> > it.
> > > >
> > > > But
> > > >
> > > > > > the
> > > > > >
> > > > > > > problem is I don't know if I can find
> > testing
> > > > > >
> > > > > > data.
> > > > > >
> > > > > >
> > > > > > We need something like the
> > HestonModelHelper.
> > > > > >
> > > > > > Could it be that this model wasn't
> > calibrated to
> > > >
> > > > a
> > > >
> > > > > > real volatility surface at
> > > > > > all in the literatur so far? But the real
> > > >
> > > > problem is
> > > >
> > > > > > the pricing engine and
> > > > > > that you've done already. The rest is not a
> > big
> > > > > > issue. Should we do it
> > > > > > together?
> > > > > >
> > > > > > cheers
> > > > > >  Klaus
> > > > > > --
> > > > > > Klaus Spanderen
> > > > > > Ludwig Erhard Str. 12
> > > > > > 48734 Reken (Germany)
> > > > > > EMail: [hidden email] (remove
> > NOSPAM
> > > >
> > > > from
> > > >
> > > > > > the address)
> > >
> > >
--- On Thu, 7/10/08, Sylvain Bertrand <[hidden email]> wrote:

> From: Sylvain Bertrand <[hidden email]>
> Subject: Re: [Quantlib-dev] processes calibration
> To: [hidden email]
> Cc: [hidden email]
> Date: Thursday, July 10, 2008, 11:06 AM
> I couldn't find the calibration part in SVN Head's
> "hestonprocess.cpp".
>
> Is it commited yet or did I just look too quickly at the
> code?
>
> Regards,
> Sylvain
>
>
> On 7/10/08, Yee Man Chan <[hidden email]> wrote:
> >
> >
> >
> > During my email exchange with Klaus Spanderen, he told
> me he extended the
> > Heston process calibration code to work with other
> processes. He said the
> > new code works with my GJR-GARCH process. I have never
> tested it myself
> > however.
> >
> > Yee Man
> > --- On Thu, 7/10/08, Sylvain Bertrand
> <[hidden email]>
> > wrote:
> >
> > > From: Sylvain Bertrand
> <[hidden email]>
> > > Subject: [Quantlib-dev] processes calibration
> > > To: [hidden email]
> > > Date: Thursday, July 10, 2008, 10:26 AM
> > > Hi everyone,
> > >
> > > I was wondering if there was currently a task in
> progress
> > > to implement
> > > calibration for the processes?
> > >
> > > Or is it something that is voluntarily left to
> the quantlib
> > > user?
> > >
> > > Thanks
> > >
> > >
> >
> Sylvain-------------------------------------------------------------------------
> > > Sponsored by: SourceForge.net Community Choice
> Awards: VOTE
> > > NOW!
> > > Studies have shown that voting for your favorite
> open
> > > source project,
> > > along with a healthy diet, reduces your potential
> for
> > > chronic lameness
> > > and boredom. Vote Now at
> > >
> >
> http://www.sourceforge.net/community/cca08_______________________________________________
> > > QuantLib-dev mailing list
> > > [hidden email]
> > >
> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
> >
> >
> >
> >


     

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: processes calibration

Klaus Spanderen-2
In reply to this post by Sylvain Bertrand
Hi

you need the help of some more classes to calibrate e.g. a Heston process.
Good examples IMO are the testDAXCalibration test case in
test-suite/hestonprocess.cpp and test-suite/gjrgarchmodel.cpp or the
calibration examples for short rate model in examples/BermudanSwaption.cpp.

regards
 Klaus

On Thursday 10 July 2008 20:06:48 Sylvain Bertrand wrote:

> I couldn't find the calibration part in SVN Head's "hestonprocess.cpp".
>
> Is it commited yet or did I just look too quickly at the code?
>
> Regards,
> Sylvain
>
> On 7/10/08, Yee Man Chan <[hidden email]> wrote:
> > During my email exchange with Klaus Spanderen, he told me he extended the
> > Heston process calibration code to work with other processes. He said the
> > new code works with my GJR-GARCH process. I have never tested it myself
> > however.
> >
> > Yee Man
> > --- On Thu, 7/10/08, Sylvain Bertrand <[hidden email]>
> >
> > wrote:
> > > From: Sylvain Bertrand <[hidden email]>
> > > Subject: [Quantlib-dev] processes calibration
> > > To: [hidden email]
> > > Date: Thursday, July 10, 2008, 10:26 AM
> > > Hi everyone,
> > >
> > > I was wondering if there was currently a task in progress
> > > to implement
> > > calibration for the processes?
> > >
> > > Or is it something that is voluntarily left to the quantlib
> > > user?
> > >
> > > Thanks
> >
> > Sylvain------------------------------------------------------------------
> >-------
> >
> > > Sponsored by: SourceForge.net Community Choice Awards: VOTE
> > > NOW!
> > > Studies have shown that voting for your favorite open
> > > source project,
> > > along with a healthy diet, reduces your potential for
> > > chronic lameness
> > > and boredom. Vote Now at
> >
> > http://www.sourceforge.net/community/cca08_______________________________
> >________________
> >
> > > QuantLib-dev mailing list
> > > [hidden email]
> > > https://lists.sourceforge.net/lists/listinfo/quantlib-dev



-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: processes calibration

Sylvain Bertrand
Hi Klaus,
 
My question is actually not "how to calibrate" (I know how to do that) as "would it be beneficial to have a calibrate() method inside the processes"? Maybe with an interface class "Processes"?
 
As an interested practitionner, I would be willing to contribute so I'm trying to find areas for improvement.
 
Please let me know if this makes sense.
 
Regards,
Sylvain
 
On 7/10/08, Klaus Spanderen <[hidden email]> wrote:
Hi

you need the help of some more classes to calibrate e.g. a Heston process.
Good examples IMO are the testDAXCalibration test case in
test-suite/hestonprocess.cpp and test-suite/gjrgarchmodel.cpp or the
calibration examples for short rate model in examples/BermudanSwaption.cpp.

regards
Klaus

On Thursday 10 July 2008 20:06:48 Sylvain Bertrand wrote:
> I couldn't find the calibration part in SVN Head's "hestonprocess.cpp".
>
> Is it commited yet or did I just look too quickly at the code?
>
> Regards,
> Sylvain
>
> On 7/10/08, Yee Man Chan <[hidden email]> wrote:
> > During my email exchange with Klaus Spanderen, he told me he extended the
> > Heston process calibration code to work with other processes. He said the
> > new code works with my GJR-GARCH process. I have never tested it myself
> > however.
> >
> > Yee Man
> > --- On Thu, 7/10/08, Sylvain Bertrand <[hidden email]>
> >
> > wrote:
> > > From: Sylvain Bertrand <[hidden email]>
> > > Subject: [Quantlib-dev] processes calibration
> > > To: [hidden email]
> > > Date: Thursday, July 10, 2008, 10:26 AM
> > > Hi everyone,
> > >
> > > I was wondering if there was currently a task in progress
> > > to implement
> > > calibration for the processes?
> > >
> > > Or is it something that is voluntarily left to the quantlib
> > > user?
> > >
> > > Thanks
> >
> > Sylvain------------------------------------------------------------------
> >-------
> >
> > > Sponsored by: SourceForge.net Community Choice Awards: VOTE
> > > NOW!
> > > Studies have shown that voting for your favorite open
> > > source project,
> > > along with a healthy diet, reduces your potential for
> > > chronic lameness
> > > and boredom. Vote Now at
> >
> > http://www.sourceforge.net/community/cca08_______________________________
> >________________
> >
> > > QuantLib-dev mailing list
> > > [hidden email]
> > > https://lists.sourceforge.net/lists/listinfo/quantlib-dev



-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev


-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev