Examples of VolatilitySurface


Examples of com.opengamma.analytics.financial.model.volatility.surface.VolatilitySurface

    final double sigma = _data.getVolatility(t, _definition.getStrike());
    final double variance = sigma * sigma;
    final double s = _data.getSpot();
    final double sUp = s + EPS;
    final double sDown = s - EPS;
    final VolatilitySurface upSurface = new VolatilitySurface(ConstantDoublesSurface.from(Math.sqrt(variance + EPS)));
    final VolatilitySurface downSurface = new VolatilitySurface(ConstantDoublesSurface.from(Math.sqrt(variance - EPS)));
    final S dataUp1Up2 = (S) _data.withVolatilitySurface(upSurface).withSpot(sUp);
    final S dataUp1Down2 = (S) _data.withVolatilitySurface(upSurface).withSpot(sDown);
    final S dataDown1Up2 = (S) _data.withVolatilitySurface(downSurface).withSpot(sUp);
    final S dataDown1Down2 = (S) _data.withVolatilitySurface(downSurface).withSpot(sDown);
    return _data.getSpot() * getMixedSecondDerivative(dataUp1Up2, dataUp1Down2, dataDown1Up2, dataDown1Down2);
View Full Code Here

Examples of com.opengamma.analytics.financial.model.volatility.surface.VolatilitySurface

  @Override
  public Double visitVarianceVega() {
    final double t = _definition.getTimeToExpiry(_data.getDate());
    final double sigma = _data.getVolatility(t, _definition.getStrike());
    final double variance = sigma * sigma;
    final VolatilitySurface upSurface = new VolatilitySurface(ConstantDoublesSurface.from(Math.sqrt(variance + EPS)));
    final VolatilitySurface downSurface = new VolatilitySurface(ConstantDoublesSurface.from(Math.sqrt(variance - EPS)));
    final S dataUp = (S) _data.withVolatilitySurface(upSurface);
    final S dataDown = (S) _data.withVolatilitySurface(downSurface);
    return getFirstDerivative(dataUp, dataDown);
  }
View Full Code Here

Examples of com.opengamma.analytics.financial.model.volatility.surface.VolatilitySurface

  @Override
  public Double visitVarianceVomma() {
    final double t = _definition.getTimeToExpiry(_data.getDate());
    final double sigma = _data.getVolatility(t, _definition.getStrike());
    final double variance = sigma * sigma;
    final VolatilitySurface upSurface = new VolatilitySurface(ConstantDoublesSurface.from(Math.sqrt(variance + EPS)));
    final VolatilitySurface downSurface = new VolatilitySurface(ConstantDoublesSurface.from(Math.sqrt(variance - EPS)));
    final S dataUp = (S) _data.withVolatilitySurface(upSurface);
    final S dataDown = (S) _data.withVolatilitySurface(downSurface);
    return getSecondDerivative(dataUp, dataDown, _data);
  }
View Full Code Here

Examples of com.opengamma.analytics.financial.model.volatility.surface.VolatilitySurface

  @Override
  public Double visitVegaBleed() {
    final ZonedDateTime upDate = DateUtils.getDateOffsetWithYearFraction(_data.getDate(), EPS);
    final ZonedDateTime downDate = DateUtils.getDateOffsetWithYearFraction(_data.getDate(), -EPS);
    final VolatilitySurface upSurface = _data.getVolatilitySurface().withParallelShift(EPS);
    final VolatilitySurface downSurface = _data.getVolatilitySurface().withParallelShift(-EPS);
    final S dataUp1Up2 = (S) _data.withVolatilitySurface(upSurface).withDate(upDate);
    final S dataUp1Down2 = (S) _data.withVolatilitySurface(upSurface).withDate(downDate);
    final S dataDown1Up2 = (S) _data.withVolatilitySurface(downSurface).withDate(upDate);
    final S dataDown1Down2 = (S) _data.withVolatilitySurface(downSurface).withDate(downDate);
    return getMixedSecondDerivative(dataUp1Up2, dataUp1Down2, dataDown1Up2, dataDown1Down2);
View Full Code Here

Examples of com.opengamma.analytics.financial.model.volatility.surface.VolatilitySurface

    return visitVega() * sigma / 10;
  }

  @Override
  public Double visitVomma() {
    final VolatilitySurface upSurface = _data.getVolatilitySurface().withParallelShift(EPS);
    final VolatilitySurface downSurface = _data.getVolatilitySurface().withParallelShift(-EPS);
    final S dataUp = (S) _data.withVolatilitySurface(upSurface);
    final S dataDown = (S) _data.withVolatilitySurface(downSurface);
    return getSecondDerivative(dataUp, dataDown, _data);
  }
View Full Code Here

Examples of com.opengamma.analytics.financial.model.volatility.surface.VolatilitySurface

  @Override
  public Double visitZomma() {
    final double s = _data.getSpot();
    final double sUp = s + EPS;
    final double sDown = s - EPS;
    final VolatilitySurface upSurface = _data.getVolatilitySurface().withParallelShift(EPS);
    final VolatilitySurface downSurface = _data.getVolatilitySurface().withParallelShift(-EPS);
    final S dataUp1Up1 = (S) _data.withSpot(sUp).withVolatilitySurface(upSurface);
    final S dataUp2 = (S) _data.withVolatilitySurface(upSurface);
    final S dataDown1Up2 = (S) _data.withSpot(sDown).withVolatilitySurface(upSurface);
    final S dataUp1Down2 = (S) _data.withSpot(sUp).withVolatilitySurface(downSurface);
    final S dataDown2 = (S) _data.withVolatilitySurface(downSurface);
View Full Code Here

Examples of com.opengamma.analytics.financial.model.volatility.surface.VolatilitySurface

    @SuppressWarnings("unchecked")
    @Override
    public VolatilitySurface buildObject(final FudgeDeserializer deserializer, final FudgeMsg message) {
      final Object surface = deserializer.fieldValueToObject(message.getByName(SURFACE_FIELD_NAME));
      return new VolatilitySurface((Surface<Double, Double, Double>) surface);
    }
View Full Code Here

Examples of com.opengamma.analytics.financial.model.volatility.surface.VolatilitySurface

          sigma.add(vol);
        }
      }
    }
    final Surface<Double, Double, Double> surface = InterpolatedDoublesSurface.from(t.toDoubleArray(), k.toDoubleArray(), sigma.toDoubleArray(), _interpolator);
    final VolatilitySurface volatilitySurface = new VolatilitySurface(surface);
    return Collections.singleton(new ComputedValue(_result, volatilitySurface));
  }
View Full Code Here

Examples of com.opengamma.analytics.financial.model.volatility.surface.VolatilitySurface

    assertEquals(other.hashCode(), DATA.hashCode());
    other = new BlackOptionDataBundle(F + 1, CURVE, SURFACE, DATE);
    assertFalse(other.equals(DATA));
    other = new BlackOptionDataBundle(F, YieldCurve.from(ConstantDoublesCurve.from(0.06)), SURFACE, DATE);
    assertFalse(other.equals(DATA));
    other = new BlackOptionDataBundle(F, CURVE, new VolatilitySurface(ConstantDoublesSurface.from(0.6)), DATE);
    assertFalse(other.equals(DATA));
    other = new BlackOptionDataBundle(F, CURVE, SURFACE, DATE.plusDays(1));
    assertFalse(other.equals(DATA));
  }
View Full Code Here

Examples of com.opengamma.analytics.financial.model.volatility.surface.VolatilitySurface

    assertEquals(DATA.withDate(newDate), new BlackOptionDataBundle(F, CURVE, SURFACE, newDate));
    final double newForward = F + 1;
    assertEquals(DATA.withForward(newForward), new BlackOptionDataBundle(newForward, CURVE, SURFACE, DATE));
    final YieldCurve newCurve = YieldCurve.from(ConstantDoublesCurve.from(0.05));
    assertEquals(DATA.withInterestRateCurve(newCurve), new BlackOptionDataBundle(F, newCurve, SURFACE, DATE));
    final VolatilitySurface newSurface = new VolatilitySurface(ConstantDoublesSurface.from(0.9));
    assertEquals(DATA.withVolatilitySurface(newSurface), new BlackOptionDataBundle(F, CURVE, newSurface, DATE));
  }
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.