Skip to content

Bond future #324

@noonediesalone

Description

@noonediesalone

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions