Package com.opengamma.financial.analytics.fudgemsg

Source Code of com.opengamma.financial.analytics.fudgemsg.ParametersBuildersTest

/**
* Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.financial.analytics.fudgemsg;

import static org.testng.AssertJUnit.assertEquals;

import java.util.SortedMap;
import java.util.TreeMap;

import org.testng.annotations.Test;

import com.opengamma.financial.analytics.parameters.G2ppParameters;
import com.opengamma.financial.analytics.parameters.HullWhiteOneFactorParameters;
import com.opengamma.id.ExternalId;
import com.opengamma.id.UniqueId;
import com.opengamma.util.money.Currency;
import com.opengamma.util.time.Tenor;
import com.opengamma.util.tuple.Pair;

/**
*
*/
public class ParametersBuildersTest extends AnalyticsTestBase {

  @Test
  public void testHullWhite() {
    final Currency currency = Currency.AUD;
    final ExternalId meanReversionId = ExternalId.of("Test", "MR");
    final ExternalId initialVolatilityId = ExternalId.of("Test", "IV");
    final SortedMap<Tenor, ExternalId> volatilityParameterIds = new TreeMap<>();
    for (int i = 1; i < 10; i++) {
      volatilityParameterIds.put(Tenor.ofMonths(i), ExternalId.of("Test", "V" + i));
    }
    final HullWhiteOneFactorParameters object = new HullWhiteOneFactorParameters(currency, meanReversionId, initialVolatilityId, volatilityParameterIds);
    object.setUniqueId(UniqueId.of("Test", "123"));
    assertEquals(object, cycleObject(HullWhiteOneFactorParameters.class, object));
  }

  @Test
  public void testG2pp() {
    final Currency currency = Currency.AUD;
    final ExternalId firstMeanReversionId = ExternalId.of("Test", "MR1");
    final ExternalId secondMeanReversionId = ExternalId.of("Test", "MR2");
    final ExternalId firstInitialVolatilityId = ExternalId.of("Test", "IV1");
    final ExternalId secondInitialVolatilityId = ExternalId.of("Test", "IV2");
    final SortedMap<Tenor, Pair<ExternalId, ExternalId>> volatilityParameterIds = new TreeMap<>();
    for (int i = 1; i < 10; i++) {
      volatilityParameterIds.put(Tenor.ofMonths(i), Pair.of(ExternalId.of("Test", "1V" + i), ExternalId.of("Test", "2V" + i)));
    }
    final ExternalId correlationId = ExternalId.of("Test", "rho");
    final G2ppParameters object = new G2ppParameters(currency, firstMeanReversionId, secondMeanReversionId, firstInitialVolatilityId,
        secondInitialVolatilityId, volatilityParameterIds, correlationId);
    object.setUniqueId(UniqueId.of("Test", "123"));
    assertEquals(object, cycleObject(G2ppParameters.class, object));
  }
}
TOP

Related Classes of com.opengamma.financial.analytics.fudgemsg.ParametersBuildersTest

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.