Examples of withVolatilitySurface()


Examples of com.opengamma.analytics.financial.model.option.definition.ConstantElasticityOfVarianceModelDataBundle.withVolatilitySurface()

  public void test() {
    final double eps = 1e-4;
    OptionDefinition option = new EuropeanVanillaOptionDefinition(90, EXPIRY, true);
    ConstantElasticityOfVarianceModelDataBundle data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(0)));
    VolatilitySurface blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
    assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), BSM.getPricingFunction(option).evaluate(data), 0);
    data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(0.5)));
    blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
    assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), 9.7531, eps);
    data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(1)));
    option = new EuropeanVanillaOptionDefinition(95, EXPIRY, true);
View Full Code Here

Examples of com.opengamma.analytics.financial.model.option.definition.ConstantElasticityOfVarianceModelDataBundle.withVolatilitySurface()

    ConstantElasticityOfVarianceModelDataBundle data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(0)));
    VolatilitySurface blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
    assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), BSM.getPricingFunction(option).evaluate(data), 0);
    data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(0.5)));
    blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
    assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), 9.7531, eps);
    data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(1)));
    option = new EuropeanVanillaOptionDefinition(95, EXPIRY, true);
    blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
    assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), 5.2678, eps);
    data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(2)));
View Full Code Here

Examples of com.opengamma.analytics.financial.model.option.definition.ConstantElasticityOfVarianceModelDataBundle.withVolatilitySurface()

    blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
    assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), 9.7531, eps);
    data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(1)));
    option = new EuropeanVanillaOptionDefinition(95, EXPIRY, true);
    blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
    assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), 5.2678, eps);
    data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(2)));
    option = new EuropeanVanillaOptionDefinition(100, EXPIRY, true);
    blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
    assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), 3.8897, eps);
    data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(3)));
View Full Code Here

Examples of com.opengamma.analytics.financial.model.option.definition.ConstantElasticityOfVarianceModelDataBundle.withVolatilitySurface()

    blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
    assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), 5.2678, eps);
    data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(2)));
    option = new EuropeanVanillaOptionDefinition(100, EXPIRY, true);
    blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
    assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), 3.8897, eps);
    data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(3)));
    option = new EuropeanVanillaOptionDefinition(105, EXPIRY, true);
    blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
    assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), 3.7832, eps);
    data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(4)));
View Full Code Here

Examples of com.opengamma.analytics.financial.model.option.definition.ConstantElasticityOfVarianceModelDataBundle.withVolatilitySurface()

    blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
    assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), 3.8897, eps);
    data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(3)));
    option = new EuropeanVanillaOptionDefinition(105, EXPIRY, true);
    blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
    assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), 3.7832, eps);
    data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(4)));
    option = new EuropeanVanillaOptionDefinition(115, EXPIRY, true);
    blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
    assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), 2.7613, eps);
  }
View Full Code Here

Examples of com.opengamma.analytics.financial.model.option.definition.ConstantElasticityOfVarianceModelDataBundle.withVolatilitySurface()

    blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
    assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), 3.7832, eps);
    data = DATA.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(4)));
    option = new EuropeanVanillaOptionDefinition(115, EXPIRY, true);
    blackEquivalent = MODEL.getSurface(Collections.<OptionDefinition, Double> singletonMap(option, 0.), data);
    assertEquals(BSM.getPricingFunction(option).evaluate(data.withVolatilitySurface(blackEquivalent)), 2.7613, eps);
  }
}
View Full Code Here

Examples of com.opengamma.analytics.financial.model.option.definition.StandardOptionDataBundle.withVolatilitySurface()

        final Function1D<StandardOptionDataBundle, Double> bsmFunction = BSM.getPricingFunction(definition);
        double price = mult * bsmFunction.evaluate(bsmData);
        for (int i = 1; i < N; i++) {
          z = Math.sqrt(sigmaSq + delta * delta * i / t);
          b += gamma / t;
          bsmData = bsmData.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(z))).withCostOfCarry(b);
          mult *= lambdaT / i;
          price += mult * bsmFunction.evaluate(bsmData);
        }
        return price;
      }
View Full Code Here

Examples of com.opengamma.analytics.financial.model.option.definition.StandardOptionDataBundle.withVolatilitySurface()

        final double df = getDF(r, b, t);
        final double sDf = s * df;
        final double d1 = getD(s, k, b, meanVariance, t);
        final double d2 = d1 - Math.sqrt(meanVariance * t);
        final double nD1 = NORMAL.getPDF(d1);
        final double f0 = BSM.getPricingFunction(call).evaluate(bsmData.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(Math.sqrt(meanVariance)))));
        final double f1 = getF1(betaIsZero, variance, rho, alpha, t, beta, delta, eDelta, sDf, nD1, d2, meanVariance);
        final double f2 = getF2(betaIsZero, variance, rho, alpha, t, beta, delta, eDelta, sDf, nD1, d1, d2, meanVariance);
        final double callPrice = f0 + f1 * volOfSigma + f2 * volOfSigma * volOfSigma;
        if (!definition.isCall()) {
          return callPrice - s * df + k * Math.exp(-r * t);
 
View Full Code Here

Examples of com.opengamma.analytics.financial.model.option.definition.StandardOptionDataBundle.withVolatilitySurface()

        final Function1D<StandardOptionDataBundle, Double> bsmFunction = BSM.getPricingFunction(definition);
        double price = mult * bsmFunction.evaluate(bsmData);
        for (int i = 1; i < N; i++) {
          sigmaAdjusted = Math.sqrt(zSq + delta * delta * i / t);
          mult *= lambdaT / i;
          price += mult * bsmFunction.evaluate(bsmData.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(sigmaAdjusted))));
        }
        return price;
      }
    };
    return pricingFunction;
View Full Code Here

Examples of com.opengamma.analytics.financial.model.option.definition.StandardOptionDataBundle.withVolatilitySurface()

    final double startSigma = 0.18;
    final double[] sigma = new double[] {startSigma, startSigma + diff, startSigma + 2 * diff, startSigma + 3 * diff};
    for (int i = 0; i < sigma.length; i++) {
      for (final double strike : STRIKE) {
        definition = new EuropeanVanillaOptionDefinition(strike, EXPIRY[i], IS_CALL);
        data = data.withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(sigma[i])));
        prices.put(definition, BSM.getPricingFunction(definition).evaluate(data));
      }
    }
    final VolatilitySurface surface = MODEL.getSurface(prices, data);
    double result;
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.