double strike = 102;
DoubleTimeSeries<?> shortTS = ImmutableInstantDoubleTimeSeries.of(new long[] {1}, new double[] {strike});
StandardOptionWithSpotTimeSeriesDataBundle data = DATA.withSpotTimeSeries(shortTS).withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(0)));
OptionDefinition vanilla = new EuropeanVanillaOptionDefinition(strike, EXPIRY, true);
assertEquals(MODEL.getPricingFunction(CALL).evaluate(data), BSM.getPricingFunction(vanilla).evaluate(data), 1e-9);
data = data.withCostOfCarry(0);
assertEquals(MODEL.getPricingFunction(CALL).evaluate(data), BSM.getPricingFunction(vanilla).evaluate(data), 1e-9);
strike = 95;
shortTS = ImmutableInstantDoubleTimeSeries.of(new long[] {1}, new double[] {strike});
data = DATA.withSpotTimeSeries(shortTS).withVolatilitySurface(new VolatilitySurface(ConstantDoublesSurface.from(0)));
vanilla = new EuropeanVanillaOptionDefinition(strike, EXPIRY, false);