/** * Computes the present value of a bond future option. The option security price is computed * according to the data available in the bundle. If the underlying future price is available it * is used, if not it is computed from the curves. * * @param transaction The option transaction. * @param curves The curves bundle. * @return The present value. */ public CurrencyAmount presentValue( final BondFutureOptionPremiumTransaction transaction, final YieldCurveBundle curves) { ArgumentChecker.notNull(transaction, "transaction"); ArgumentChecker.notNull(curves, "curves"); final double priceSecurity = METHOD_SECURITY.optionPrice(transaction.getUnderlyingOption(), curves); final CurrencyAmount pvTransaction = presentValueFromPrice(transaction, curves, priceSecurity); return pvTransaction; }