|
From: Dan V. <dan...@gm...> - 2023-01-06 17:09:07
|
Thank you very much Jack for this clarification. Unfortunately for us the Andreasen Huge yields very poor results on a well behaved SPX surface. As a consequence we will have to get out of the entire QL ecosystem as nothing beyond a vanilla call and put can be priced. Thanks for your help again. On Tue, Jan 3, 2023 at 9:39 PM Jack G <jac...@gm...> wrote: > Hi Dan, > > Looking over my notes, here is what we did: > > - Calibrated a local vol surface within QL using Andreasen Huge. This > didn't cause problems for us but the vol surfaces were quite well behaved - > we were using FX data from Bloomberg, the main data issues were around FX > quoting conventions as I recall > - Fitted raw Heston to the data (we didn't use PWC Heston in the end as > discussed previously) > - Calibrated a leverage function (note the AH instantaneous vol surface > was used here not the surface itself), I see we tried both FD and MC > calibrations, and calibrated mixing factors too to a selection of DNTs (I > recall there was a bug in one of the QL calibrations which was ignoring > mixing factor that we fixed around that time) > - Tested the leverage function against vanillas using FdHestonVanillaEngine > which admits a leverage function, and tested various MC prices using HestonSLVProcess, > both of these engines do not rely on the Andraesen Huge calibrated object > directly, only on the leverage function calibrated from it > > All the best, > Jack > > On Sat, Dec 31, 2022 at 12:16 AM Dan VolPM <dan...@gm...> wrote: > >> Hi Jack, >> You mean that you built both your own LV surface outside of QL (since QL >> won't let you build a correct one) as well as calibrating the PTD Heston >> outside of QL ? >> Then you fed the 2 to QL to get the leverage function and from then on >> stayed in the QL ecosystem ? >> Thanks >> Dan >> >> On Fri, Dec 30, 2022 at 8:24 AM Jack G <jac...@gm...> wrote: >> >>> Hi Dan, >>> >>> We went with SLV in the end using plain fixed-parameter Heston and a >>> leverage function (using the QuantLib calibration and path generation code). >>> >>> Best, >>> Jack >>> >>> On Thu, Dec 29, 2022 at 8:01 AM Dan VolPM <dan...@gm...> wrote: >>> >>>> Thank you jack. >>>> What direction did you end up taking to price non vanilla products >>>> using QL ? >>>> >>>> On Mon, Dec 19, 2022 at 7:24 PM Jack G <jac...@gm...> >>>> wrote: >>>> >>>>> Hi Dan, >>>>> >>>>> Just for reference on the PTD Heston, adding a path generator for PTD >>>>> Heston was something I looked at during a side project a year or so ago - >>>>> there is some code in an abandoned pull request here but it's fairly >>>>> horrible: https://github.com/lballabio/QuantLib/pull/1185/files >>>>> >>>>> In the end I found exactly the problems you have mentioned for PTD >>>>> Heston - hard and slow to calibrate, and I wasn't getting much convergence >>>>> from the MC prices for anything beyond vanillas. A lot of this is because >>>>> several of the extremely useful optimizations for Heston path generation >>>>> stop working nicely in PTD Heston. >>>>> >>>>> Best luck with the project, >>>>> Jack >>>>> >>>>> On Tue, 20 Dec 2022, 01:24 Dan VolPM, <dan...@gm...> wrote: >>>>> >>>>>> Hello experts, >>>>>> >>>>>> Has anyone been able to price any product in monte carlo (generating >>>>>> path via the GaussianMultiPathGenerator) using either a local vol surface >>>>>> or a piecewise Heston ? >>>>>> I should mention we used python. >>>>>> >>>>>> *The problems with LocalVol is:* >>>>>> - Only the AndreasenHugeVolatility does not break when generating >>>>>> paths, however there is such a loss of information in the process of >>>>>> building it that the prices generated are extremely far from the >>>>>> calibrating vanillas >>>>>> - Whenever we use our (smoothed and cleaned) BlackVarianceSurface and >>>>>> generate paths with it, it is converted into a localvol surface under the >>>>>> cover which is perfect for path generation BUT it is virtually impossible >>>>>> to actually get paths that don't break on "arbitrages". I use the quote >>>>>> there for arbitrage because the test used is so granular that converting >>>>>> any kind of real life market surface will fail (I'm not talking here about >>>>>> the 4x4 matrices that we all use for examples but rather a huge SPX surface >>>>>> with tons of strikes and maturities). Even an SVI failed at that which is >>>>>> telling me either we do something very wrong or the falling var and fly >>>>>> testing is just too granular. >>>>>> >>>>>> => this leaves us stuck unable to price any non standard payoff in LV >>>>>> >>>>>> *The problem with PTD Heston is:* >>>>>> - It takes forever to calibrate and still has a pretty poor quality >>>>>> of fit >>>>>> - there is no way to build a PTDHeston process like there is for >>>>>> regular Heston. Consequently building paths is just impossible. >>>>>> >>>>>> Is there a different way to go about pricing non standard payoffs >>>>>> using one of these 2 methods ? >>>>>> Happy to hear from someone who can actually make it work. >>>>>> >>>>>> Any help would be greatly appreciated. >>>>>> Thank you >>>>>> >>>>>> _______________________________________________ >>>>>> QuantLib-users mailing list >>>>>> Qua...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/quantlib-users >>>>>> >>>>> |