|
From: Breig, D. C. (I. GmbH)
<CHR...@IN...> - 2013-10-23 21:13:54
|
Hi Luigi, hi all,
yes, here is it. Do you have an idea how to reset "discTermStructure" after the initialisation of "spreadedDiscTermStructure".
-------------------
#include <ql/quantlib.hpp>
using namespace QuantLib;
int main(int, char* []) {
try {
QuantLib::RelinkableHandle<QuantLib::YieldTermStructure> discTermStructure;
boost::shared_ptr<YieldTermStructure> nullYTSPtr;
Date evaluationDate = Date(23,Month(10),2013);
boost::shared_ptr<YieldTermStructure> yts(new FlatForward(evaluationDate, 0.02, ActualActual()));
discTermStructure.linkTo(yts);
boost::shared_ptr<Quote> spread(new SimpleQuote(0.02));
// no problem
discTermStructure.linkTo(nullYTSPtr);
discTermStructure.linkTo(yts);
// problem
boost::shared_ptr<YieldTermStructure> spreadedDiscTermStructure(new ZeroSpreadedTermStructure(discTermStructure,Handle<Quote>(spread)));
discTermStructure.linkTo(nullYTSPtr);
system("PAUSE");
return 0;
} catch (std::exception& e) {
std::cerr << e.what() << std::endl;
system("PAUSE");
return 1;
} catch (...) {
std::cerr << "unknown error" << std::endl;
system("PAUSE");
return 1;
}
}
-------------
Best and thx
Chris
-----Ursprüngliche Nachricht-----
Von: Luigi Ballabio [mailto:lui...@gm...]
Gesendet: Mittwoch, 23. Oktober 2013 18:08
An: Breig, Dr. Christoph (IDS GmbH)
Cc: QuantLib developers
Betreff: Re: [Quantlib-dev] RelinkableHandle<YieldTermStructure> reset to Null
It looks like the spreaded curve notifies its observers of the change,
one of them tries to perform some calculation as a consequence, and
the calculation fails because the handle is empty. Can you reproduce
the problem in a short program you can post?
Luigi
On Wed, Oct 23, 2013 at 4:49 PM, Breig, Dr. Christoph (IDS GmbH)
<CHR...@in...> wrote:
> Hi Luigi, hi all
>
> the empty shared_ptr works fine for e.g. InterpolatedZeroCurves but not for
> ZeroSpreadedTermStructures. Then, while setting the empty shared_ptr,
> following error messages takes place:
> "could not notify one or more observers: empty Handle cannot be
> dereferenced"
>
> I'm at the moment using version 1.0 of QuantLib (in case the problem is a
> bug and was already fixed).
>
> Best and thanks
> Chris
>
> ________________________________
> Von: Luigi Ballabio [mailto:lui...@gm...]
> Gesendet: Freitag, 18. Oktober 2013 16:13
> An: Breig, Dr. Christoph (IDS GmbH)
> Cc: QuantLib developers
> Betreff: Re: [Quantlib-dev] RelinkableHandle<YieldTermStructure> reset to
> Null
>
> Hi,
> link it to an empty shared_ptr.
>
> Luigi
>
> On Oct 18, 2013 4:01 PM, "Breig, Dr. Christoph (IDS GmbH)"
> <CHR...@in...> wrote:
>>
>> Dear all,
>>
>> has anybody an idea how to set a Relinkable Handle who is already linked
>> to a YieldTermStructure object back to Null, so that the function
>> "empty()" returns again true?
>>
>> Best and thanks
>> Chris
>>
>>
>> ------------------------------------------------------------------------------
>> October Webinars: Code for Performance
>> Free Intel webinars can help you accelerate application performance.
>> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
>> from
>> the latest Intel processors and coprocessors. See abstracts and register >
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk
>> _______________________________________________
>> QuantLib-dev mailing list
>> Qua...@li...
>> https://lists.sourceforge.net/lists/listinfo/quantlib-dev
>>
>
--
<https://implementingquantlib.blogspot.com>
<https://twitter.com/lballabio>
|