Asset swap test suite failures

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Asset swap test suite failures

Peter Caspers-4
Hi,

when compiling with --enable-indexed-coupons four asset swap test
cases fail. The reason is that a fixed rate vanilla bond is taken with
something like (not exactly these numbers ...)

nominal = 100, clean price = 95, accrual 1, dirty price = 96

as of settlement. A par asset swap is constructed

leg1 = bond leg (say payer)

leg2 =
receive -4 (so that 100 is paid effectively for the package, that's
fine) on settlement
receive Euribor Coupons (the first may be a short coupon), no margin
receive 100 at maturity

In a one curve setup with no indexed coupons leg2 evaluates to 100 - 4
= 96, leg1 is worth 96 (dirty), since no credit spread is involved and
the same termstructure is used for the bond discount engine and the
swap discount engine. Therefore the asset swap is worth exactly 0. So
for example

assetswap.cpp<test-suite>, L554, checking the fairCleanPrice from the
asset swap against the bond clean price

runs fine with an almost zero tolerance. With indexed coupons enables
it breaks with some decent difference showing up.

>From my point of view it is not the asset swap instrument or the
pricing engines which do not work correctly with indexed coupons (as
it is written as a comment in the instrument's code), but the test
case itself is not correctly formulated in this case:

While the usefulness of indexed coupon (producing non par floating
legs due to date adjustments for index estimation not matching the
coupon periods) may be limited, the same test cases would also fail
under a multicurve setup; nowadays it seems quite standard to value
asset swaps under OIS discounting (and quote asset swap spreads this
way, too), and using a dedicated forward curve, so a floating leg will
not be worth par anyway for these reasons alone.

Therefore I would propose to simply deactivate the test cases relying
on a par floating leg in case indexed coupons are used.

Anything speaking against this ? Otherwise I'd just send a pull
request in that direction.

Best regards
Peter

------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev