test suite error.

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

test suite error.

Simon Ibbotson - Straumur

Hi,

 

I think I’ve found a bug – the test suite is generating errors on my PC under the debug build (but not under release).

 

I checked-out (in a new directory) the QuantLib trunk. I compiled it then ran the test suite. I’m getting the following errors from the test suite:-

 

Testing bond implied value against asset-swap fair price with null spread...

10>unknown location(0): fatal error in "AssetSwapTest::testImpliedValue": std::exception: stdDev (-1.#IND) must be non-negative

10>Testing relationship between market asset swap and par asset swap...

10>unknown location(0): fatal error in "AssetSwapTest::testMarketASWSpread": std::exception: stdDev (-1.#IND) must be non-negative

10>Testing clean and dirty price with null Z-spread against theoretical prices...

10>unknown location(0): fatal error in "AssetSwapTest::testZSpread": std::exception: stdDev (-1.#IND) must be non-negative

10>Testing generic bond implied value against asset-swap fair price with null spread...

10>unknown location(0): fatal error in "AssetSwapTest::testGenericBondImplied": std::exception: stdDev (-1.#IND) must be non-negative

10>Testing market asset swap against par asset swap with generic bond...

10>unknown location(0): fatal error in "AssetSwapTest::testMASWWithGenericBond": std::exception: stdDev (-1.#IND) must be non-negative

10>Testing clean and dirty price with null Z-spread against theoretical prices...

10>unknown location(0): fatal error in "AssetSwapTest::testZSpreadWithGenericBond": std::exception: stdDev (-1.#IND) must be non-negative

10>Testing clean and dirty prices for specialized bond against equivalent generic bond...

10>unknown location(0): fatal error in "AssetSwapTest::testSpecializedBondVsGenericBond": std::exception: stdDev (-1.#IND) must be non-negative

10>Testing asset-swap prices and spreads for specialized bond against equivalent generic bond...

10>unknown location(0): fatal error in "AssetSwapTest::testSpecializedBondVsGenericBondUsingAsw": std::exception: stdDev (-1.#IND) must be non-negative

 

 

 

Are these expected? I’ve tracked them down to a code point in the test file assetswap.cpp, where the code is determining the floor on a CMS bond rate and the SmileSection class is not initializing the exerciseTime_ member variable.

 

Line 53 of conundrumpricer.cpp gets a smile section for use from…

Line 78 of swaptionconstantvol.cpp creates a FlatSmileSection using a valid referenceDate.

Line 50 of smilesection.cpp defines isFloating_ (false in this case).

Line 59 of conundrumpricer.cpp calls the variance of the smile section which has an invalid exerciseTime_ member variable.

 

 

I don’t see why this would be desired behaviour but I can’t find any mention (on QuantLib) of the test suite producing deliberate unhandled errors either. Also, this doesn’t happen (or it isn’t picked up) under the release build.

 

Can anyone enlighten me?

 

Simon

 

Simon Ibbotson

Head of Quantitative Analytics

Capital Markets

Straumur

 


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev
Reply | Threaded
Open this post in threaded view
|

Re: test suite error.

Ferdinando M. Ametrano-3
On Tue, Mar 11, 2008 at 6:15 PM, Simon Ibbotson
<[hidden email]> wrote:
> I think I've found a bug – the test suite is generating errors on my PC
> under the debug build (but not under release).
> [...]
> I've tracked them down to a code point in the test file
> assetswap.cpp, where the code is determining the floor on a CMS bond rate
> and the SmileSection class is not initializing the exerciseTime_ member
> variable.

thank you very much for the bug report, it was very clear and straight
to the point. I've fixed the bug in Revision 14563. I would appreciate
if you could double check that i've solved the issue. I prefer not to
think about what was going on in Release mode when exreciseTime_ was
not initialized to zero... probably my production code was accessing
the SmileSection using the volatility inspector, not the variance
one...

ciao -- Nando

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev