/**
* 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.withCompany01;
import java.time.LocalDate;
import org.testng.annotations.Test;
import com.opengamma.strata.examples.finance.credit.harness.TestHarness;
@Test
public class CdsPricingCompany01BaseIntegrationTests {
final LocalDate valuationDate = LocalDate.of(2014, 10, 16);
private TestHarness.TradeFactory onTrade() {
return withCompany01();
}
public void test_pvs_on_company_01_base() {
onTrade().pvShouldBe(0.004943638574331999).on(valuationDate);
}
public void test_par_rate_on_company_01_base() {
onTrade().parRateShouldBe(0.002800000823400466).on(valuationDate);
}
public void test_recovery01_on_company_01_base() {
onTrade().recovery01ShouldBe(7.254387962631881).on(valuationDate);
}
public void test_jump_to_default_on_company_01_base() {
onTrade().jumpToDefaultShouldBe(-60_000_000.00494364).on(valuationDate);
}
public void test_ir01_parallel_par_on_company_01_base_case() {
onTrade().ir01ParallelParShouldBe(963.5778398220427).on(valuationDate);
}
public void test_ir01_bucketed_par_on_company_01_base_case() {
onTrade()
.ir01BucketedParShouldBe(
-1.0080670211464167,
3.1341894390061498,
1.5775036020204425,
12.7210429105907680,
52.7185466168448300,
138.1065479712560800,
206.8782773185521400,
275.0521688465960300,
257.4313263925724000,
17.1471436149440700,
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_01_base_case() {
onTrade().cs01ParallelParShouldBe(51873.83797712205).on(valuationDate);
}
public void test_cs01_bucketed_par_on_company_01_base_case() {
onTrade()
.cs01BucketedParShouldBe(
46.6094936723820900,
103.8638124936260300,
252.1060386202298000,
364.7911099907942000,
484.2151752961799500,
50640.1112342355800000)
.on(valuationDate);
}
}