|
From: Jack G <jac...@gm...> - 2023-01-04 02:39:44
|
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 >>>>> >>>> |