/** * Copyright (C) 2015 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.strata.examples.finance.credit; import static com.opengamma.strata.examples.finance.credit.harness.TestHarness.TradeFactory.withCompany02; import java.time.LocalDate; import org.testng.annotations.Test; import com.opengamma.strata.examples.finance.credit.harness.TestHarness; @Test public class CdsPricingCompany02BaseIntegrationTests { final LocalDate valuationDate = LocalDate.of(2014, 10, 16); private TestHarness.TradeFactory onTrade() { return withCompany02(); } public void test_pvs_on_company_02_base() { onTrade().pvShouldBe(-2721105.5508106905).on(valuationDate); } public void test_par_rate_on_company_02_base() { onTrade().parRateShouldBe(0.04760001685586991).on(valuationDate); } public void test_recovery01_on_company_02_base() { onTrade().recovery01ShouldBe(31.899601166136563).on(valuationDate); } public void test_jump_to_default_on_company_02_base() { onTrade().jumpToDefaultShouldBe(-57_278_894.44918931).on(valuationDate); } public void test_ir01_parallel_par_on_company_02_base_case() { onTrade().ir01ParallelParShouldBe(251.36710846284404).on(valuationDate); } public void test_ir01_bucketed_par_on_company_02_base_case() { onTrade() .ir01BucketedParShouldBe( 3.5543490587733686, 0.8299544495530427, 0.6575630567967892, 4.1310315253213050, 16.1657721209339800, 39.7754475218243900, 55.0854671462439000, 67.7958203800953900, 59.6295414022170000, 3.7863637502305210, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) .on(valuationDate); } public void test_cs01_parallel_par_on_company_02_base_case() { onTrade().cs01ParallelParShouldBe(42190.92682103673).on(valuationDate); } public void test_cs01_bucketed_par_on_company_02_base_case() { onTrade() .cs01BucketedParShouldBe( 10.8196099274791780, 24.7800554852001370, 61.9692914900369940, 93.1008208445273300, 128.6326188095845300, 41885.0515951500300000) .on(valuationDate); } }