//------------------------------------------------------------------------- public virtual void test_of() { SyntheticRatesCurveCalibrator test = SyntheticRatesCurveCalibrator.of(CALIBRATOR, MQ_MEASURES); assertEquals(test.Measures, MQ_MEASURES); assertEquals(test.Calibrator, CALIBRATOR); assertEquals(test.ToString(), "SyntheticCurveCalibrator[CurveCalibrator[ParSpread], MarketQuote]"); }
// Check synthetic calibration in the case of existing time-series with fixing on the valuation date public virtual void calibrate_ts_vd() { SyntheticRatesCurveCalibrator calibratorDefault = SyntheticRatesCurveCalibrator.standard(); MarketData mad = calibratorDefault.marketData(GROUPS_SYN_EUR, MULTICURVE_INPUT_EUR_TSLARGE, REF_DATA); RatesProvider multicurveSyn = CALIBRATOR_SYNTHETIC.calibrate(GROUPS_SYN_EUR, MULTICURVE_INPUT_EUR_TSLARGE, REF_DATA); foreach (CurveDefinition entry in GROUPS_SYN_EUR.CurveDefinitions) { ImmutableList <CurveNode> nodes = entry.Nodes; foreach (CurveNode node in nodes) { ResolvedTrade trade = node.resolvedTrade(1d, mad, REF_DATA); double mqIn = MQ_MEASURES.value(trade, MULTICURVE_INPUT_EUR_TSLARGE); double mqSy = MQ_MEASURES.value(trade, multicurveSyn); assertEquals(mqIn, mqSy, TOLERANCE_MQ); } } }