Posted by
Plamen Neykov on
URL: http://quantlib.414.s1.nabble.com/ObjectHandler-and-evaluationDate-tp3963p3966.html
Hi Toyin,
> Thus if you have 2 YieldCurve objects (or more) within an Excel spreadsheet
> with 2 different referenceDate (assuming the referenceDates controls the
> evaluation date and not the dates in which the stripping tenors will
> reference themselves from), you don't actually know what date is actually
> set last. You don't really know what is the true global evaluationDate()
correct
> Thus the final evaluation date will all be dependant on Excel's calculation
> order, which may be different based on how you construct your
> spreadsheet...!!!
yes
> I wouldn't like to quote a 10 million notional swap price from such a
> system mate!!
me neither ;-)
The underlying problem is the sigleton used to determine globally the eval
date. There are some technical solutions which could solve this problem, but
i think they are currently out of scope.
> In your opinion, is the reference date passed in to the YieldCurve
> functions the new evaluation date
> or the date that the YieldCurve instruments reference themselves from?
>
> I think the latter, which would mean you don't need the call the
> setEvaluationDate() function, but them again, I haven't looked too closely
> at the implementation.
current semantic is that this is the _global_ evaluation date - e.g. from then
on all of the YC instruments will take it as their ref date. Basically for
the whole QL instance this will be then the new eval date - also for swaps,
bonds, options and any other objects in this QL instance (and because of the
observer implementation most of them will either recalculate or mark them
self as not calculated (LazyObject)).
> Thanks for the reply, but it looks like you can only build, in any one
> Excel session, no matter how many spreadsheets you open, or construct, you
> can only have ONE yieldCurve object floating around to ensure that the eval
> date is valid (and that you know is valid).
Well - if you like you can have multiple YC's but you have to ensure _all_ of
them use the same evalDate.....
cheers,
Plamen