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

Examples of com.opengamma.analytics.financial.provider.sensitivity.multicurve.MultipleCurrencyParameterSensitivity.plus()


    expected.put(NAME_1_EUR, SENSITIVITY_1_1);
    expected.put(NAME_1_USD, (DoubleMatrix1D) MATRIX.add(SENSITIVITY_1_1, SENSITIVITY_1_2));
    assertEquals("Add different currency, test map: ", expected, sensitivity2.getSensitivities());
    sensitivity2 = new MultipleCurrencyParameterSensitivity();
    sensitivity2 = sensitivity2.plus(NAME_1_USD, SENSITIVITY_1_1);
    sensitivity2 = sensitivity2.plus(sensitivity1);
    assertEquals("Add same currency, test sensitivities: ", MATRIX.add(SENSITIVITY_1_1, MATRIX.add(SENSITIVITY_1_1, SENSITIVITY_1_2)), sensitivity2.getSensitivity(NAME_1_USD));
    sensitivity2 = sensitivity2.plus(NAME_2_EUR, SENSITIVITY_2_1);
    assertEquals("Add different currency, test sensitivities of first currency: ", SENSITIVITY_2_1, sensitivity2.getSensitivity(NAME_2_EUR));
    assertEquals("Add different currency, test sensitivities of second currency: ", MATRIX.add(SENSITIVITY_1_1, MATRIX.add(SENSITIVITY_1_1, SENSITIVITY_1_2)), sensitivity2.getSensitivity(NAME_1_USD));
    sensitivity2 = sensitivity2.plus(NAME_2_EUR, SENSITIVITY_2_1);
View Full Code Here


    assertEquals("Add different currency, test map: ", expected, sensitivity2.getSensitivities());
    sensitivity2 = new MultipleCurrencyParameterSensitivity();
    sensitivity2 = sensitivity2.plus(NAME_1_USD, SENSITIVITY_1_1);
    sensitivity2 = sensitivity2.plus(sensitivity1);
    assertEquals("Add same currency, test sensitivities: ", MATRIX.add(SENSITIVITY_1_1, MATRIX.add(SENSITIVITY_1_1, SENSITIVITY_1_2)), sensitivity2.getSensitivity(NAME_1_USD));
    sensitivity2 = sensitivity2.plus(NAME_2_EUR, SENSITIVITY_2_1);
    assertEquals("Add different currency, test sensitivities of first currency: ", SENSITIVITY_2_1, sensitivity2.getSensitivity(NAME_2_EUR));
    assertEquals("Add different currency, test sensitivities of second currency: ", MATRIX.add(SENSITIVITY_1_1, MATRIX.add(SENSITIVITY_1_1, SENSITIVITY_1_2)), sensitivity2.getSensitivity(NAME_1_USD));
    sensitivity2 = sensitivity2.plus(NAME_2_EUR, SENSITIVITY_2_1);
    assertEquals("Test add same sensitivities: ", MATRIX.scale(SENSITIVITY_2_1, 2.0), sensitivity2.getSensitivity(NAME_2_EUR));
    assertEquals("Test other currency: ", MATRIX.add(SENSITIVITY_1_1, MATRIX.add(SENSITIVITY_1_1, SENSITIVITY_1_2)), sensitivity2.getSensitivity(NAME_1_USD));
View Full Code Here

    sensitivity2 = sensitivity2.plus(sensitivity1);
    assertEquals("Add same currency, test sensitivities: ", MATRIX.add(SENSITIVITY_1_1, MATRIX.add(SENSITIVITY_1_1, SENSITIVITY_1_2)), sensitivity2.getSensitivity(NAME_1_USD));
    sensitivity2 = sensitivity2.plus(NAME_2_EUR, SENSITIVITY_2_1);
    assertEquals("Add different currency, test sensitivities of first currency: ", SENSITIVITY_2_1, sensitivity2.getSensitivity(NAME_2_EUR));
    assertEquals("Add different currency, test sensitivities of second currency: ", MATRIX.add(SENSITIVITY_1_1, MATRIX.add(SENSITIVITY_1_1, SENSITIVITY_1_2)), sensitivity2.getSensitivity(NAME_1_USD));
    sensitivity2 = sensitivity2.plus(NAME_2_EUR, SENSITIVITY_2_1);
    assertEquals("Test add same sensitivities: ", MATRIX.scale(SENSITIVITY_2_1, 2.0), sensitivity2.getSensitivity(NAME_2_EUR));
    assertEquals("Test other currency: ", MATRIX.add(SENSITIVITY_1_1, MATRIX.add(SENSITIVITY_1_1, SENSITIVITY_1_2)), sensitivity2.getSensitivity(NAME_1_USD));
    sensitivity2 = sensitivity2.plus(NAME_1_EUR, SENSITIVITY_1_1);
    assertEquals("ParameterSensitivity: add", MATRIX.scale(SENSITIVITY_2_1, 2.0), sensitivity2.getSensitivity(NAME_2_EUR));
    assertEquals("ParameterSensitivity: add", MATRIX.add(SENSITIVITY_1_1, MATRIX.add(SENSITIVITY_1_1, SENSITIVITY_1_2)), sensitivity2.getSensitivity(NAME_1_USD));
View Full Code Here

    assertEquals("Add different currency, test sensitivities of first currency: ", SENSITIVITY_2_1, sensitivity2.getSensitivity(NAME_2_EUR));
    assertEquals("Add different currency, test sensitivities of second currency: ", MATRIX.add(SENSITIVITY_1_1, MATRIX.add(SENSITIVITY_1_1, SENSITIVITY_1_2)), sensitivity2.getSensitivity(NAME_1_USD));
    sensitivity2 = sensitivity2.plus(NAME_2_EUR, SENSITIVITY_2_1);
    assertEquals("Test add same sensitivities: ", MATRIX.scale(SENSITIVITY_2_1, 2.0), sensitivity2.getSensitivity(NAME_2_EUR));
    assertEquals("Test other currency: ", MATRIX.add(SENSITIVITY_1_1, MATRIX.add(SENSITIVITY_1_1, SENSITIVITY_1_2)), sensitivity2.getSensitivity(NAME_1_USD));
    sensitivity2 = sensitivity2.plus(NAME_1_EUR, SENSITIVITY_1_1);
    assertEquals("ParameterSensitivity: add", MATRIX.scale(SENSITIVITY_2_1, 2.0), sensitivity2.getSensitivity(NAME_2_EUR));
    assertEquals("ParameterSensitivity: add", MATRIX.add(SENSITIVITY_1_1, MATRIX.add(SENSITIVITY_1_1, SENSITIVITY_1_2)), sensitivity2.getSensitivity(NAME_1_USD));
    assertEquals("ParameterSensitivity: add", SENSITIVITY_1_1, sensitivity2.getSensitivity(NAME_1_EUR));
  }
View Full Code Here

    final double[] sensiOpposite = new double[NB_SENSI_1];
    for (int loopnode = 0; loopnode < NB_SENSI_1; loopnode++) {
      sensiOpposite[loopnode] = -SENSI_1[loopnode];
    }
    MultipleCurrencyParameterSensitivity ps = new MultipleCurrencyParameterSensitivity();
    ps = ps.plus(NAME_1_EUR, new DoubleMatrix1D(SENSI_1));
    final MultipleCurrencyParameterSensitivity[] rs = new MultipleCurrencyParameterSensitivity[NB_SENSI_1];
    for (int loopnode = 0; loopnode < NB_SENSI_1; loopnode++) {
      rs[loopnode] = new MultipleCurrencyParameterSensitivity();
      final double[] r = new double[NB_SENSI_1];
      r[loopnode] = 1.0;
View Full Code Here

   * Test the hedging portfolio. The answer is perturbed to check that it is at a minimum.
   */
  public void checkMin() {
    final int nbSensi = NB_SENSI_1 + NB_SENSI_2;
    MultipleCurrencyParameterSensitivity ps = new MultipleCurrencyParameterSensitivity();
    ps = ps.plus(NAME_1_EUR, new DoubleMatrix1D(SENSI_1));
    ps = ps.plus(NAME_1_USD, new DoubleMatrix1D(SENSI_1));
    ps = ps.plus(NAME_2_EUR, new DoubleMatrix1D(SENSI_2));
    final int nbReference = 4;
    final MultipleCurrencyParameterSensitivity[] rs = new MultipleCurrencyParameterSensitivity[nbReference];
    rs[0] = new MultipleCurrencyParameterSensitivity();
View Full Code Here

   */
  public void checkMin() {
    final int nbSensi = NB_SENSI_1 + NB_SENSI_2;
    MultipleCurrencyParameterSensitivity ps = new MultipleCurrencyParameterSensitivity();
    ps = ps.plus(NAME_1_EUR, new DoubleMatrix1D(SENSI_1));
    ps = ps.plus(NAME_1_USD, new DoubleMatrix1D(SENSI_1));
    ps = ps.plus(NAME_2_EUR, new DoubleMatrix1D(SENSI_2));
    final int nbReference = 4;
    final MultipleCurrencyParameterSensitivity[] rs = new MultipleCurrencyParameterSensitivity[nbReference];
    rs[0] = new MultipleCurrencyParameterSensitivity();
    rs[0] = rs[0].plus(NAME_1_EUR, new DoubleMatrix1D(new double[] {1.0, 0.0, 0.0, 0.0}));
View Full Code Here

  public void checkMin() {
    final int nbSensi = NB_SENSI_1 + NB_SENSI_2;
    MultipleCurrencyParameterSensitivity ps = new MultipleCurrencyParameterSensitivity();
    ps = ps.plus(NAME_1_EUR, new DoubleMatrix1D(SENSI_1));
    ps = ps.plus(NAME_1_USD, new DoubleMatrix1D(SENSI_1));
    ps = ps.plus(NAME_2_EUR, new DoubleMatrix1D(SENSI_2));
    final int nbReference = 4;
    final MultipleCurrencyParameterSensitivity[] rs = new MultipleCurrencyParameterSensitivity[nbReference];
    rs[0] = new MultipleCurrencyParameterSensitivity();
    rs[0] = rs[0].plus(NAME_1_EUR, new DoubleMatrix1D(new double[] {1.0, 0.0, 0.0, 0.0}));
    rs[0] = rs[0].plus(NAME_2_EUR, new DoubleMatrix1D(new double[] {1.0, 0.0, 0.0, 0.0, 0.0}));
View Full Code Here

    w.getData()[NB_SENSI_1 + NB_SENSI_2 + 1] = new double[] {0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0};
    final DoubleMatrix2D wtW = (DoubleMatrix2D) MATRIX.multiply(MATRIX.getTranspose(w), w);
    // Hedging
    final double[] hedging = PortfolioHedgingCalculator.hedgeQuantity(ps, rs, w, ORDER, FX_MATRIX);
    MultipleCurrencyParameterSensitivity psMin = new MultipleCurrencyParameterSensitivity();
    psMin = psMin.plus(ps);
    for (int loopref = 0; loopref < nbReference; loopref++) { // To created the hedge portfolio
      psMin = psMin.plus(rs[loopref].multipliedBy(hedging[loopref]));
    }
    final DoubleMatrix1D psMinMatrix = PortfolioHedgingCalculator.toMatrix(psMin.converted(FX_MATRIX, EUR), ORDER);
    final DoubleMatrix2D psMinMatrixT = new DoubleMatrix2D(new double[][] {psMinMatrix.getData()});
View Full Code Here

    // Hedging
    final double[] hedging = PortfolioHedgingCalculator.hedgeQuantity(ps, rs, w, ORDER, FX_MATRIX);
    MultipleCurrencyParameterSensitivity psMin = new MultipleCurrencyParameterSensitivity();
    psMin = psMin.plus(ps);
    for (int loopref = 0; loopref < nbReference; loopref++) { // To created the hedge portfolio
      psMin = psMin.plus(rs[loopref].multipliedBy(hedging[loopref]));
    }
    final DoubleMatrix1D psMinMatrix = PortfolioHedgingCalculator.toMatrix(psMin.converted(FX_MATRIX, EUR), ORDER);
    final DoubleMatrix2D psMinMatrixT = new DoubleMatrix2D(new double[][] {psMinMatrix.getData()});
    final double penalty = ((DoubleMatrix2D) MATRIX.multiply(psMinMatrixT, MATRIX.multiply(wtW, psMinMatrix))).getEntry(0, 0);
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.