|
From: Peter C. <pca...@gm...> - 2014-11-19 05:44:00
|
oops. For me the test suite in the current master both with and without #170 runs fine. Only the new regression case included in 170 fails without the patch. Let me know what error pops up on your side. Peter On 18 November 2014 21:57, Ferdinando M. Ametrano <na...@am...> wrote: > wow, this was fast! > btw by "sabr test" I meant one test in the QuantlIb test suite > > On Tue, Nov 18, 2014 at 9:47 PM, Peter Caspers <pca...@gm...> > wrote: > >> Alright, I added a test case for the regression you found and one for the >> direct/inverse functions (a deterministic one, yes). I'll have a look at >> your data and see if we can extract more interesting test cases from that. >> >> And please send the new case when you are back. >> >> Peter >> >> On 18 November 2014 20:31, Ferdinando M. Ametrano <na...@am...> >> wrote: >> >>> Yes Peter, I can provide a caplet snapshot for a test. >>> >>> As for a direct/inverse test: yes please, but avoid random numbers as >>> that would make tests unpredictable. >>> >>> Please also note that one sabr test is currently failing: I don't know >>> if because of yesterday's patch or it has been failing for a while. >>> thurdays, back at my desk, I can provide more details, but you might want >>> to check it up on your setup in the meantime >>> On Nov 18, 2014 9:33 AM, "Peter Caspers" <pca...@gm...> wrote: >>> >>>> yes, please send an example (otherwise I could already take the one >>>> from the excel you sent earlier ? or was that made up ?). In addtion I >>>> think I should add a technical test like >>>> >>>> for random input x >>>> - y = direct(x) generates admissable values >>>> - direct( inverse( y ) ) = y >>>> >>>> for sabr, noarbsabr, zabr and svi. What do you think ? >>>> >>>> Peter >>>> >>>> >>>> On 17 November 2014 20:07, Ferdinando M. Ametrano <na...@am...> >>>> wrote: >>>> >>>>> Thank you Peter for the timely fix. >>>>> >>>>> One takeaway is to create a unit test to check for possible future >>>>> regressions. >>>>> Do you have a relevant dataset from some paper to suggest? If not, I >>>>> could provide a snapshot of current euro caplets. >>>>> On Nov 17, 2014 7:40 PM, "MAZZOCCHI PAOLO" < >>>>> pao...@es...> wrote: >>>>> >>>>>> Hi Peter, >>>>>> >>>>>> I tested your modifications and they work properly. The results are >>>>>> in line with the ones obtained using QL 1.2. >>>>>> >>>>>> Anyway, the details (forward and time to expiry) are written in the >>>>>> excel file attached in the previous email. >>>>>> >>>>>> >>>>>> >>>>>> time >>>>>> >>>>>> fwd >>>>>> >>>>>> 0.1342 >>>>>> >>>>>> 1.1075% >>>>>> >>>>>> 0.3833 >>>>>> >>>>>> 1.1025% >>>>>> >>>>>> >>>>>> >>>>>> Thank you very much for your help. >>>>>> >>>>>> >>>>>> >>>>>> Paolo >>>>>> >>>>>> >>>>>> >>>>>> *Paolo Mazzocchi* >>>>>> >>>>>> *Deloitte Consulting Srl* >>>>>> >>>>>> consulente di >>>>>> >>>>>> *FINANCIAL ENGINEERING - Banca IMI* >>>>>> >>>>>> Tel: 02-72615029 Int: 35029 >>>>>> >>>>>> *pao...@es... <pao...@es...>* >>>>>> >>>>>> >>>>>> >>>>>> *From:* Peter Caspers [mailto:pca...@gm...] >>>>>> *Sent:* Monday, November 17, 2014 7:00 PM >>>>>> *To:* Ferdinando M. Ametrano >>>>>> *Cc:* maz...@li...; QuantLib Mailing Lists; maddalena zanzi >>>>>> *Subject:* Re: [Quantlib-dev] FW: SABR regression >>>>>> >>>>>> >>>>>> >>>>>> Hi Ferdinando, >>>>>> >>>>>> I pushed a fix here (effectively it should yield the same results as >>>>>> the file attached earlier) >>>>>> >>>>>> https://github.com/lballabio/quantlib/pull/170 >>>>>> >>>>>> As far as I remember the reason for the change in the transformation >>>>>> function (for 1.3 or 1.4 ?) were nan / inf values occuring from time to >>>>>> time in the calibration. This is why I replaced the parabolas by truncated >>>>>> parabolas with linear wings (such that the result is C^1). >>>>>> >>>>>> If you feel that your test case is still working better in 1.2, could >>>>>> you please send some more details (forward, time to expiry), I'd be happy >>>>>> to discuss again then. >>>>>> >>>>>> >>>>>> >>>>>> Best regards >>>>>> Peter >>>>>> >>>>>> >>>>>> >>>>>> On 17 November 2014 13:25, Peter Caspers <pca...@gm...> >>>>>> wrote: >>>>>> >>>>>> Hi Ferdinando, >>>>>> >>>>>> one problem is the transformation function direct(...) which is buggy >>>>>> for alpha and nu. Can you try the attached version instead and see if it >>>>>> works better ? >>>>>> >>>>>> I'd like to have a closer look and try on more cases before I send a >>>>>> PR though. >>>>>> >>>>>> Thanks >>>>>> >>>>>> Peter >>>>>> >>>>>> >>>>>> >>>>>> On 17 November 2014 12:06, Ferdinando M. Ametrano <na...@am...> >>>>>> wrote: >>>>>> >>>>>> Hi Peter >>>>>> >>>>>> >>>>>> >>>>>> SABR implementation on the current trunk has a regression compared >>>>>> with QuantLib 1.2.1 >>>>>> >>>>>> >>>>>> >>>>>> While trying to calibrate problematic smiles as: >>>>>> >>>>>> >>>>>> >>>>>> strike >>>>>> >>>>>> 1.00% >>>>>> >>>>>> 1.13% >>>>>> >>>>>> 1.25% >>>>>> >>>>>> 1.38% >>>>>> >>>>>> 1.50% >>>>>> >>>>>> vol1 >>>>>> >>>>>> 23.20% >>>>>> >>>>>> 20.25% >>>>>> >>>>>> 31.21% >>>>>> >>>>>> 39.02% >>>>>> >>>>>> 50.45% >>>>>> >>>>>> vol2 >>>>>> >>>>>> 16.67% >>>>>> >>>>>> 20.20% >>>>>> >>>>>> 27.85% >>>>>> >>>>>> 32.79% >>>>>> >>>>>> 37.27% >>>>>> >>>>>> >>>>>> >>>>>> 1.2.1 was able to offer these (non-optimal but decent) solutions: >>>>>> >>>>>> >>>>>> >>>>>> max error >>>>>> >>>>>> rms error >>>>>> >>>>>> end criteria >>>>>> >>>>>> alpha >>>>>> >>>>>> beta >>>>>> >>>>>> nu >>>>>> >>>>>> rho >>>>>> >>>>>> 1.79% >>>>>> >>>>>> 0.94% >>>>>> >>>>>> StationaryPoint >>>>>> >>>>>> 0.58% >>>>>> >>>>>> 25.00% >>>>>> >>>>>> 346.03% >>>>>> >>>>>> 34.19% >>>>>> >>>>>> 0.65% >>>>>> >>>>>> 0.43% >>>>>> >>>>>> StationaryPoint >>>>>> >>>>>> 0.62% >>>>>> >>>>>> 25.00% >>>>>> >>>>>> 193.97% >>>>>> >>>>>> 63.66% >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> the current trunk instead fails for the second smile with error >>>>>> "qlSABRInterpolationAlpha - nu must be non negative: -124.897 not allowed". >>>>>> >>>>>> >>>>>> >>>>>> If one tries to just use the four leftmost volatilities to simplify >>>>>> the problem, both calibrations fail with the same error. This leads me to >>>>>> believe the problem is about the solver looking for a solution in the >>>>>> negative nu region. If this is the case it could be solved having a >>>>>> positive constraint for nu. Do you agree? Could you please look into it? >>>>>> >>>>>> >>>>>> >>>>>> Please find attached a spreadsheet reproducing the error. We might >>>>>> even want to add a non regression test to the test suite. >>>>>> >>>>>> >>>>>> >>>>>> thank you for your help >>>>>> >>>>>> >>>>>> >>>>>> regards >>>>>> >>>>>> F >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Prima di stampare, pensa all'ambiente ** Think about the environment >>>>>> before printing >>>>>> >>>>>> ------------------------------ >>>>>> >>>>>> Il presente messaggio, inclusi gli eventuali allegati, ha natura >>>>>> aziendale e potrebbe contenere informazioni confidenziali e/o riservate. >>>>>> Chiunque lo ricevesse per errore, è pregato di avvisare tempestivamente il >>>>>> mittente e di cancellarlo. >>>>>> E’ strettamente vietata qualsiasi forma di utilizzo, riproduzione o >>>>>> diffusione non autorizzata del contenuto di questo messaggio o di parte di >>>>>> esso. >>>>>> Pur essendo state assunte le dovute precauzioni per ridurre al minimo >>>>>> il rischio di trasmissione di virus, si suggerisce di effettuare gli >>>>>> opportuni controlli sui documenti allegati al presente messaggio. Non si >>>>>> assume alcuna responsabilità per eventuali danni o perdite derivanti dalla >>>>>> presenza di virus. >>>>>> >>>>>> Per lo svolgimento delle attività di investimento nel Regno Unito, la >>>>>> società è autorizzata da Banca d'Italia ed è soggetta alla vigilanza >>>>>> limitata della Financial Conduct Authority ( FCA ) e della Prudential >>>>>> Regulation Authority ( PRA ) . Maggiori informazioni in merito ai poteri di >>>>>> vigilanza della Financial Conduct Authority ( FCA ) e della Prudential >>>>>> Regulation Authority ( PRA ) sono a disposizione previa richiesta. >>>>>> >>>>>> Nel Regno Unito Intesa Sanpaolo S.p.A. opera attraverso la filiale di >>>>>> Londra, sita in 90 Queen Street, London EC4N 1SA, registrata in Inghilterra >>>>>> & Galles sotto No.FC016201, Branch No.BR000036 >>>>>> >>>>>> In osservanza dei requisito imposti dal Internal Revenue Service >>>>>> (Agenzia delle Entrate degli Stati Uniti), qualunque discussione relativa a >>>>>> temi di natura fiscale contenuta in questo messaggio o nei suoi allegati >>>>>> non e’ intesa ne’ e’ stata scritta per essere utilizzata, ne’ puo’ essere >>>>>> utilizata per (i) evitare l’imposizione di gravami fiscali secondo il >>>>>> codice tributario vigente negli Stati Uniti o (ii) per promuovere, >>>>>> sollecitare o raccomandare una operazione finanziaria o altra transazione >>>>>> indirizzata ad un altro destinatario. >>>>>> >>>>>> Nella Repubblica d’Irlanda, Intesa Sanpaolo Bank Ireland plc è >>>>>> regolamentata dalla Banca Centrale d’Irlanda ed è parte del Gruppo Bancario >>>>>> Intesa Sanpaolo S.p.A. Registrata in Irlanda come società numero 125216 – >>>>>> IVA Reg. IE4817418C IE, sita in, KBC House, 4 George Dock, IFSC, Dublino 1, >>>>>> Irlanda. >>>>>> >>>>>> *** >>>>>> >>>>>> ------------------------------ >>>>>> >>>>>> This email (including any attachment) is a corporate message and may >>>>>> contain confidential and/or privileged and/or proprietary information. If >>>>>> you have received this email in error, please notify the sender >>>>>> immediately, do not use or share it and destroy this email. Any >>>>>> unauthorised use, copying or disclosure of the material in this email or of >>>>>> parts hereof (including reliance thereon) is strictly forbidden. >>>>>> We have taken precautions to minimize the risk of transmitting >>>>>> software viruses but nevertheless advise you to carry out your own virus >>>>>> checks on any attachment of this message. We accept no liability for loss >>>>>> or damage caused by software viruses. >>>>>> >>>>>> For the conduct of investment business in the UK, the Company is >>>>>> authorised by Banca d’Italia and subject to limited regulation in the UK by >>>>>> the Financial Conduct Authority ( FCA ) and the Prudential Regulation >>>>>> Authority ( PRA ). Details about the extent of our regulation by the >>>>>> Financial Conduct Authority ( FCA ) and the Prudential Regulation Authority >>>>>> ( PRA ) are available from us on request. >>>>>> >>>>>> In the UK Intesa Sanpaolo S.p.A. operates through its London Branch, >>>>>> located at 90 Queen Street, London EC4N 1SA. Registered in England & Wales >>>>>> under No.FC016201, Branch No.BR000036 >>>>>> >>>>>> To comply with requirements imposed by the IRS, we inform you that >>>>>> any discussion of U.S. federal tax issues contained herein (including any >>>>>> attachments) was not intended or written to be used, and cannot be used by >>>>>> you, for the purpose of (i) avoiding penalties under the Internal Revenue >>>>>> Code or (ii) promoting, marketing or recommending any transaction or matter >>>>>> addressed herein to another party. >>>>>> >>>>>> In the Republic of Ireland, Intesa Sanpaolo Bank Ireland plc is >>>>>> regulated by the Central Bank of Ireland and is a member of the Intesa >>>>>> Sanpaolo Group. It is registered in Ireland as company no.125216 – VAT Reg. >>>>>> No. IE 4817418C and located at, 3rd Floor, KBC House, 4 George’s Dock, >>>>>> IFSC, Dublin 1, Ireland. >>>>>> >>>>> >>>> >> > |