public void theta() {
   double priceFutures =
       METHOD_FUTURE.price(CALL_JB_147.getUnderlyingFuture(), ISSUER_SPECIFIC_MULTICURVES);
   double expiry = CALL_JB_147.getExpirationTime();
   double volatility = BLACK_SURFACE_EXP_STRIKE.getZValue(expiry, STRIKE_147);
   double rate =
       -Math.log(
               ISSUER_SPECIFIC_MULTICURVES
                   .getMulticurveProvider()
                   .getDiscountFactor(CALL_JB_147.getCurrency(), CALL_JB_147.getExpirationTime()))
           / CALL_JB_147.getExpirationTime();
   double thetaCallExpected =
       BlackFormulaRepository.theta(
           priceFutures,
           STRIKE_147,
           CALL_JB_147.getExpirationTime(),
           volatility,
           CALL_JB_147.isCall(),
           rate);
   double thetaCallComputed = METHOD_OPT.theta(CALL_JB_147, BLACK_EXP_STRIKE_BNDFUT);
   assertEquals(
       "BondFuturesOptionMarginSecurityBlackFlatMethod: theta",
       thetaCallExpected,
       thetaCallComputed,
       TOLERANCE_DELTA);
 }