Package com.opengamma.analytics.financial.model.interestrate.curve

Examples of com.opengamma.analytics.financial.model.interestrate.curve.YieldAndDiscountCurve


   * @return The rate.
   */
  public double parRate(final InterestRateFutureTransaction future, final YieldCurveBundle curves) {
    Validate.notNull(future, "Future");
    Validate.notNull(curves, "Curves");
    final YieldAndDiscountCurve forwardCurve = curves.getCurve(future.getForwardCurveName());
    final double forward = (forwardCurve.getDiscountFactor(future.getFixingPeriodStartTime()) / forwardCurve.getDiscountFactor(future.getFixingPeriodEndTime()) - 1)
        / future.getFixingPeriodAccrualFactor();
    return forward;
  }
View Full Code Here


      final InstrumentDerivative deriv = _data.getDerivative(i);
      final Map<String, List<DoublesPair>> senseMap = deriv.accept(_calculator, curves).getSensitivities();
      int offset = 0;
      for (final String name : curveNames) { // loop over all curves (by name)
        if (senseMap.containsKey(name)) {
          final YieldAndDiscountCurve curve = curves.getCurve(name);
          final List<DoublesPair> senseList = senseMap.get(name);
          if (senseList.size() != 0) {
            final double[][] sensitivity = new double[senseList.size()][];
            int k = 0;
            for (final DoublesPair timeAndDF : senseList) {
              sensitivity[k++] = curve.getInterestRateParameterSensitivity(timeAndDF.getFirst());
            }
            for (int j = 0; j < sensitivity[0].length; j++) {
              double temp = 0.0;
              k = 0;
              for (final DoublesPair timeAndDF : senseList) {
View Full Code Here

    int indexParam = 0;
    for (String name : nameSet) {
      GeneratorYDCurve gen = _generatorsMap.get(name);
      double[] paramCurve = Arrays.copyOfRange(x.getData(), indexParam, indexParam + gen.getNumberOfParameter());
      indexParam += gen.getNumberOfParameter();
      YieldAndDiscountCurve curve = gen.generateCurve(name, provider, paramCurve);
      if (_discountingMap.containsKey(name)) {
        provider.setCurve(_discountingMap.get(name), curve);
      }
      if (_forwardIborMap.containsKey(name)) {
        IborIndex[] indexes = _forwardIborMap.get(name);
View Full Code Here

      public Double evaluate(final Double x) {
        return (Math.abs(x - t) < 3.0e-6 ? eps : 0.0); //100 second tolerance
      }
    };

    final YieldAndDiscountCurve blipCurve = YieldCurve.from(new FunctionalDoublesCurve(blip));
    final YieldAndDiscountCurve originalCurve = curves.getCurve(curveName);
    final YieldAndDiscountCurve upCurve = new YieldAndDiscountAddZeroSpreadCurve("UpCurve", false, originalCurve, blipCurve);
    final YieldAndDiscountCurve downCurve = new YieldAndDiscountAddZeroSpreadCurve("DownCurve", true, originalCurve, blipCurve);

    curves.replaceCurve(curveName, upCurve);
    final double up = ird.accept(calculator, curves);
    curves.replaceCurve(curveName, downCurve);
    final double down = ird.accept(calculator, curves);
View Full Code Here

      public Double evaluate(final Double x) {
        return (Math.abs(x - t) < 3.0e-6 ? eps : 0.0); //100 second tolerance
      }
    };

    final YieldAndDiscountCurve blipCurve = YieldCurve.from(new FunctionalDoublesCurve(blip));
    final YieldAndDiscountCurve originalCurve = curves.getCurve(curveName);
    final YieldAndDiscountCurve upCurve = new YieldAndDiscountAddZeroSpreadCurve("UpCurve", false, originalCurve, blipCurve);
    final YieldAndDiscountCurve downCurve = new YieldAndDiscountAddZeroSpreadCurve("DownCurve", true, originalCurve, blipCurve);

    curves.replaceCurve(curveName, upCurve);
    final double up = method.presentValue(ird, curves).getAmount();
    curves.replaceCurve(curveName, downCurve);
    final double down = method.presentValue(ird, curves).getAmount();
View Full Code Here

    int indexParam = 0;
    for (final String name : nameSet) {
      final GeneratorYDCurve gen = _generatorsMap.get(name);
      final double[] paramCurve = Arrays.copyOfRange(x.getData(), indexParam, indexParam + gen.getNumberOfParameter());
      indexParam += gen.getNumberOfParameter();
      final YieldAndDiscountCurve curve = gen.generateCurve(name, bundle, paramCurve);
      if (_discountingMap.containsKey(name)) {
        bundle.setCurve(_discountingMap.get(name), curve);
      }
      if (_forwardONMap.containsKey(name)) {
        bundle.setCurve(_forwardONMap.get(name), curve);
View Full Code Here

  // -----     Deposit     ------

  @Override
  public Double visitCash(final Cash deposit, final YieldCurveBundle curves) {
    final YieldAndDiscountCurve discountingCurve = curves.getCurve(deposit.getYieldCurveName());
    return discountingCurve.getDiscountFactor(deposit.getEndTime()) * deposit.getAccrualFactor() * deposit.getNotional();
  }
View Full Code Here

  }

  public Double visitCoupon(final Coupon coupon, final YieldCurveBundle curves) {
    Validate.notNull(curves);
    Validate.notNull(coupon);
    final YieldAndDiscountCurve fundingCurve = curves.getCurve(coupon.getFundingCurveName());
    return fundingCurve.getDiscountFactor(coupon.getPaymentTime()) * coupon.getPaymentYearFraction() * coupon.getNotional();
  }
View Full Code Here

  // -----     Forex     ------

  @Override
  public Double visitForexSwap(final ForexSwap derivative, final YieldCurveBundle curves) {
    final YieldAndDiscountCurve dsc2 = curves.getCurve(derivative.getFarLeg().getPaymentCurrency2().getFundingCurveName());
    final double pvPtCcy2 = dsc2.getDiscountFactor(derivative.getFarLeg().getPaymentTime()) * -derivative.getFarLeg().getPaymentCurrency1().getAmount();
    return curves.getFxRates().getFxRate(derivative.getFarLeg().getCurrency2(), derivative.getFarLeg().getCurrency1()) * pvPtCcy2;
  }
View Full Code Here

  }

  @Override
  public Integer getNumberOfParameters(final String name) {
    final PriceIndexCurve inflationCurve = _allCurves.get(name);
    final YieldAndDiscountCurve curve = _multicurveProvider.getCurve(name);
    if (inflationCurve != null) {
      return inflationCurve.getNumberOfParameters();
    } else if (curve != null) {
      return curve.getNumberOfParameters();
    }
    throw new UnsupportedOperationException("Cannot return the number of parameter for a null curve");
  }
View Full Code Here

TOP

Related Classes of com.opengamma.analytics.financial.model.interestrate.curve.YieldAndDiscountCurve

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.