Hi, Consider a linearly interpolated Zero Inflation Index with observation lag of 4 months. If the reference date is in June, the observation date will be in February, which has only 28 days. I believe the interpolation should use June's 30 days instead of February's 28 days. As it is, the interpolation will be "maxed out" by 28 June and will remain flat until 30 June. Do you guys agree?I think the interpolation in ZeroInflationIndex::fixing isn't exactly correctly. Francois Botha
------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ QuantLib-dev mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-dev |
Hi Francois,
yes, you have to use June's 30 days. This is corresponding to the question I sent earlier (see below), the second (Murex) way of doing the interpolation is the correct one. Do you have a fix for that ? This would be great. best Peter I am comparing Murex and QuantLib concerning Inflation Pricing. I observe a difference in the way an index fixing is interpolated between known (i.e. already fixed) values. Here is an example: Take the EUHICP XT index which has fixings 01.08.2012 (Aug 12) 115.10 01.09.2012 (Sep 12) 115.97 Now I want to look up the fixing on 28.08.2012 belonging to an observation date on 28.11.2012 (3m observation lag). In QL the interpolation is done as follows: Days between 01.08. and 01.09. = 31, Days between 01.08. and 28.08. = 27, Interpolated Fixing = 115.10 + 27/31 * ( 115.97 - 115.10 ) In Murex on the opposite: Days between 01.11. and 01.12. = 30, Days between 01.11. and 28.11. = 27, Interpolated Fixing = 115.10 + 27/30 * ( 115.97 - 115.10 ) On 18 June 2014 16:50, Francois Botha <[hidden email]> wrote: > Hi, > > I think the interpolation in ZeroInflationIndex::fixing isn't exactly > correctly. > > Consider a linearly interpolated Zero Inflation Index with observation lag > of 4 months. If the reference date is in June, the observation date will be > in February, which has only 28 days. I believe the interpolation should use > June's 30 days instead of February's 28 days. As it is, the interpolation > will be "maxed out" by 28 June and will remain flat until 30 June. Do you > guys agree? > > regards > Francois Botha > > ------------------------------------------------------------------------------ > HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions > Find What Matters Most in Your Big Data with HPCC Systems > Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. > Leverages Graph Analysis for Fast Processing & Easy Data Exploration > http://p.sf.net/sfu/hpccsystems > _______________________________________________ > QuantLib-dev mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/quantlib-dev > ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ QuantLib-dev mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-dev |
Haha. I actually did read your email the other day, but I didn't make the connection when I discovered the issue now. No fix yet, but I'll see if I can get something together. It will have to involve passing the original reference date through to the fixing algorithm. F Francois Botha
On 18 June 2014 17:17, Peter Caspers <[hidden email]> wrote: Hi Francois, ------------------------------------------------------------------------------ HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. Leverages Graph Analysis for Fast Processing & Easy Data Exploration http://p.sf.net/sfu/hpccsystems _______________________________________________ QuantLib-dev mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-dev |
Peter, Here is my first attempt at solving this bug. Can you confirm whether it solves your problem? https://github.com/igitur/quantlib/tree/inflation_reference_period_fix Francois Botha
On 18 June 2014 17:27, Francois Botha <[hidden email]> wrote:
------------------------------------------------------------------------------ Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft _______________________________________________ QuantLib-dev mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-dev |
Hi Francois,
with your fix I get the correct interpolated value (115.883) in my case below and the test suite seems to run without any regression, so it looks like it is working well. I have to set the interpolation to CPI::Linear in the coupon to get this though. With CPI::AsIndex (and interpolation = true in the index definition) I get the original (wrong) interpolated value (115.85774). Also indexFixing() always returns this value no matter what interpolation is set in the coupon (which is consistent then I guess). I don't know if this makes sense, maybe we have to apply the same logic as for the coupon to the index as well, i.e. in ZeroInflationIndex::fixing( aFixing, reference ) we should take care of the reference date just in the same way as you did in the coupon ? In any case, your fix is a step forward. I didn't really check the code changes you made but noticed that you changed the reference date in TermStructure from private to protected. Is there a particular reason for that (you don't seem to need or even use this) ? Thanks a lot Peter On 10 July 2014 16:36, Francois Botha <[hidden email]> wrote: > Peter, > > Here is my first attempt at solving this bug. Can you confirm whether it > solves your problem? > https://github.com/igitur/quantlib/tree/inflation_reference_period_fix > > Francois Botha > > > On 18 June 2014 17:27, Francois Botha <[hidden email]> wrote: >> >> Haha. I actually did read your email the other day, but I didn't make the >> connection when I discovered the issue now. No fix yet, but I'll see if I >> can get something together. It will have to involve passing the original >> reference date through to the fixing algorithm. >> >> F >> >> Francois Botha >> >> >> On 18 June 2014 17:17, Peter Caspers <[hidden email]> wrote: >>> >>> Hi Francois, >>> >>> yes, you have to use June's 30 days. This is corresponding to the >>> question I sent earlier (see below), the second (Murex) way of doing >>> the interpolation is the correct one. >>> >>> Do you have a fix for that ? This would be great. >>> >>> best >>> Peter >>> >>> I am comparing Murex and QuantLib concerning Inflation Pricing. I >>> observe a difference in the way an index fixing is interpolated >>> between known (i.e. already fixed) values. Here is an example: >>> Take the EUHICP XT index which has fixings >>> 01.08.2012 (Aug 12) 115.10 >>> 01.09.2012 (Sep 12) 115.97 >>> Now I want to look up the fixing on 28.08.2012 belonging to an >>> observation date on 28.11.2012 (3m observation lag). In QL the >>> interpolation is done as follows: >>> Days between 01.08. and 01.09. = 31, Days between 01.08. and 28.08. = >>> 27, Interpolated Fixing = 115.10 + 27/31 * ( 115.97 - 115.10 ) >>> In Murex on the opposite: >>> Days between 01.11. and 01.12. = 30, Days between 01.11. and 28.11. = >>> 27, Interpolated Fixing = 115.10 + 27/30 * ( 115.97 - 115.10 ) >>> >>> On 18 June 2014 16:50, Francois Botha <[hidden email]> wrote: >>> > Hi, >>> > >>> > I think the interpolation in ZeroInflationIndex::fixing isn't exactly >>> > correctly. >>> > >>> > Consider a linearly interpolated Zero Inflation Index with observation >>> > lag >>> > of 4 months. If the reference date is in June, the observation date >>> > will be >>> > in February, which has only 28 days. I believe the interpolation should >>> > use >>> > June's 30 days instead of February's 28 days. As it is, the >>> > interpolation >>> > will be "maxed out" by 28 June and will remain flat until 30 June. Do >>> > you >>> > guys agree? >>> > >>> > regards >>> > Francois Botha >>> > >>> > >>> > ------------------------------------------------------------------------------ >>> > HPCC Systems Open Source Big Data Platform from LexisNexis Risk >>> > Solutions >>> > Find What Matters Most in Your Big Data with HPCC Systems >>> > Open Source. Fast. Scalable. Simple. Ideal for Dirty Data. >>> > Leverages Graph Analysis for Fast Processing & Easy Data Exploration >>> > http://p.sf.net/sfu/hpccsystems >>> > _______________________________________________ >>> > QuantLib-dev mailing list >>> > [hidden email] >>> > https://lists.sourceforge.net/lists/listinfo/quantlib-dev >>> > >> >> > ------------------------------------------------------------------------------ Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft _______________________________________________ QuantLib-dev mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-dev |
In reply to this post by igitur
Hi Francois, did you ever submit this fix? I don't seem to remember it. Or was the problem fixed in another way? Luigi On Thu, Jul 10, 2014 at 4:36 PM, Francois Botha <[hidden email]> wrote:
------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk _______________________________________________ QuantLib-dev mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-dev |
Also on interpolation of inflation rates, a quick peer review: I think line 169 of <ql/termstructures/inflationtermstructure.cpp> was supposed to interpolate linearly between the two zero rates, but the formula is wrong. Is anyone using, or did anyone try to use this forceLinearInterpolation feature and can confirm? Thanks, Luigi On Thu, Nov 20, 2014 at 3:57 PM, Luigi Ballabio <[hidden email]> wrote:
------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk _______________________________________________ QuantLib-dev mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-dev |
In reply to this post by Luigi Ballabio
No, it's still work in progress. Guess it's about time I finish it. :-) On 20 Nov 2014 4:57 PM, "Luigi Ballabio" <[hidden email]> wrote:
------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk _______________________________________________ QuantLib-dev mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-dev |
Long overdue, but here is the PR for this issue. I had to add a new parameter to the ZeroInflationIndex class (forecastWhenPossible). If you prefer a different parameter name, let me know. I admit the current one feels a bit clumsy. regards, Francois Botha On 20 November 2014 at 17:28, Francois Botha <[hidden email]> wrote:
------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ QuantLib-dev mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-dev |
Free forum by Nabble | Edit this page |