@Test public void testGetters() { assertEquals(DATA.getInterestRateCurve(), CURVE); assertEquals(DATA.getCostOfCarry(), B, 0); assertEquals(DATA.getDate(), DATE); assertEquals(DATA.getSpot(), SPOT, 0); assertEquals(DATA.getVolatilitySurface(), SURFACE); }
@Test public void testBuilders() { assertEquals( new SkewKurtosisOptionDataBundle(OTHER_CURVE, B, SURFACE, SPOT, DATE, SKEW, KURTOSIS), DATA.withInterestRateCurve(OTHER_CURVE)); assertEquals( new SkewKurtosisOptionDataBundle(CURVE, OTHER_B, SURFACE, SPOT, DATE, SKEW, KURTOSIS), DATA.withCostOfCarry(OTHER_B)); assertEquals( new SkewKurtosisOptionDataBundle(CURVE, B, OTHER_SURFACE, SPOT, DATE, SKEW, KURTOSIS), DATA.withVolatilitySurface(OTHER_SURFACE)); assertEquals( new SkewKurtosisOptionDataBundle(CURVE, B, SURFACE, OTHER_SPOT, DATE, SKEW, KURTOSIS), DATA.withSpot(OTHER_SPOT)); assertEquals( new SkewKurtosisOptionDataBundle(CURVE, B, SURFACE, SPOT, OTHER_DATE, SKEW, KURTOSIS), DATA.withDate(OTHER_DATE)); assertEquals( new SkewKurtosisOptionDataBundle(CURVE, B, SURFACE, SPOT, DATE, OTHER_SKEW, KURTOSIS), DATA.withSkew(OTHER_SKEW)); assertEquals( new SkewKurtosisOptionDataBundle(CURVE, B, SURFACE, SPOT, DATE, SKEW, OTHER_KURTOSIS), DATA.withKurtosis(OTHER_KURTOSIS)); }
public SkewKurtosisOptionDataBundle(final SkewKurtosisOptionDataBundle data) { super(data); _annualizedSkew = data.getAnnualizedSkew(); _annualizedPearsonKurtosis = data.getAnnualizedPearsonKurtosis(); _annualizedFisherKurtosis = _annualizedPearsonKurtosis - 3; }
@Test public void testEqualsAndHashCode() { final SkewKurtosisOptionDataBundle data1 = new SkewKurtosisOptionDataBundle(CURVE, B, SURFACE, SPOT, DATE, SKEW, KURTOSIS); final SkewKurtosisOptionDataBundle data2 = new SkewKurtosisOptionDataBundle( new StandardOptionDataBundle(CURVE, B, SURFACE, SPOT, DATE), SKEW, KURTOSIS); final SkewKurtosisOptionDataBundle data3 = new SkewKurtosisOptionDataBundle( new SkewKurtosisOptionDataBundle(CURVE, B, SURFACE, SPOT, DATE, SKEW, KURTOSIS)); assertEquals(DATA, data1); assertEquals(DATA.hashCode(), data1.hashCode()); assertEquals(DATA, data2); assertEquals(DATA.hashCode(), data2.hashCode()); assertEquals(DATA, data3); assertEquals(DATA.hashCode(), data3.hashCode()); assertFalse( DATA.equals( new SkewKurtosisOptionDataBundle(OTHER_CURVE, B, SURFACE, SPOT, DATE, SKEW, KURTOSIS))); assertFalse( DATA.equals( new SkewKurtosisOptionDataBundle(CURVE, OTHER_B, SURFACE, SPOT, DATE, SKEW, KURTOSIS))); assertFalse( DATA.equals( new SkewKurtosisOptionDataBundle(CURVE, B, OTHER_SURFACE, SPOT, DATE, SKEW, KURTOSIS))); assertFalse( DATA.equals( new SkewKurtosisOptionDataBundle(CURVE, B, SURFACE, OTHER_SPOT, DATE, SKEW, KURTOSIS))); assertFalse( DATA.equals( new SkewKurtosisOptionDataBundle(CURVE, B, SURFACE, SPOT, OTHER_DATE, SKEW, KURTOSIS))); assertFalse( DATA.equals( new SkewKurtosisOptionDataBundle(CURVE, B, SURFACE, SPOT, DATE, OTHER_SKEW, KURTOSIS))); assertFalse( DATA.equals( new SkewKurtosisOptionDataBundle(CURVE, B, SURFACE, SPOT, DATE, SKEW, OTHER_KURTOSIS))); }
@Test public void testGetVolatility() { for (int i = 0; i < 10; i++) { assertEquals(DATA.getVolatility(Math.random(), Math.random()), SIGMA, 1e-15); } }
@Test public void testGetInterestRate() { for (int i = 0; i < 10; i++) { assertEquals(DATA.getInterestRate(Math.random()), R, 1e-15); } }