Package com.opengamma.analytics.financial.provider.sensitivity.multicurve

Examples of com.opengamma.analytics.financial.provider.sensitivity.multicurve.MultipleCurrencyMulticurveSensitivity


    final Map<String, List<DoublesPair>> mapDsc = new HashMap<>();
    final List<DoublesPair> listDiscounting = new ArrayList<>();
    listDiscounting.add(new DoublesPair(deposit.getStartTime(), -deposit.getStartTime() * dfStart * dfStartBar));
    listDiscounting.add(new DoublesPair(deposit.getEndTime(), -deposit.getEndTime() * dfEnd * dfEndBar));
    mapDsc.put(curves.getName(deposit.getCurrency()), listDiscounting);
    MultipleCurrencyMulticurveSensitivity result = new MultipleCurrencyMulticurveSensitivity();
    result = result.plus(deposit.getCurrency(), MulticurveSensitivity.ofYieldDiscounting(mapDsc));
    return result;
  }
View Full Code Here


    final Map<String, List<DoublesPair>> mapDsc = new HashMap<>();
    final List<DoublesPair> listDiscounting = new ArrayList<>();
    listDiscounting.add(new DoublesPair(deposit.getStartTime(), -deposit.getStartTime() * dfStart * dfStartBar));
    listDiscounting.add(new DoublesPair(deposit.getEndTime(), -deposit.getEndTime() * dfEnd * dfEndBar));
    mapDsc.put(multicurves.getName(issuerCcy), listDiscounting);
    MultipleCurrencyMulticurveSensitivity result = new MultipleCurrencyMulticurveSensitivity();
    result = result.plus(deposit.getCurrency(), MulticurveSensitivity.ofYieldDiscounting(mapDsc));
    return result;
  }
View Full Code Here

  /**
   * Tests the present value curve sensitivity of NDO by comparison with vanilla European options.
   */
  public void presentValueCurveSensitivity() {
    final double tolerance = 1.0E-2;
    final MultipleCurrencyMulticurveSensitivity pvcsNDO = METHOD_NDO.presentValueCurveSensitivity(NDO, SMILE_MULTICURVES).cleaned();
    final MultipleCurrencyMulticurveSensitivity pvcsFXO = METHOD_FXO.presentValueCurveSensitivity(FOREX_OPT, SMILE_MULTICURVES).cleaned();
    AssertSensivityObjects.assertEquals("Forex non-deliverable option: present value curve sensitivity", pvcsFXO, pvcsNDO, tolerance);
  }
View Full Code Here

  @Test
  /**
   * Tests the present value SABR parameters sensitivity: Method vs Calculator.
   */
  public void presentValueCurveSensitivityMethodVsCalculator() {
    final MultipleCurrencyMulticurveSensitivity pvcsMethod = METHOD_CAP_SABR.presentValueCurveSensitivity(CAP_LONG, SABR_MULTICURVES);
    final MultipleCurrencyMulticurveSensitivity pvcsCalculator = CAP_LONG.accept(PVCSSCC, SABR_MULTICURVES);
    assertEquals("Cap/floor SABR: Present value SABR sensitivity: method vs calculator", pvcsMethod, pvcsCalculator);
  }
View Full Code Here

  @Test
  /**
   * Test the present value sensitivity to interest rate.
   */
  public void presentValueCurveSensitivity() {
    final MultipleCurrencyMulticurveSensitivity pvcs = METHOD_FX.presentValueCurveSensitivity(FX, MULTICURVES);
    final MultipleCurrencyMulticurveSensitivity pvs1 = PAY_1.accept(PVSCDC, MULTICURVES);
    final MultipleCurrencyMulticurveSensitivity pvs2 = PAY_2.accept(PVSCDC, MULTICURVES);
    AssertSensivityObjects.assertEquals("ForexDiscountingMethod: presentValueCurveSensitivity", pvs1.plus(pvs2).cleaned(), pvcs.cleaned(), TOLERANCE_PV_DELTA);
  }
View Full Code Here

  @Test
  /**
   * Test the present value curve sensitivity through the method and through the calculator.
   */
  public void presentValueCurveSensitivityMethodVsCalculator() {
    final MultipleCurrencyMulticurveSensitivity pvcsMethod = METHOD_FX.presentValueCurveSensitivity(FX, MULTICURVES);
    final MultipleCurrencyMulticurveSensitivity pvcsCalculator = FX.accept(PVSCDC, MULTICURVES);
    AssertSensivityObjects.assertEquals("", pvcsMethod, pvcsCalculator, TOLERANCE_PV_DELTA);
  }
View Full Code Here

  @Test
  /**
   * Tests the present value curve sensitivity to parallel curve movements of fixed accrued compounding coupons.
   */
  public void presentValueParallelCurveSensitivity() {
    final MultipleCurrencyMulticurveSensitivity pvpcsComputed = METHOD.presentValueCurveSensitivity(CPN_PAY, MULTICURVES);
    final double pvpcsExpectedDouble = -CPN_PAY.getPaymentTime() * CPN_PAY.getAmount() * MULTICURVES.getDiscountFactor(CPN_PAY.getCurrency(), CPN_PAY.getPaymentTime());
    final Map<String, List<DoublesPair>> mapDsc = new HashMap<>();
    final DoublesPair s = new DoublesPair(CPN_PAY.getPaymentTime(), pvpcsExpectedDouble);
    final List<DoublesPair> list = new ArrayList<>();
    list.add(s);
    mapDsc.put(MULTICURVES.getName(CPN_PAY.getCurrency()), list);
    MultipleCurrencyMulticurveSensitivity pvpcsExpected = new MultipleCurrencyMulticurveSensitivity();
    pvpcsExpected = pvpcsExpected.plus(CPN_PAY.getCurrency(), MulticurveSensitivity.ofYieldDiscounting(mapDsc));
    AssertSensivityObjects.assertEquals("CouponFixedAccruedCompounding: Present value parallel curve sensitivity by discounting", pvpcsExpected, pvpcsComputed, 1.0E-2);
  }
View Full Code Here

  @Test
  /**
   * Tests the present value curve sensitivity to parallel curve movements of fixed accrued compounding  coupons.
   */
  public void presentValueParallelCurveSensitivityMethodVsCalculator() {
    final MultipleCurrencyMulticurveSensitivity pvpcsMethod = METHOD.presentValueCurveSensitivity(CPN_PAY, MULTICURVES);
    final MultipleCurrencyMulticurveSensitivity pvpcsCalculator = CPN_PAY.accept(PVCSDC, MULTICURVES);
    AssertSensivityObjects.assertEquals("CouponFixed: Present value parallel curve sensitivity by discounting", pvpcsMethod, pvpcsCalculator, 1.0E-5);
  }
View Full Code Here

  @Test
  /**
   * Tests the present value curve sensitivity to parallel curve movements of fixed accrued compounding coupons.
   */
  public void presentValueParallelCurveSensitivityWithAccrualDates() {
    final MultipleCurrencyMulticurveSensitivity pvpcsComputed = METHOD.presentValueCurveSensitivity(CPN_PAY_WITH_ACCRUAL_DATES, MULTICURVES);
    final double pvpcsExpectedDouble = -CPN_PAY_WITH_ACCRUAL_DATES.getPaymentTime() * CPN_PAY_WITH_ACCRUAL_DATES.getAmount() *
        MULTICURVES.getDiscountFactor(CPN_PAY_WITH_ACCRUAL_DATES.getCurrency(), CPN_PAY_WITH_ACCRUAL_DATES.getPaymentTime());
    final Map<String, List<DoublesPair>> mapDsc = new HashMap<>();
    final DoublesPair s = new DoublesPair(CPN_PAY_WITH_ACCRUAL_DATES.getPaymentTime(), pvpcsExpectedDouble);
    final List<DoublesPair> list = new ArrayList<>();
    list.add(s);
    mapDsc.put(MULTICURVES.getName(CPN_PAY_WITH_ACCRUAL_DATES.getCurrency()), list);
    MultipleCurrencyMulticurveSensitivity pvpcsExpected = new MultipleCurrencyMulticurveSensitivity();
    pvpcsExpected = pvpcsExpected.plus(CPN_PAY_WITH_ACCRUAL_DATES.getCurrency(), MulticurveSensitivity.ofYieldDiscounting(mapDsc));
    AssertSensivityObjects.assertEquals("CouponFixedAccruedCompounding: Present value parallel curve sensitivity by discounting", pvpcsExpected, pvpcsComputed, 1.0E-2);
  }
View Full Code Here

  @Test
  /**
   * Tests the present value curve sensitivity to parallel curve movements of fixed accrued compounding  coupons.
   */
  public void presentValueParallelCurveSensitivityMethodVsCalculatorWithAccrualDates() {
    final MultipleCurrencyMulticurveSensitivity pvpcsMethod = METHOD.presentValueCurveSensitivity(CPN_PAY_WITH_ACCRUAL_DATES, MULTICURVES);
    final MultipleCurrencyMulticurveSensitivity pvpcsCalculator = CPN_PAY_WITH_ACCRUAL_DATES.accept(PVCSDC, MULTICURVES);
    AssertSensivityObjects.assertEquals("CouponFixed: Present value parallel curve sensitivity by discounting", pvpcsMethod, pvpcsCalculator, 1.0E-5);
  }
View Full Code Here

TOP

Related Classes of com.opengamma.analytics.financial.provider.sensitivity.multicurve.MultipleCurrencyMulticurveSensitivity

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.