Package com.opengamma.analytics.math.interpolation

Examples of com.opengamma.analytics.math.interpolation.Interpolator1D


    @Override
    public CombinedInterpolatorExtrapolator buildObject(final FudgeDeserializer deserializer, final FudgeMsg message) {
      final String interpolatorName = message.getString(INTERPOLATOR_FIELD_NAME);
      final String leftExtrapolatorName = message.getString(LEFT_EXTRAPOLATOR_FIELD_NAME);
      final String rightExtrapolatorName = message.getString(RIGHT_EXTRAPOLATOR_FIELD_NAME);
      final Interpolator1D interpolator = Interpolator1DFactory.getInterpolator(interpolatorName);
      final Interpolator1D leftExtrapolator = getExtrapolator(leftExtrapolatorName, interpolator);
      final Interpolator1D rightExtrapolator = getExtrapolator(rightExtrapolatorName, interpolator);
      return new CombinedInterpolatorExtrapolator(interpolator, leftExtrapolator, rightExtrapolator);
    }
View Full Code Here


    @Override
    public InterpolatedDoublesCurve buildObject(final FudgeDeserializer deserializer, final FudgeMsg message) {
      final double[] x = deserializer.fieldValueToObject(double[].class, message.getByName(X_DATA_FIELD_NAME));
      final double[] y = deserializer.fieldValueToObject(double[].class, message.getByName(Y_DATA_FIELD_NAME));
      final Interpolator1D interpolator = deserializer.fieldValueToObject(Interpolator1D.class, message.getByName(INTERPOLATOR_FIELD_NAME));
      final String name = deserializer.fieldValueToObject(String.class, message.getByName(CURVE_NAME_FIELD_NAME));
      return InterpolatedDoublesCurve.fromSorted(x, y, interpolator, name);
    }
View Full Code Here

      final int n = t.length;
      final SmileDeltaParameters[] smiles = new SmileDeltaParameters[n];
      for (int i = 0; i < n; i++) {
        smiles[i] = new SmileDeltaParameters(t[i], delta[i], volatility[i]);
      }
      final Interpolator1D strikeInterpolator = deserializer.fieldValueToObject(Interpolator1D.class, message.getByName(STRIKE_INTERPOLATOR_NAME));
      final Interpolator1D timeInterpolator = deserializer.fieldValueToObject(Interpolator1D.class, message.getByName(TIME_INTERPOLATOR_NAME));
      return new SmileDeltaTermStructureParametersStrikeInterpolation(smiles, strikeInterpolator, timeInterpolator);
    }
View Full Code Here

      final int n = t.length;
      final SmileDeltaParameters[] smiles = new SmileDeltaParameters[n];
      for (int i = 0; i < n; i++) {
        smiles[i] = new SmileDeltaParameters(t[i], delta[i], volatility[i]);
      }
      final Interpolator1D interpolator = deserializer.fieldValueToObject(Interpolator1D.class, message.getByName(TIME_INTERPOLATOR_NAME));
      return new SmileDeltaTermStructureParameters(smiles, interpolator);
    }
View Full Code Here

    final double[] delta = new double[] {0.10, 0.25};
    final double[][] rr = new double[][] { {-0.010, -0.0050}, {-0.011, -0.0060}, {-0.012, -0.0070}, {-0.013, -0.0080}, {-0.014, -0.0090}};
    final double[][] strangle = new double[][] { {0.0300, 0.0100}, {0.0310, 0.0110}, {0.0320, 0.0120}, {0.0330, 0.0130}, {0.0340, 0.0140}};
    SmileDeltaTermStructureParametersStrikeInterpolation smiles = new SmileDeltaTermStructureParametersStrikeInterpolation(t, delta, atm, rr, strangle);
    assertEquals(smiles, cycleObject(SmileDeltaTermStructureParametersStrikeInterpolation.class, smiles));
    final Interpolator1D strikeInterpolator = CombinedInterpolatorExtrapolatorFactory.getInterpolator(Interpolator1DFactory.LINEAR, Interpolator1DFactory.FLAT_EXTRAPOLATOR,
        Interpolator1DFactory.FLAT_EXTRAPOLATOR);
    final Interpolator1D timeInterpolator = CombinedInterpolatorExtrapolatorFactory.getInterpolator(Interpolator1DFactory.LOG_LINEAR, Interpolator1DFactory.LINEAR_EXTRAPOLATOR,
        Interpolator1DFactory.FLAT_EXTRAPOLATOR);
    smiles = new SmileDeltaTermStructureParametersStrikeInterpolation(t, delta, atm, rr, strangle, strikeInterpolator, timeInterpolator);
    assertEquals(smiles, cycleObject(SmileDeltaTermStructureParametersStrikeInterpolation.class, smiles));
  }
View Full Code Here

    final double[] t = {0., 0.5};
    final double[] deltas = {0.8, 0.2};
    final double[][] volatility = new double[][] {new double[] {0.45, 0.35, 0.3, 0.27, 0.22}, new double[] {0.25, 0.15, 0.12, 0.11, 0.1}};
    SmileDeltaTermStructureParameters smiles = new SmileDeltaTermStructureParameters(t, deltas, volatility);
    assertEquals(smiles, cycleObject(SmileDeltaTermStructureParameters.class, smiles));
    final Interpolator1D timeInterpolator = CombinedInterpolatorExtrapolatorFactory.getInterpolator(Interpolator1DFactory.LOG_LINEAR, Interpolator1DFactory.LINEAR_EXTRAPOLATOR,
        Interpolator1DFactory.FLAT_EXTRAPOLATOR);
    smiles = new SmileDeltaTermStructureParameters(smiles.getVolatilityTerm(), timeInterpolator);
    assertEquals(smiles, cycleObject(SmileDeltaTermStructureParameters.class, smiles));
  }
View Full Code Here

  }

  @Test
  public void testInterpolatedVolatilitySurface() {
    final double sigma = 0.4;
    final Interpolator1D linear = new LinearInterpolator1D();
    final Interpolator2D interpolator = new GridInterpolator2D(linear, linear);
    final Map<DoublesPair, Double> data = new HashMap<>();
    data.put(Pair.of(0., 1.), sigma);
    data.put(Pair.of(1., 0.), sigma);
    data.put(Pair.of(0., 0.), sigma);
View Full Code Here

      FLAT_EXTRAPOLATOR, LINEAR_EXTRAPOLATOR);
  private static final GridInterpolator2D GRID_2D = new GridInterpolator2D(LINEAR, STEP);

  @Test
  public void testInterpolator1D() {
    Interpolator1D cycled = cycleObject(Interpolator1D.class, LINEAR);
    assertEquals(cycled, LINEAR);
    cycled = cycleObject(Interpolator1D.class, CUBIC_SPLINE);
    assertEquals(cycled, CUBIC_SPLINE);
  }
View Full Code Here

      final Map<String, Integer> nodesPerCurve = new HashMap<>();
      for (final String curveName : curveNames) {
        final HistoricalTimeSeriesBundle timeSeries = getTimeSeriesBundle(inputs, targetSpec, curveName);
        final InterpolatedYieldCurveSpecificationWithSecurities spec = getYieldCurveSpecification(inputs, targetSpec, curveName);
        int nInstruments = 0;
        final Interpolator1D interpolator = spec.getInterpolator();
        final HistoricalTimeSeriesBundle marketData = getHistoricalMarketData(inputs, targetSpec, curveName);
        final DoubleArrayList nodeTimes = new DoubleArrayList();
        FixedIncomeStripWithSecurity previousStrip = null;
        for (final FixedIncomeStripWithSecurity strip : spec.getStrips()) {
          //TODO a lot of this can be moved outside the date loop
View Full Code Here

      volatilities[0] = allVolatilities[putDeltaIndex];
      volatilities[1] = allVolatilities[atmIndex];
      volatilities[2] = allVolatilities[2 * atmIndex - putDeltaIndex];
      surface[i] = new SmileDeltaParameters(timeToExpiration, deltas, volatilities);
    }
    final Interpolator1D interpolator = allSmiles.getTimeInterpolator();
    final SmileDeltaTermStructureParameters resultSmiles = new SmileDeltaTermStructureParameters(surface, interpolator);
    final Currency ccy1;
    final Currency ccy2;
    final Object spotObject = inputs.getValue(ValueRequirementNames.SPOT_RATE);
    if (spotObject == null) {
View Full Code Here

TOP

Related Classes of com.opengamma.analytics.math.interpolation.Interpolator1D

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.