-
Notifications
You must be signed in to change notification settings - Fork 265
Description
Hi,
BondFuture trade type was introduced in release 14.0.
I couldn't find a specific example for this in Examples\Products\Example_Trades but should looks like the trade in attached: BondFuture.zip
From the output we can see that NPV is zero because the flows StrikeFlow and BondValueFlow get computed to same value and opposite signs.
That's because in DiscountingBondFutureEngine::calculate the two prices (strike and fwd) are equal which doesn't seem to evaluate a futures contract where the strike would be set on the trade:
Date today = Settings::instance().evaluationDate();
Date priceDate = std::min(arguments_.index->futureExpiryDate(), today);
Real strike = arguments_.index->fixing(priceDate, false);
Real fwd = arguments_.index->fixing(priceDate, true);
On a connected note, would be nice to have an Interest Rate Future instrument as well. That would make sense for e.g. PAR sensitivity analysis where there is no FUT instrument while on the yield curve we can have this segment type.
Regards,
Laurentiu.