Package com.opengamma.analytics.financial.model.option.pricing.analytic.formula

Examples of com.opengamma.analytics.financial.model.option.pricing.analytic.formula.EuropeanVanillaOption


    ArgumentChecker.notNull(security, "security");
    ArgumentChecker.notNull(blackData, "Black data");
    // Forward sweep
    final double priceFuture = blackData.getForward();
    final double strike = security.getStrike();
    final EuropeanVanillaOption option = new EuropeanVanillaOption(strike, security.getExpirationTime(), security.isCall());
    final double volatility = blackData.getVolatility(security.getExpirationTime(), security.getStrike());
    final BlackFunctionData dataBlack = new BlackFunctionData(priceFuture, 1.0, volatility);
    final double[] priceAdjoint = BLACK_FUNCTION.getPriceAdjoint(option, dataBlack);
    // Backward sweep
    final double priceBar = 1.0;
View Full Code Here


  public SurfaceValue priceBlackSensitivity(final BondFutureOptionPremiumSecurity security, final YieldCurveWithBlackCubeAndForwardBundle blackData) {
    ArgumentChecker.notNull(security, "security");
    ArgumentChecker.notNull(blackData, "YieldCurveWithBlackCubeBundle was unexpectedly null");
    // Forward sweep
    final double strike = security.getStrike();
    final EuropeanVanillaOption option = new EuropeanVanillaOption(strike, security.getExpirationTime(), security.isCall());
    final double volatility = blackData.getVolatility(security.getExpirationTime(), security.getStrike());
    final BlackFunctionData dataBlack = new BlackFunctionData(blackData.getForward(), 1.0, volatility);
    final double[] priceAdjoint = BLACK_FUNCTION.getPriceAdjoint(option, dataBlack);
    // Backward sweep
    final double priceBar = 1.0;
View Full Code Here

  public double optionPriceDelta(final BondFutureOptionPremiumSecurity security, final YieldCurveWithBlackCubeAndForwardBundle blackData) {
    ArgumentChecker.notNull(security, "security");
    ArgumentChecker.notNull(blackData, "YieldCurveWithBlackCubeAndForwardBundle was unexpectedly null");
    // Forward sweep
    final double strike = security.getStrike();
    final EuropeanVanillaOption option = new EuropeanVanillaOption(strike, security.getExpirationTime(), security.isCall());

    final double volatility = blackData.getVolatility(security.getExpirationTime(), security.getStrike());
    final BlackFunctionData dataBlack = new BlackFunctionData(blackData.getForward(), 1.0, volatility);

    final double[] firstDerivs = BLACK_FUNCTION.getPriceAdjoint(option, dataBlack);
View Full Code Here

  public double optionPriceGamma(final BondFutureOptionPremiumSecurity security, final YieldCurveWithBlackCubeAndForwardBundle blackData) {
    ArgumentChecker.notNull(security, "security");
    ArgumentChecker.notNull(blackData, "YieldCurveWithBlackCubeBundle was unexpectedly null");
    // Forward sweep
    final double strike = security.getStrike();
    final EuropeanVanillaOption option = new EuropeanVanillaOption(strike, security.getExpirationTime(), security.isCall());

    final double volatility = blackData.getVolatility(security.getExpirationTime(), security.getStrike());
    final BlackFunctionData dataBlack = new BlackFunctionData(blackData.getForward(), 1.0, volatility);

    // TODO This is overkill. We only need one value, but it provides extra calculations while doing testing
View Full Code Here

  public double optionPriceVega(final BondFutureOptionPremiumSecurity security, final YieldCurveWithBlackCubeAndForwardBundle blackData) {
    ArgumentChecker.notNull(security, "security");
    ArgumentChecker.notNull(blackData, "YieldCurveWithBlackCubeBundle was unexpectedly null");
    // Forward sweep
    final double strike = security.getStrike();
    final EuropeanVanillaOption option = new EuropeanVanillaOption(strike, security.getExpirationTime(), security.isCall());

    final double volatility = blackData.getVolatility(security.getExpirationTime(), security.getStrike());
    final BlackFunctionData dataBlack = new BlackFunctionData(blackData.getForward(), 1.0, volatility);

    final double[] firstDerivs = BLACK_FUNCTION.getPriceAdjoint(option, dataBlack);
View Full Code Here

   */
  public double price(final BondFutureOptionPremiumSecurity security, final BlackBondFuturesSmilePriceProviderInterface blackPrice) {
    ArgumentChecker.notNull(security, "security");
    ArgumentChecker.notNull(blackPrice, "Black and price data");
    final double strike = security.getStrike();
    final EuropeanVanillaOption option = new EuropeanVanillaOption(strike, security.getExpirationTime(), security.isCall());
    final double volatility = blackPrice.getBlackProvider().getVolatility(security.getExpirationTime(), security.getStrike());
    final BlackFunctionData dataBlack = new BlackFunctionData(blackPrice.getFuturesPrice(), 1.0, volatility);
    final double priceSecurity = BLACK_FUNCTION.getPriceFunction(option).evaluate(dataBlack);
    return priceSecurity;
  }
View Full Code Here

    ArgumentChecker.notNull(security, "security");
    ArgumentChecker.notNull(blackPrice, "Black data");
    // Forward sweep
    final double priceFuture = blackPrice.getFuturesPrice();
    final double strike = security.getStrike();
    final EuropeanVanillaOption option = new EuropeanVanillaOption(strike, security.getExpirationTime(), security.isCall());
    final double volatility = blackPrice.getBlackProvider().getVolatility(security.getExpirationTime(), security.getStrike());
    final BlackFunctionData dataBlack = new BlackFunctionData(priceFuture, 1.0, volatility);
    final double[] priceAdjoint = BLACK_FUNCTION.getPriceAdjoint(option, dataBlack);
    // Backward sweep
    final double priceBar = 1.0;
View Full Code Here

  public SurfaceValue priceBlackSensitivity(final BondFutureOptionPremiumSecurity security, final BlackBondFuturesSmilePriceProviderInterface blackPrice) {
    ArgumentChecker.notNull(security, "security");
    ArgumentChecker.notNull(blackPrice, "YieldCurveWithBlackCubeBundle was unexpectedly null");
    // Forward sweep
    final double strike = security.getStrike();
    final EuropeanVanillaOption option = new EuropeanVanillaOption(strike, security.getExpirationTime(), security.isCall());
    final double volatility = blackPrice.getBlackProvider().getVolatility(security.getExpirationTime(), security.getStrike());
    final BlackFunctionData dataBlack = new BlackFunctionData(blackPrice.getFuturesPrice(), 1.0, volatility);
    final double[] priceAdjoint = BLACK_FUNCTION.getPriceAdjoint(option, dataBlack);
    // Backward sweep
    final double priceBar = 1.0;
View Full Code Here

  public double priceDelta(final BondFutureOptionPremiumSecurity security, final BlackBondFuturesSmilePriceProviderInterface blackPrice) {
    ArgumentChecker.notNull(security, "security");
    ArgumentChecker.notNull(blackPrice, "YieldCurveWithBlackCubeAndForwardBundle was unexpectedly null");
    // Forward sweep
    final double strike = security.getStrike();
    final EuropeanVanillaOption option = new EuropeanVanillaOption(strike, security.getExpirationTime(), security.isCall());
    final double volatility = blackPrice.getBlackProvider().getVolatility(security.getExpirationTime(), security.getStrike());
    final BlackFunctionData dataBlack = new BlackFunctionData(blackPrice.getFuturesPrice(), 1.0, volatility);
    final double[] firstDerivs = BLACK_FUNCTION.getPriceAdjoint(option, dataBlack);
    return firstDerivs[1];
  }
View Full Code Here

  public double priceGamma(final BondFutureOptionPremiumSecurity security, final BlackBondFuturesSmilePriceProviderInterface blackPrice) {
    ArgumentChecker.notNull(security, "security");
    ArgumentChecker.notNull(blackPrice, "YieldCurveWithBlackCubeBundle was unexpectedly null");
    // Forward sweep
    final double strike = security.getStrike();
    final EuropeanVanillaOption option = new EuropeanVanillaOption(strike, security.getExpirationTime(), security.isCall());
    final double volatility = blackPrice.getBlackProvider().getVolatility(security.getExpirationTime(), security.getStrike());
    final BlackFunctionData dataBlack = new BlackFunctionData(blackPrice.getFuturesPrice(), 1.0, volatility);
    final double[] firstDerivs = new double[3];
    final double[][] secondDerivs = new double[3][3];
    BLACK_FUNCTION.getPriceAdjoint2(option, dataBlack, firstDerivs, secondDerivs);
View Full Code Here

TOP

Related Classes of com.opengamma.analytics.financial.model.option.pricing.analytic.formula.EuropeanVanillaOption

Copyright © 2018 www.massapicom. 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.