Examples of BondFutureOptionPremiumSecurity


Examples of com.opengamma.analytics.financial.interestrate.future.derivative.BondFutureOptionPremiumSecurity

  public BondFutureOptionPremiumSecurity toDerivative(final ZonedDateTime date, final String... yieldCurveNames) {
    ArgumentChecker.isTrue(!date.isAfter(_expirationDate), "Date is after expiration date");
    final Double referencePrice = 0.0; // FIXME Bond future should have a "Security" version, without transaction price.
    final BondFuture underlyingFuture = _underlyingFuture.toDerivative(date, referencePrice, yieldCurveNames);
    final double expirationTime = TimeCalculator.getTimeBetween(date, _expirationDate);
    return new BondFutureOptionPremiumSecurity(underlyingFuture, expirationTime, _strike, _isCall);
  }
View Full Code Here

Examples of com.opengamma.analytics.financial.interestrate.future.derivative.BondFutureOptionPremiumSecurity

  public BondFutureOptionPremiumSecurity toDerivative(final ZonedDateTime date) {
    ArgumentChecker.isTrue(!date.isAfter(_expirationDate), "Date is after expiration date");
    final Double referencePrice = 0.0; // FIXME Bond future should have a "Security" version, without transaction price.
    final BondFuture underlyingFuture = _underlyingFuture.toDerivative(date, referencePrice);
    final double expirationTime = TimeCalculator.getTimeBetween(date, _expirationDate);
    return new BondFutureOptionPremiumSecurity(underlyingFuture, expirationTime, _strike, _isCall);
  }
View Full Code Here

Examples of com.opengamma.analytics.financial.interestrate.future.derivative.BondFutureOptionPremiumSecurity

  @Override
  public BondFutureOptionPremiumTransaction toDerivative(final ZonedDateTime date, final String... yieldCurveNames) {
    ArgumentChecker.notNull(date, "Reference date");
    ArgumentChecker.notNull(yieldCurveNames, "Curve names");
    ArgumentChecker.isTrue(yieldCurveNames.length > 1, "At least two curves required: credit and discounting");
    final BondFutureOptionPremiumSecurity option = _underlyingOption.toDerivative(date, yieldCurveNames);
    final double premiumTime = TimeCalculator.getTimeBetween(date, _premium.getPaymentDate());
    if (premiumTime < 0) { // Premium payment in the past: it is represented by a 0 payment today.
      return new BondFutureOptionPremiumTransaction(option, _quantity, new PaymentFixed(getCurrency(), 0, 0, yieldCurveNames[1]));
    }
    return new BondFutureOptionPremiumTransaction(option, _quantity, _premium.toDerivative(date, yieldCurveNames[1]));
View Full Code Here

Examples of com.opengamma.analytics.financial.interestrate.future.derivative.BondFutureOptionPremiumSecurity

  }

  @Override
  public BondFutureOptionPremiumTransaction toDerivative(final ZonedDateTime date) {
    ArgumentChecker.notNull(date, "Reference date");
    final BondFutureOptionPremiumSecurity option = _underlyingOption.toDerivative(date);
    final double premiumTime = TimeCalculator.getTimeBetween(date, _premium.getPaymentDate());
    if (premiumTime < 0) { // Premium payment in the past: it is represented by a 0 payment today.
      return new BondFutureOptionPremiumTransaction(option, _quantity, new PaymentFixed(getCurrency(), 0, 0));
    }
    return new BondFutureOptionPremiumTransaction(option, _quantity, _premium.toDerivative(date));
View Full Code Here

Examples of com.opengamma.analytics.financial.interestrate.future.derivative.BondFutureOptionPremiumSecurity

   */
  @SuppressWarnings("deprecation")
  @Test
  public void toDerivativeDeprecated() {
    final String[] curveNames = new String[] {"A", "B"};
    final BondFutureOptionPremiumSecurity optionConverted = FVU1_C100_DEFINITION.toDerivative(REFERENCE_DATE, curveNames);
    final BondFutureOptionPremiumSecurity optionExpected = new BondFutureOptionPremiumSecurity(FVU1_DEFINITION.toDerivative(REFERENCE_DATE, 0.0, curveNames), TimeCalculator.getTimeBetween(REFERENCE_DATE,
        EXPIRATION_DATE), STRIKE, IS_CALL);
    assertEquals("Bond future option premium security definition: toDerivative", optionExpected, optionConverted);
  }
View Full Code Here

Examples of com.opengamma.analytics.financial.interestrate.future.derivative.BondFutureOptionPremiumSecurity

  /**
   * Tests the toDerivative method.
   */
  @Test
  public void toDerivative() {
    final BondFutureOptionPremiumSecurity optionConverted = FVU1_C100_DEFINITION.toDerivative(REFERENCE_DATE);
    final BondFutureOptionPremiumSecurity optionExpected = new BondFutureOptionPremiumSecurity(FVU1_DEFINITION.toDerivative(REFERENCE_DATE, 0.0), TimeCalculator.getTimeBetween(REFERENCE_DATE,
        EXPIRATION_DATE), STRIKE, IS_CALL);
    assertEquals("Bond future option premium security definition: toDerivative", optionExpected, optionConverted);
  }
View Full Code Here

Examples of com.opengamma.analytics.financial.interestrate.future.derivative.BondFutureOptionPremiumSecurity

    throw new OpenGammaRuntimeException("Could not find option ticker");
  }

  private Surface<Double, Double, Double> getVolatilitySurface(final Surface<Double, Double, Double> surface, final double callPrice, final double putPrice, final double futureMarketPrice,
      final BondFutureOptionPremiumTransaction futureOption, final YieldCurveBundle data) {
    final BondFutureOptionPremiumSecurity underlyingOption = futureOption.getUnderlyingOption();
    final double futurePrice = BondFutureDiscountingMethod.getInstance().price(underlyingOption.getUnderlyingFuture(), data);
    final double strike = underlyingOption.getStrike();
    final double t = underlyingOption.getExpirationTime();
    double impliedVolatility;
    final boolean isCall = underlyingOption.isCall();
    try {
      if (isCall) {
        impliedVolatility = BlackFormulaRepository.impliedVolatility(callPrice, futurePrice, strike, t, true);
      } else {
        impliedVolatility = BlackFormulaRepository.impliedVolatility(putPrice, futurePrice, strike, t, false);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.