Can CRR model valuate options on stocks with discrete dividend schedule?

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

Can CRR model valuate options on stocks with discrete dividend schedule?

Bai, Yun
Following examples\EquityOption\EquityOption.cpp, I tried to value an
american option on underly that has discrete dividend schedule by simply
changing the EuropeanOption to DividendVanillaOption:

 

DividendVanillaOption(stochProcess, payoff, exercise, dividendDates,
dividendAmount, engine)

 

Where

stochProcess is Black ScholesMertonProcess, engine is CoxRossRubinstern,
payoff is standard american payoff, div amount and dates are preset
vectors:

 

      boost::shared_ptr<PricingEngine> engine(

            new BinomialVanillaEngine<CoxRossRubinstein>(timesteps)

                  );

 

      boost::shared_ptr<StochasticProcess> stochProcess(new

 
BlackScholesMertonProcess(Handle<Quote>(spot),

 
Handle<YieldTermStructure>(qTS),

 
Handle<YieldTermStructure>(rTS),

 
Handle<BlackVolTermStructure>(volTS))

 
);

 

    boost::shared_ptr<StrikedTypePayoff> payoff(new
PlainVanillaPayoff(call_or_put, K));

      Date settlementDate = today; // assume this option is exercisable
from today.

      boost::shared_ptr<Exercise> exercise( new
AmericanExercise(settlementDate, maturity));

 

 

 

However during runtime, exceptions pops up from
DividendVanillaOption::setupArguments, telling me "wrong engine type".
Can someone tell me whether DividendVanillaOption can be used along with
CRR model binomial engine?

 

Thank you

Yun

 

-------------- next part --------------
An HTML attachment was scrubbed...
-------------------------------------------------------------------------
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-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Can CRR model valuate options on stocks with discrete dividend schedule?

Luigi Ballabio
On Thu, 2007-02-08 at 23:00 -0600, Bai, Yun wrote:
> Following examples\EquityOption\EquityOption.cpp, I tried to value an
> american option on underly that has discrete dividend schedule by simply
> changing the EuropeanOption to DividendVanillaOption:

> However during runtime, exceptions pops up from
> DividendVanillaOption::setupArguments, telling me "wrong engine type".
> Can someone tell me whether DividendVanillaOption can be used along with
> CRR model binomial engine?

Yun,
        no, unfortunately it can't. The CRR engine (or any binomial-tree
engine) cannot yet manage discrete dividends. Would you be willing to
contribute a patch?

Later,
        Luigi


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

Everything that can be invented has been invented.
-- Charles Duell, Director of U.S. Patent Office, 1899



-------------------------------------------------------------------------
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-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Can CRR model valuate options on stocks with discrete dividend schedule?

Pedro Romano-2
Luigi, Yun,

   I also need CRR binomial-tree engine with discrete dividends and will
be implementing this functionality in the short term. Any chance of
cooperation on this Yun?

   Luigi: since I am still not familiar with the code do you have any
tips on how to go about implementing this? Any other code already
implemented I can base it on? Thanks.

Best regards,
--Pedro.

Luigi Ballabio wrote:

> On Thu, 2007-02-08 at 23:00 -0600, Bai, Yun wrote:
>> Following examples\EquityOption\EquityOption.cpp, I tried to value an
>> american option on underly that has discrete dividend schedule by simply
>> changing the EuropeanOption to DividendVanillaOption:
>
>> However during runtime, exceptions pops up from
>> DividendVanillaOption::setupArguments, telling me "wrong engine type".
>> Can someone tell me whether DividendVanillaOption can be used along with
>> CRR model binomial engine?
>
> Yun,
> no, unfortunately it can't. The CRR engine (or any binomial-tree
> engine) cannot yet manage discrete dividends. Would you be willing to
> contribute a patch?
>
> Later,
> Luigi
>
>
> ----------------------------------------
>
> Everything that can be invented has been invented.
> -- Charles Duell, Director of U.S. Patent Office, 1899
>
>
>
> -------------------------------------------------------------------------
> 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


-------------------------------------------------------------------------
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-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Can CRR model valuate options on stocks with discrete dividend schedule?

Bai, Yun
It will be great to work on it together. I have worked with Mike and
come close to an implementation.

Following known dollar dividend model, chp 18.3 of Hull's 5th edition,
we tried two designs. Please feel free to advice on our methodolody and
understanding of QuantLib's framework.

A simple way to to implement discrete dividend for Tree models is to
separate underlying process into two parts:
- An modified smooth process similar to input process, stripped of pv of
future divdends.
- A scheduled dividendcash flow.

During backward induction of option value, we will need the following
information to come up with intrinsic and hence option value at each
node.
- Value of option on previous level of nodes.
- Underlying value from modified smooth process.
- Dividend schedule

Design option 1: Have a payoff object that encloses all logic of
dividend adjustment while leaving the dividend stripped underly diffuse
with BinomialVanillaEngine. This sounds the simplest solution. However,
this requires extending payoff interface to provide T on top of S, which
requires more changes to the framework.

Design option 2: create discretizedvanilaoption and
binomialdividenvanilaengine, to mirror discretizedoption and
binomialengine pair.

Following option 2, we are getting close to an implementation.
However, option2 requires duplication of much of binomialengine code, to
circumvent restriction of vanilaoption's argument type in
binomialvanilaengine template.

Please advice on how would you implement this feature without
duplication of code.

Thanks
-Yun



-----Original Message-----
From: Pedro Romano [mailto:[hidden email]]
Sent: Saturday, February 10, 2007 10:05 AM
To: Luigi Ballabio; Bai, Yun
Cc: [hidden email]
Subject: Re: Can CRR model valuate options on stocks with discrete
dividend schedule?

Luigi, Yun,

   I also need CRR binomial-tree engine with discrete dividends and will

be implementing this functionality in the short term. Any chance of
cooperation on this Yun?

   Luigi: since I am still not familiar with the code do you have any
tips on how to go about implementing this? Any other code already
implemented I can base it on? Thanks.

Best regards,
--Pedro.

Luigi Ballabio wrote:
> On Thu, 2007-02-08 at 23:00 -0600, Bai, Yun wrote:
>> Following examples\EquityOption\EquityOption.cpp, I tried to value an
>> american option on underly that has discrete dividend schedule by
simply
>> changing the EuropeanOption to DividendVanillaOption:
>
>> However during runtime, exceptions pops up from
>> DividendVanillaOption::setupArguments, telling me "wrong engine
type".
>> Can someone tell me whether DividendVanillaOption can be used along
with

>> CRR model binomial engine?
>
> Yun,
> no, unfortunately it can't. The CRR engine (or any binomial-tree
> engine) cannot yet manage discrete dividends. Would you be willing to
> contribute a patch?
>
> Later,
> Luigi
>
>
> ----------------------------------------
>
> Everything that can be invented has been invented.
> -- Charles Duell, Director of U.S. Patent Office, 1899
>
>
>
>
------------------------------------------------------------------------
-
> 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


-------------------------------------------------------------------------
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-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users