QuantLib developement

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

QuantLib developement

Theo Boafo
Hi Luigi,
 
I did not get your reply for some reason, so I have subscribed to developers mailing list and
I am resending my previous e-mail.
 
I want to do some further Quantlib development on the following:
 
1) extend the convertible bond engine to include discrete dividends.   I have an idea which involves recursion but which is okay if you have program in a non OO approach, but in Quantlib where its strongly OO it may be a bit tricky but essentially we would need to construct a separate tree for each dividend date work out the call values and compare with early exercise of (adjusted spot by divided -strike) and eventually all these vector of call values become the call values of the previous dividend date which in a way will join the separate trees.  For each of the separate trees you may need to store or apply call or putable features, coupon payments
 
2) extend the convertible bond engine to allow cater for partial recovery of bond
and stock price going to 0 or partial recovery of stock  if there is a default.
 
3) price Mortgage Backed Security.  In the case of the MBS, I am trying to work out
how a hullwhite short rate model can be modelled using Monte Carlo in Quantlib.  Its not
very clear how the dynamics of the short rate process can be passed to Monte Carlo class.
If it was a stock process then fine.
 
 
Regards
 
Theo
Reply | Threaded
Open this post in threaded view
|

RE: QuantLib developement

Toyin Akin
Hi Theo,

I too have not worked out how one can use the interest rate short rate
models within a MonteCarlo
setting.

I'm even looking for how one can use two correlated short rate models.

All,

For the LMM model, there are several nice examples within the test files.

One question regarding the LMM model under the Monte Carlo setting, if one
wanted to price a quanto structure (where the fixings thus need a quanto
adjustment), is it the case that we simply multiply the initial libor rates
by the convexity adjustment ( exp(- FXVol*Vol*Correlation) ) and then
simulate?

Or do we apply this adjustment on the simulated libor rates at the end of
each simulation?

Or do we require another model entirely?

Toy out.

>From: [hidden email]
>To: [hidden email]
>Subject: [Quantlib-dev] QuantLib developement
>Date: Tue, 4 Apr 2006 06:36:15 EDT
>
>
>Hi Luigi,
>
>I did not get your reply for some reason, so I have subscribed to  
>developers
>mailing list and
>I am resending my previous e-mail.
>
>I want to do some further Quantlib development on the following:
>
>1) extend the convertible bond engine to include discrete  dividends.   I
>have an idea which involves recursion but which is  okay if you have
>program in a
>non OO approach, but in Quantlib where its  strongly OO it may be a bit
>tricky but essentially we would need to construct a  separate tree for each
>dividend date work out the call values and compare with  early exercise of
>(adjusted
>spot by divided -strike) and eventually all these  vector of call values
>become the call values of the previous dividend date which  in a way will
>join the
>separate trees.  For each of the separate trees you  may need to store or
>apply call or putable features, coupon payments
>
>2) extend the convertible bond engine to allow cater for partial recovery  
>of
>bond
>and stock price going to 0 or partial recovery of stock  if there is a
>default.
>
>3) price Mortgage Backed Security.  In the case of the MBS, I am  trying to
>work out
>how a hullwhite short rate model can be modelled using Monte Carlo in
>Quantlib.  Its not
>very clear how the dynamics of the short rate process can be passed to  
>Monte
>Carlo class.
>If it was a stock process then fine.
>
>
>Regards
>
>Theo
>




Reply | Threaded
Open this post in threaded view
|

Re: QuantLib developement

Klaus Spanderen
Hi Toy,

I found the following slides on LMM and quanto structures quite good

http://www.christian-fries.de/finmath/PDF/
CrossCurrencyLIBORModels-MarkovFunctionalModel_Koeln2004.pdf

cheers
 Klaus




Reply | Threaded
Open this post in threaded view
|

Re: QuantLib developement

Luigi Ballabio
In reply to this post by Theo Boafo
On 4/4/06, [hidden email] <[hidden email]> wrote:
> Hi Luigi,
>
> I did not get your reply for some reason, so I have subscribed to developers
> mailing list and
> I am resending my previous e-mail.

Yes, the mail I'm sending to your AOL address keep bouncing back. The
developers' list is the preferred place for discussion anyway.



> I want to do some further Quantlib development on the following:
>
> 1) extend the convertible bond engine to include discrete dividends.   I
> have an idea which involves recursion...

It looks kind of computationally intensive. How are discrete dividends
managed in practice and/or literature? Anyone, any references?

> 2) extend the convertible bond engine to allow cater for partial recovery of
> bond
> and stock price going to 0 or partial recovery of stock  if there is a
> default.

Ok.

> 3) price Mortgage Backed Security.  In the case of the MBS, I am trying to
> work out
> how a hullwhite short rate model can be modelled using Monte Carlo in
> Quantlib.  Its not
> very clear how the dynamics of the short rate process can be passed to Monte
> Carlo class.

I'll be committing shortly a contribution I received. It provides
processes based on Hull-White that can be used in a Monte Carlo model.
I'll let you know when they're available.

Later,
    Luigi


Reply | Threaded
Open this post in threaded view
|

Quanto LMM QuantLib developement

Toyin Akin
In reply to this post by Klaus Spanderen
Hi Klaus,

Thanks for the pdf file.

Looks like it's not going to be as easy as I thought.

What would you suggest would be the best method of integration of Quanto
rates into the LMM model given that we already have a BlackScholesProcess
object within quantLib.

Toy out.

>From: Klaus Spanderen <[hidden email]>
>Reply-To: [hidden email]
>To: "Toyin Akin" <[hidden email]>
>CC: [hidden email]
>Subject: Re: [Quantlib-dev] QuantLib developement
>Date: Mon, 10 Apr 2006 08:36:23 +0200
>
>Hi Toy,
>
>I found the following slides on LMM and quanto structures quite good
>
>http://www.christian-fries.de/finmath/PDF/
>CrossCurrencyLIBORModels-MarkovFunctionalModel_Koeln2004.pdf
>
>cheers
>  Klaus
>
>




Reply | Threaded
Open this post in threaded view
|

Re: Quanto LMM QuantLib developement

Klaus Spanderen
Hi Toy,

An interesting solution would be to simulate the multi currency LMM as
proposed by e.g. Fries by using a composite stochastic process consisting of
a Black Scholes process for FX, a plain "home" LMM interest rate and a
foreign LMM interest rate having the "quanto adjustment"...plus a bunch of
new correlations between the three processes (calibrated using historical
correlations?)

cheers
 Klaus

On Tuesday 11 April 2006 1:58 pm, Toyin Akin wrote:

> Hi Klaus,
>
> Thanks for the pdf file.
>
> Looks like it's not going to be as easy as I thought.
>
> What would you suggest would be the best method of integration of Quanto
> rates into the LMM model given that we already have a BlackScholesProcess
> object within quantLib.
>
> Toy out.
>
> From: Klaus Spanderen <[hidden email]>
>
> >Reply-To: [hidden email]
> >To: "Toyin Akin" <[hidden email]>
> >CC: [hidden email]
> >Subject: Re: [Quantlib-dev] QuantLib developement
> >Date: Mon, 10 Apr 2006 08:36:23 +0200
> >
> >Hi Toy,
> >
> >I found the following slides on LMM and quanto structures quite good
> >
> >http://www.christian-fries.de/finmath/PDF/
> >CrossCurrencyLIBORModels-MarkovFunctionalModel_Koeln2004.pdf
> >
> >cheers
> >  Klaus
>
> -------------------------------------------------------
> This SF.Net email is sponsored by xPML, a groundbreaking scripting language
> that extends applications into web and mobile media. Attend the live
> webcast and join the prime developer group breaking into this new coding
> territory!
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
> _______________________________________________
> Quantlib-dev mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-dev



Reply | Threaded
Open this post in threaded view
|

Re: QuantLib developement

Luigi Ballabio
In reply to this post by Luigi Ballabio
On 4/11/06, Luigi Ballabio <[hidden email]> wrote:
> I'll be committing shortly a contribution I received. It provides
> processes based on Hull-White that can be used in a Monte Carlo model.
> I'll let you know when they're available.

Done. There are a few new processes in ql/Processes and a new engine
in ql/PricingEngines/CapFloor that shows how to use them.

Luigi


Reply | Threaded
Open this post in threaded view
|

Re: QuantLib developement

Toyin Akin
Hi Luigi,

Is it possible to derive the G2Process and G2ForwardProcess classes from the
XXX1D base class as you have done with the HullWhite versions?

Toy out.

>From: "Luigi Ballabio" <[hidden email]>
>To: "[hidden email]" <[hidden email]>
>CC: [hidden email],"Toyin Akin"
><[hidden email]>
>Subject: Re: [Quantlib-dev] QuantLib developement
>Date: Fri, 28 Apr 2006 13:11:02 +0200
>
>On 4/11/06, Luigi Ballabio <[hidden email]> wrote:
>>I'll be committing shortly a contribution I received. It provides
>>processes based on Hull-White that can be used in a Monte Carlo model.
>>I'll let you know when they're available.
>
>Done. There are a few new processes in ql/Processes and a new engine
>in ql/PricingEngines/CapFloor that shows how to use them.
>
>Luigi
>
>
>-------------------------------------------------------
>Using Tomcat but need to do more? Need to support web services, security?
>Get stuff done quickly with pre-integrated technology to make your job
>easier
>Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
><a href="http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642">http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
>_______________________________________________
>Quantlib-dev mailing list
>[hidden email]
>https://lists.sourceforge.net/lists/listinfo/quantlib-dev




Reply | Threaded
Open this post in threaded view
|

New process classes and the use within StochasticProcessArray...

Toyin Akin
In reply to this post by Luigi Ballabio
Hi Luigi,

One further question regarding the new process framework...

Let's say one wanted to price a spread option via monte-carlo between 2
differnet indexes so that the payoff is

max( (fixing_Index1 - fixing_Index2) - X, 0.0).

It looks like to me that the two interest rate processes (fixing_Index1 and
fixing_Index2) along with the correlation between the two can be modelled
via the StochasticProcessArray class and thus the spread option priced
correctly via monte-carlo.

I guess you can even simulate the FX between the two (if the indexes
represents rates in different currencies) and have three correlated
processes.

Would you agree that under the new process framework, the set-up I have
presented above is correct and would be priced correctly?

I'm not too sure whether the interest rate processes along with a
correlation matrix is compatible with the StochasticProcessArray class. The
interfaces suggest yes, but will the computed rates from the simulation
account correctly for the correlation?

Toy out.




Reply | Threaded
Open this post in threaded view
|

Re: QuantLib developement

Toyin Akin
In reply to this post by Toyin Akin
Hi,

Sorry, silly request, G2 is a 2-factor model !!

Toy out.


>From: "Toyin Akin" <[hidden email]>
>To: [hidden email], [hidden email]
>CC: [hidden email]
>Subject: Re: [Quantlib-dev] QuantLib developement
>Date: Fri, 28 Apr 2006 15:14:41 +0100
>
>
>Hi Luigi,
>
>Is it possible to derive the G2Process and G2ForwardProcess classes from
>the XXX1D base class as you have done with the HullWhite versions?
>
>Toy out.
>
>>From: "Luigi Ballabio" <[hidden email]>
>>To: "[hidden email]" <[hidden email]>
>>CC: [hidden email],"Toyin Akin"
>><[hidden email]>
>>Subject: Re: [Quantlib-dev] QuantLib developement
>>Date: Fri, 28 Apr 2006 13:11:02 +0200
>>
>>On 4/11/06, Luigi Ballabio <[hidden email]> wrote:
>>>I'll be committing shortly a contribution I received. It provides
>>>processes based on Hull-White that can be used in a Monte Carlo model.
>>>I'll let you know when they're available.
>>
>>Done. There are a few new processes in ql/Processes and a new engine
>>in ql/PricingEngines/CapFloor that shows how to use them.
>>
>>Luigi
>>
>>
>>-------------------------------------------------------
>>Using Tomcat but need to do more? Need to support web services, security?
>>Get stuff done quickly with pre-integrated technology to make your job
>>easier
>>Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
>><a href="http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642">http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
>>_______________________________________________
>>Quantlib-dev mailing list
>>[hidden email]
>>https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>
>
>
>
>-------------------------------------------------------
>Using Tomcat but need to do more? Need to support web services, security?
>Get stuff done quickly with pre-integrated technology to make your job
>easier
>Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
>http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>_______________________________________________
>Quantlib-dev mailing list
>[hidden email]
>https://lists.sourceforge.net/lists/listinfo/quantlib-dev




Reply | Threaded
Open this post in threaded view
|

ConvertibleBond framework

Toyin Akin
In reply to this post by Luigi Ballabio
Hi Theo,

Is the ConvertibleBond framework operating correctly within quantlib?

I seem to remember previous postings suggesting that the implementation was
incorrect.
Is this still the case?

Best Regards,
Toyin Akin.




Reply | Threaded
Open this post in threaded view
|

Re: ConvertibleBond framework

Luigi Ballabio
On 05/11/2006 06:31:51 AM, Toyin Akin wrote:
> Is the ConvertibleBond framework operating correctly within quantlib?

To the best of my knowledge, the released version is correct.

Later,
        Luigi


----------------------------------------

The first rule of intelligent tinkering is to save all the parts.
-- Paul Erlich


Reply | Threaded
Open this post in threaded view
|

Re: ConvertibleBond framework

Theo Boafo
In reply to this post by Toyin Akin
Hi toyin,
 
Luigi can correct me if I am wrong but so far the implementation is correct.
 
The posting you saw was regarding discrete dividends which is not part of the current implementation as what we had in developement was incorrect.
 
I intend to look at the discrete dividends bit.
 
 
Regards
 
Theo
 
Reply | Threaded
Open this post in threaded view
|

RE: Re: ConvertibleBond framework

Toyin Akin
Okay,

Nice work by the way...

Have you had a look at the HullWhite, G2 process classes yet (I know that
the code is currently within the dev CVS)?

I believe that you too were looking for an interest rate montecarlo
framework.

Toy out.

>From: [hidden email]
>To: [hidden email]
>CC: [hidden email], [hidden email]
>Subject: [Quantlib-dev] Re: ConvertibleBond framework
>Date: Thu, 11 May 2006 04:52:18 EDT
>
>Hi toyin,
>
>Luigi can correct me if I am wrong but so far the implementation is  
>correct.
>
>The posting you saw was regarding discrete dividends which is not part of
>the current implementation as what we had in developement was incorrect.
>
>I intend to look at the discrete dividends bit.
>
>
>Regards
>
>Theo
>




Reply | Threaded
Open this post in threaded view
|

Re: Re: ConvertibleBond framework

Theo Boafo
In reply to this post by Toyin Akin
Hi toyin,
 
I have not looked at the interest rate monte carlo work. But I need it for a Mortgage Backed Security pricing engine I am supposed to be working on.
 
 
But I will download latest cvs version and look at it.
 
 
Regards
 
Theo
 
Reply | Threaded
Open this post in threaded view
|

Re: ConvertibleBond framework

Toyin Akin
In reply to this post by Theo Boafo

Hi Theo,

Has the discrete dividends bit within the ConvertibleBond framework been
resolved?

I noticed that you made some changes to this part of the code.

Toy out.


>From: [hidden email]
>To: [hidden email]
>CC: [hidden email], [hidden email]
>Subject: [Quantlib-dev] Re: ConvertibleBond framework
>Date: Thu, 11 May 2006 04:52:18 EDT
>
>Hi toyin,
>
>Luigi can correct me if I am wrong but so far the implementation is  
>correct.
>
>The posting you saw was regarding discrete dividends which is not part of
>the current implementation as what we had in developement was incorrect.
>
>I intend to look at the discrete dividends bit.
>
>
>Regards
>
>Theo
>




Reply | Threaded
Open this post in threaded view
|

Re: ConvertibleBond framework

Theo Boafo
In reply to this post by Toyin Akin
Hi toyin,
 
Yes I have a resolution and  with some code with examples. I am waiting for Luigi to come back from vacation to check the code.  If he's happy with it then it will be comitted to quantlib cvs.
 
Regards
 
Theo
 
Reply | Threaded
Open this post in threaded view
|

Re: ConvertibleBond framework

Toyin Akin

Hi,

Are you saying that the code correction has already been commited to CVS,
but the examples/test have not?

If the code corrections have not been commited what has been commited?

In addition, if the code corrections have not been commited, is it possible
for you to email me your corrections so that I can play with it a bit?

Best Regards,
Toy out.

>From: [hidden email]
>To: [hidden email]
>CC: [hidden email]
>Subject: Re: [Quantlib-dev] ConvertibleBond framework
>Date: Tue, 6 Jun 2006 11:30:59 EDT
>
>Hi toyin,
>
>Yes I have a resolution and  with some code with examples. I am  waiting
>for
>Luigi to come back from vacation to check the code.  If he's  happy with it
>then it will be comitted to quantlib cvs.
>
>Regards
>
>Theo
>




>_______________________________________________
>QuantLib-dev mailing list
>[hidden email]
>https://lists.sourceforge.net/lists/listinfo/quantlib-dev




Reply | Threaded
Open this post in threaded view
|

Re: ConvertibleBond framework

Toyin Akin
In reply to this post by Theo Boafo

Hi,

I've had a quick look at some of the converibleBond code within CVS, it
looks like within the ConvertibleBond::option class, a schedule object is
passed to the constructor and stored, but it is never used within the class
(stored as private and thus inherited classes will also not gain access to
it.)

Toy out.


>From: [hidden email]
>To: [hidden email]
>CC: [hidden email]
>Subject: Re: [Quantlib-dev] Re: ConvertibleBond framework
>Date: Tue, 6 Jun 2006 11:30:59 EDT
>
>Hi toyin,
>
>Yes I have a resolution and  with some code with examples. I am  waiting
>for
>Luigi to come back from vacation to check the code.  If he's  happy with it
>then it will be comitted to quantlib cvs.
>
>Regards
>
>Theo
>




Reply | Threaded
Open this post in threaded view
|

Re: ConvertibleBond framework

Theo Boafo
In reply to this post by Toyin Akin
Hi toyin,
 
The option class was introduced to allow set up of arguments and pass to
pricing engine.  At the time of design I thought the schedule object would be
required.  I think its redundant but we just leave as it is.  Being stored as
private is not an issue as all arguments to be set up to be passed onto pricing
engine are all declared as private and not to be inherited.  The same applies
to all option pricing engines in QuantLib.
 
I will send you source code for latest changes in my next e-mail
 
 
Regards
 
Theo
 
 
12