newbie question on using MC to value autocall with asian option feature

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

newbie question on using MC to value autocall with asian option feature

archlight
Hi all, 

    I am newbie to quantlib. I am learning it by valuing some of product valuing at our department. I have one equity index derivative with Bermudan, autocall and asianoption feature embedded. something like

   three kock-out determination day
   K1, K2, K3
   at each knock-out date, payoff is if (average(previous ten days underlying price)>index, Notional*func(Ki)) where i=1, 2, 3

   I tried to pass Bermudan exercise to DiscreteAveragingAsianOption but it seems wrong type. I am using Longstaff Schwartz to achieve it. but i am not sure how to collect previous ten days result into payoff class. 

   what is your suggestion!

archlight
Regards


------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: newbie question on using MC to value autocall with asian option feature

archlight
based on my study, I am thinking to extend Longstaff Schwartz MC to have pricer with asian option feature. meanwhile it can price Bermudan option.

can someone enlighten me on this. I am total newbie in quantlib

archlight


archlight wrote
Hi all,

    I am newbie to quantlib. I am learning it by valuing some of product
valuing at our department. I have one equity index derivative with Bermudan,
autocall and asianoption feature embedded. something like

   three kock-out determination day
   K1, K2, K3
   at each knock-out date, payoff is if (average(previous ten days
underlying price)>index, Notional*func(Ki)) where i=1, 2, 3

   I tried to pass Bermudan exercise to DiscreteAveragingAsianOption but it
seems wrong type. I am using Longstaff Schwartz to achieve it. but i am not
sure how to collect previous ten days result into payoff class.

   what is your suggestion!

archlight
Regards

------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
QuantLib-users mailing list
QuantLib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: newbie question on using MC to value autocall with asian option feature

Klaus Spanderen-2
Hi

IMHO I think you have to implement a new AsianAutoCallablePathPricer which is
derived from EarlyExercisePathPricer<Path>. The operator() of this pricer
should perform the averaging over the previous ten days and implement the
autocallable feature. The Bermudan feature, is it a issuer calll right or an
investor call right?

>From the model point of view pricing this sturtures is a challange. I've seen
people using hybrid stoch vol equity + Hull White interest rate processes to
price this products. Simple local vol + deterministic interest rates can lead
to "wrong" prices.

regards
 Klaus

On Tuesday 25 January 2011 04:21:21 archlight wrote:

> based on my study, I am thinking to extend Longstaff Schwartz MC to have
> pricer with asian option feature. meanwhile it can price Bermudan option.
>
> can someone enlighten me on this. I am total newbie in quantlib
>
> archlight
>
> archlight wrote:
> > Hi all,
> >
> >     I am newbie to quantlib. I am learning it by valuing some of product
> > valuing at our department. I have one equity index derivative with
> > Bermudan,
> > autocall and asianoption feature embedded. something like
> >
> >    three kock-out determination day
> >    K1, K2, K3
> >    at each knock-out date, payoff is if (average(previous ten days
> > underlying price)>index, Notional*func(Ki)) where i=1, 2, 3
> >
> >    I tried to pass Bermudan exercise to DiscreteAveragingAsianOption but
> > it
> > seems wrong type. I am using Longstaff Schwartz to achieve it. but i am
> > not
> > sure how to collect previous ten days result into payoff class.
> >
> >    what is your suggestion!
> >
> > archlight
> > Regards
> >
> > -------------------------------------------------------------------------
> >----- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
> > Finally, a world-class log management solution at an even better
> > price-free!
> > Download using promo code Free_Logger_4_Dev2Dev. Offer expires
> > February 28th, so secure your free ArcSight Logger TODAY!
> > http://p.sf.net/sfu/arcsight-sfd2d
> > _______________________________________________
> > QuantLib-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/quantlib-users



------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: newbie question on using MC to value autocall with asian option feature

archlight
Thanks a lot, Klaus. basically i use AmericanPathPricer as template to modify into autocallpathpricer. I changed only operater() part as below

-------------------------------------------------------------------------------------------------
  Real AutoCallPathPricer::operator()(const Path& path, Size t) const {
               
                Real sum = 0;

                for(int i=0; i<10;i++)
                        sum+=state(path, t-i);

        return payoff(sum/10);
    }
-------------------------------------------------------------------------------------------------

How do I assign this to particular engine. do I need to write a new engine to make path pricer assignment inside calculate() method. is there something like engine.setPathPricer() to decouple pricer design from engine design

archlight
Regards

Klaus Spanderen-2 wrote
Hi

IMHO I think you have to implement a new AsianAutoCallablePathPricer which is
derived from EarlyExercisePathPricer<Path>. The operator() of this pricer
should perform the averaging over the previous ten days and implement the
autocallable feature. The Bermudan feature, is it a issuer calll right or an
investor call right?

>From the model point of view pricing this sturtures is a challange. I've seen
people using hybrid stoch vol equity + Hull White interest rate processes to
price this products. Simple local vol + deterministic interest rates can lead
to "wrong" prices.

regards
 Klaus

On Tuesday 25 January 2011 04:21:21 archlight wrote:
> based on my study, I am thinking to extend Longstaff Schwartz MC to have
> pricer with asian option feature. meanwhile it can price Bermudan option.
>
> can someone enlighten me on this. I am total newbie in quantlib
>
> archlight
>
> archlight wrote:
> > Hi all,
> >
> >     I am newbie to quantlib. I am learning it by valuing some of product
> > valuing at our department. I have one equity index derivative with
> > Bermudan,
> > autocall and asianoption feature embedded. something like
> >
> >    three kock-out determination day
> >    K1, K2, K3
> >    at each knock-out date, payoff is if (average(previous ten days
> > underlying price)>index, Notional*func(Ki)) where i=1, 2, 3
> >
> >    I tried to pass Bermudan exercise to DiscreteAveragingAsianOption but
> > it
> > seems wrong type. I am using Longstaff Schwartz to achieve it. but i am
> > not
> > sure how to collect previous ten days result into payoff class.
> >
> >    what is your suggestion!
> >
> > archlight
> > Regards
> >
> > -------------------------------------------------------------------------
> >----- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
> > Finally, a world-class log management solution at an even better
> > price-free!
> > Download using promo code Free_Logger_4_Dev2Dev. Offer expires
> > February 28th, so secure your free ArcSight Logger TODAY!
> > http://p.sf.net/sfu/arcsight-sfd2d
> > _______________________________________________
> > QuantLib-users mailing list
> > QuantLib-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/quantlib-users



------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
QuantLib-users mailing list
QuantLib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: newbie question on using MC to value autocall with asian option feature

Klaus Spanderen-2
Hi

you need to set-up a new pricing egine that is derived from
MCLongstaffSchwartzEngine (see e.g. mcamericanengine.hpp, forget about the
control variate stuff for the moment).

regards
 Klaus
On Wednesday 26 January 2011 12:26:49 archlight wrote:

> Thanks a lot, Klaus. basically i use AmericanPathPricer as template to
> modify into autocallpathpricer. I changed only operater() part as below
>
> ---------------------------------------------------------------------------
>---------------------- Real AutoCallPathPricer::operator()(const Path& path,
> Size t) const {
>
> Real sum = 0;
>
> for(int i=0; i<10;i++)
> sum+=state(path, t-i);
>
>         return payoff(sum/10);
>     }
> ---------------------------------------------------------------------------
>----------------------
>
> How do I assign this to particular engine. do I need to write a new engine
> to make path pricer assignment inside calculate() method. is there
> something like engine.setPathPricer() to decouple pricer design from engine
> design
>
> archlight
> Regards
>
> Klaus Spanderen-2 wrote:
> > Hi
> >
> > IMHO I think you have to implement a new AsianAutoCallablePathPricer
> > which is
> > derived from EarlyExercisePathPricer<Path>. The operator() of this pricer
> > should perform the averaging over the previous ten days and implement the
> > autocallable feature. The Bermudan feature, is it a issuer calll right or
> > an
> > investor call right?
> >
> >>From the model point of view pricing this sturtures is a challange. I've
>
> seen
>
> > people using hybrid stoch vol equity + Hull White interest rate processes
> > to
> > price this products. Simple local vol + deterministic interest rates can
> > lead
> > to "wrong" prices.
> >
> > regards
> >  Klaus
> >
> > On Tuesday 25 January 2011 04:21:21 archlight wrote:
> >> based on my study, I am thinking to extend Longstaff Schwartz MC to have
> >> pricer with asian option feature. meanwhile it can price Bermudan
> >> option.
> >>
> >> can someone enlighten me on this. I am total newbie in quantlib
> >>
> >> archlight
> >>
> >> archlight wrote:
> >> > Hi all,
> >> >
> >> >     I am newbie to quantlib. I am learning it by valuing some of
> >>
> >> product
> >>
> >> > valuing at our department. I have one equity index derivative with
> >> > Bermudan,
> >> > autocall and asianoption feature embedded. something like
> >> >
> >> >    three kock-out determination day
> >> >    K1, K2, K3
> >> >    at each knock-out date, payoff is if (average(previous ten days
> >> > underlying price)>index, Notional*func(Ki)) where i=1, 2, 3
> >> >
> >> >    I tried to pass Bermudan exercise to DiscreteAveragingAsianOption
> >>
> >> but
> >>
> >> > it
> >> > seems wrong type. I am using Longstaff Schwartz to achieve it. but i
> >> > am not
> >> > sure how to collect previous ten days result into payoff class.
> >> >
> >> >    what is your suggestion!
> >> >
> >> > archlight
> >> > Regards
> >>
> >> ------------------------------------------------------------------------
> >>-
> >>
> >> >----- Special Offer-- Download ArcSight Logger for FREE (a $49 USD
> >>
> >> value)!
> >>
> >> > Finally, a world-class log management solution at an even better
> >> > price-free!
> >> > Download using promo code Free_Logger_4_Dev2Dev. Offer expires
> >> > February 28th, so secure your free ArcSight Logger TODAY!
> >> > http://p.sf.net/sfu/arcsight-sfd2d
> >> > _______________________________________________
> >> > QuantLib-users mailing list
> >> > [hidden email]
> >> > https://lists.sourceforge.net/lists/listinfo/quantlib-users
> >
> > -------------------------------------------------------------------------
> >----- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
> > Finally, a world-class log management solution at an even better
> > price-free!
> > Download using promo code Free_Logger_4_Dev2Dev. Offer expires
> > February 28th, so secure your free ArcSight Logger TODAY!
> > http://p.sf.net/sfu/arcsight-sfd2d
> > _______________________________________________
> > QuantLib-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/quantlib-users



------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: newbie question on using MC to value autocall with asian option feature

Luigi Ballabio
On Thu, 2011-01-27 at 11:50 +0100, Klaus Spanderen wrote:
> you need to set-up a new pricing egine that is derived from
> MCLongstaffSchwartzEngine (see e.g. mcamericanengine.hpp, forget about the
> control variate stuff for the moment).

Do you need Longstaff-Schwartz for an auto-call?  As far as I gather
from the original post, there's no optionality (as in "one can choose
whether to call or not".)  A simple Monte Carlo should be enough.

Luigi


--

The surest way to make a monkey of a man is to quote him.
-- Robert Benchley



------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: newbie question on using MC to value autocall with asian option feature

Klaus Spanderen-2
Hi

the original posting said something about an Bermudan style feature, therefore
I though it's an autocallable with Issuer/Inverstor call right. Your are
right, if the structure is only an autocallable the simple Monte-Carlo engine
is enough.

Klaus

On Thursday 27 January 2011 12:26:27 Luigi Ballabio wrote:
> Do you need Longstaff-Schwartz for an auto-call?  As far as I gather
> from the original post, there's no optionality (as in "one can choose
> whether to call or not".)  A simple Monte Carlo should be enough.
>
> Luigi



------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: newbie question on using MC to value autocall with asian option feature

archlight
Yes, it is deemed to exercise if strike event happens. Sorry for confusion.

I pass observedDates K1, K2, K3 into pathpricer and discounted from Ki if average(*)>Ki (i=1,2,3)
and I simulate with dense timegrid with timesteps =1 (does 1 means one day?)

0------------****K1-------------****K2----------------****K3

but I am thinking to pass in as fixingDates so along the path only dates relevant will be recorded.

My question is will that affect accuracy or is it totally wrong?

archlight
 

Klaus Spanderen-2 wrote
Hi

the original posting said something about an Bermudan style feature, therefore
I though it's an autocallable with Issuer/Inverstor call right. Your are
right, if the structure is only an autocallable the simple Monte-Carlo engine
is enough.

Klaus

On Thursday 27 January 2011 12:26:27 Luigi Ballabio wrote:
> Do you need Longstaff-Schwartz for an auto-call?  As far as I gather
> from the original post, there's no optionality (as in "one can choose
> whether to call or not".)  A simple Monte Carlo should be enough.
>
> Luigi



------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
QuantLib-users mailing list
QuantLib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: newbie question on using MC to value autocall with asian option feature

Klaus Spanderen-2
Hi

If you are using a Black-Scholes model it's okay to record the path only on
the observationDates. But if you are using e.g. Local Volatility or a
stochastic volatility model then you'll need a finer time grid to avoid
misleading results. These path generators have discretization errors of order
(\delta t) or (\delta t)^2.  

regards
 Klaus

On Friday 28 January 2011 07:34:00 archlight wrote:

> Yes, it is deemed to exercise if strike event happens. Sorry for confusion.
>
> I pass observedDates K1, K2, K3 into pathpricer and discounted from Ki if
> average(*)>Ki (i=1,2,3)
> and I simulate with dense timegrid with timesteps =1 (does 1 means one
> day?)
>
> 0------------****K1-------------****K2----------------****K3
>
> but I am thinking to pass in as fixingDates so along the path only dates
> relevant will be recorded.
>
> My question is will that affect accuracy or is it totally wrong?
>
> archlight
>
> Klaus Spanderen-2 wrote:
> > Hi
> >
> > the original posting said something about an Bermudan style feature,
> > therefore
> > I though it's an autocallable with Issuer/Inverstor call right. Your are
> > right, if the structure is only an autocallable the simple Monte-Carlo
> > engine
> > is enough.
> >
> > Klaus
> >
> > On Thursday 27 January 2011 12:26:27 Luigi Ballabio wrote:
> >> Do you need Longstaff-Schwartz for an auto-call?  As far as I gather
> >> from the original post, there's no optionality (as in "one can choose
> >> whether to call or not".)  A simple Monte Carlo should be enough.
> >>
> >> Luigi
> >
> > -------------------------------------------------------------------------
> >----- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
> > Finally, a world-class log management solution at an even better
> > price-free!
> > Download using promo code Free_Logger_4_Dev2Dev. Offer expires
> > February 28th, so secure your free ArcSight Logger TODAY!
> > http://p.sf.net/sfu/arcsight-sfd2d
> > _______________________________________________
> > QuantLib-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/quantlib-users



------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires
February 28th, so secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users