termstructure daycounter and put/call parity

Posted by Roland Lichters on
URL: http://quantlib.414.s1.nabble.com/termstructure-daycounter-and-put-call-parity-tp4936.html

Hello all,

the QuantLib test-suite (capfloor.cpp) checks that the put/call parity (capNPV - floorNPV = swapNPV) holds. It seems to me that this test is passed successfully only as long as one chooses  term structure daycount Actual360(), see function setup() in capfloor.cpp.

After setting this to e.g. ActualActual(ActualActual::ISDA) and keeping anything else unchanged, the test suite fails with the following messages ..

Running 236 test cases...
capfloor.cpp(283): fatal error in "CapFloorTest::testParity": put/call parity violated:
    length:      1 years
    volatility:  1.000000 %
    strike:      3.000000 %
    cap v alue:   2.01507
    floor value: 0
    swap value:  1.94683

.. because the  cap price is overstated.

I assume that the term structure daycounter should not have this effect on pricing results. Shouldn't it be arbitrary?

Would you please have a quick look and correct me if I am wrong.

I noticed this while building a small caplet volatility bootstrap tool that I'd like to contribute (eventually) if there is any interest.  

Many thanks for your efforts,

Roland

 


 



Der WEB.DE SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!   
<A HREF="http://smartsurfer.web.de/?mc=100071&distributionid=000 000000071">http://smartsurfer.web.de/?mc=100071&distributionid=000000000071