/** * Compute the present value of a bond future option transaction from the quoted option price. * * @param option The future option, not null * @param curves The curves, not null * @param price The quoted price * @return The present value. */ public CurrencyAmount presentValueFromPrice( final BondFutureOptionPremiumTransaction option, final YieldCurveBundle curves, final double price) { ArgumentChecker.notNull(option, "option"); ArgumentChecker.notNull(curves, "curves"); final Currency ccy = option.getUnderlyingOption().getCurrency(); final CurrencyAmount premiumPV = option.getPremium().accept(PVC, curves).getCurrencyAmount(ccy); final double optionPV = price * option.getQuantity() * option.getUnderlyingOption().getUnderlyingFuture().getNotional(); return premiumPV.plus(optionPV); }