|
From: Luigi B. <lui...@gm...> - 2021-11-30 16:13:03
|
Hi,
there's a couple of engines supporting the VarianceGammaProcess (you
can find them in ql/experimenta/variancegamma) but they only support
European options. The two papers you quoted are not implemented.
Luigi
On Tue, Nov 30, 2021 at 4:03 PM Peng Yu <pen...@gm...> wrote:
> I see the following two methods in this direction.
>
> Pricing American Options Under Variance Gamma
> https://www.math.columbia.edu/~smirnov/Alihirsa.pdf
>
> A fast method for pricing American options under the variance gamma model
> http://arxiv-export-lb.library.cornell.edu/abs/1903.07519v1
>
> I also notice there is VarianceGammaProcess in quantlib. Does
> VarianceGammaProcess implement any of these two methods? Or it is
> something totally different?
>
> I want to model American options. I tried the following code (full
> code attached).
>
> american_option.setPricingEngine(
> ql.BinomialVanillaEngine(
> process = ql.VarianceGammaProcess(
> ql.QuoteHandle(
> ql.SimpleQuote(spot_price)
> )
> , ql.YieldTermStructureHandle(
> ql.FlatForward(calculation_date, dividend_rate, day_count)
> )
> , ql.YieldTermStructureHandle(
> ql.FlatForward(calculation_date, risk_free_rate, day_count)
> )
> , sigma = 0.2
> , nu = 1
> , theta = 1
> )
> , type = 'crr'
> , steps = 200)
> )
>
> But I got the following error. I am not sure what the meaning of the
> error is. Does it mean BinomialVanillaEngine is not compatible with
> VarianceGammaProcess? Could anybody show me the correct way to price
> American options using variance Gamma processes?
>
> Traceback (most recent call last):
> File "./main.py", line 26, in <module>
> ql.BinomialVanillaEngine(
> File
> "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/QuantLib/QuantLib.py",
> line 12456, in BinomialVanillaEngine
> return cls(process, steps)
> File
> "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/QuantLib/QuantLib.py",
> line 12365, in __init__
> _QuantLib.BinomialCRRVanillaEngine_swiginit(self,
> _QuantLib.new_BinomialCRRVanillaEngine(arg2, steps))
> TypeError: in method 'new_BinomialCRRVanillaEngine', argument 1 of
> type 'ext::shared_ptr< GeneralizedBlackScholesProcess > const &'
>
> > I see a gamma pricing model is mentioned below. But I don't see any
> > formula in the page. Does anybody where I can find a more detailed
> > description of the gamma pricing model?
> >
> > Does quantlib have an implementation of a gamma pricing model? (I
> > don't find it. But I may miss it.)
> >
> > https://www.investopedia.com/terms/g/gamma-pricing-model.asp
>
> --
> Regards,
> Peng
> _______________________________________________
> QuantLib-users mailing list
> Qua...@li...
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
|