/** * Restricted copy constructor. * @param beanToCopy the bean to copy from, not null */ private Builder(ResolvedTradeParameterMetadata beanToCopy) { this.trade = beanToCopy.getTrade(); this.label = beanToCopy.getLabel(); }
@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case 110621028: // trade return ((ResolvedTradeParameterMetadata) bean).getTrade(); case 102727412: // label return ((ResolvedTradeParameterMetadata) bean).getLabel(); } return super.propertyGet(bean, propertyName, quiet); }
public void test_of() { ResolvedTradeParameterMetadata test = ResolvedTradeParameterMetadata.of(TRADE, "Label"); assertEquals(test.getLabel(), "Label"); assertEquals(test.getIdentifier(), "Label"); assertEquals(test.getTrade(), TRADE); }
private ImmutableList<ResolvedCdsTrade> getBucketCds(ResolvedCds product, CreditRatesProvider ratesProvider) { CreditDiscountFactors creditCurve = ratesProvider.survivalProbabilities(product.getLegalEntityId(), product.getCurrency()).getSurvivalProbabilities(); int nNodes = creditCurve.getParameterCount(); Builder<ResolvedCdsTrade> builder = ImmutableList.builder(); for (int i = 0; i < nNodes; ++i) { ParameterMetadata metadata = creditCurve.getParameterMetadata(i); ArgChecker.isTrue(metadata instanceof ResolvedTradeParameterMetadata, "ParameterMetadata of credit curve must be ResolvedTradeParameterMetadata"); ResolvedTradeParameterMetadata tradeMetadata = (ResolvedTradeParameterMetadata) metadata; ResolvedTrade trade = tradeMetadata.getTrade(); ArgChecker.isTrue(trade instanceof ResolvedCdsTrade, "ResolvedTrade must be ResolvedCdsTrade"); builder.add((ResolvedCdsTrade) trade); } return builder.build(); }
private ImmutableList<ResolvedCdsIndexTrade> getBucketCdsIndex(ResolvedCdsIndex product, CreditRatesProvider ratesProvider) { CreditDiscountFactors creditCurve = ratesProvider.survivalProbabilities(product.getCdsIndexId(), product.getCurrency()).getSurvivalProbabilities(); int nNodes = creditCurve.getParameterCount(); Builder<ResolvedCdsIndexTrade> builder = ImmutableList.builder(); for (int i = 0; i < nNodes; ++i) { ParameterMetadata metadata = creditCurve.getParameterMetadata(i); ArgChecker.isTrue(metadata instanceof ResolvedTradeParameterMetadata, "ParameterMetadata of credit curve must be ResolvedTradeParameterMetadata"); ResolvedTradeParameterMetadata tradeMetadata = (ResolvedTradeParameterMetadata) metadata; ResolvedTrade trade = tradeMetadata.getTrade(); ArgChecker.isTrue(trade instanceof ResolvedCdsIndexTrade, "ResolvedTrade must be ResolvedCdsIndexTrade"); builder.add((ResolvedCdsIndexTrade) trade); } return builder.build(); }
public void test_consistency_singleName() { IsdaCreditCurveDefinition curveDefinition = IsdaCreditCurveDefinition.of( CURVE_NAME, EUR, VALUATION_DATE, ACT_365F, CURVE_NODES_PS, true, true); LegalEntitySurvivalProbabilities creditCurveComputed = CALIBRATOR.calibrate( curveDefinition, MARKET_DATA_PS, RATES_PROVIDER, REF_DATA); NodalCurve curveComputed = (NodalCurve) creditCurveComputed.getSurvivalProbabilities().findData(CURVE_NAME).get(); double computedIndex = curveComputed.getMetadata().getInfo(CurveInfoType.CDS_INDEX_FACTOR); assertEquals(computedIndex, 93.0 / 97.0, TOL); IsdaCompliantCreditCurveCalibrator cdsCalibrator = FastCreditCurveCalibrator.standard(); List<CdsIsdaCreditCurveNode> cdsNodes = new ArrayList<>(); for (int i = 0; i < CURVE_NODES_PS.size(); ++i) { cdsNodes.add(CdsIsdaCreditCurveNode.ofParSpread( CURVE_NODES_PS.get(i).getTemplate(), CURVE_NODES_PS.get(i).getObservableId(), CURVE_NODES_PS.get(i).getCdsIndexId())); ParameterMetadata metadata = curveComputed.getParameterMetadata(i); assertTrue(metadata instanceof ResolvedTradeParameterMetadata); ResolvedTradeParameterMetadata tradeMetadata = (ResolvedTradeParameterMetadata) metadata; assertTrue(tradeMetadata.getTrade() instanceof ResolvedCdsIndexTrade); } IsdaCreditCurveDefinition cdsCurveDefinition = IsdaCreditCurveDefinition.of( CURVE_NAME, EUR, VALUATION_DATE, ACT_365F, cdsNodes, true, false); LegalEntitySurvivalProbabilities creditCurveExpected = cdsCalibrator.calibrate( cdsCurveDefinition, MARKET_DATA_PS, RATES_PROVIDER, REF_DATA); NodalCurve curveExpected = (NodalCurve) creditCurveExpected.getSurvivalProbabilities().findData(CURVE_NAME).get(); assertTrue(DoubleArrayMath.fuzzyEquals(curveComputed.getXValues().toArray(), curveExpected.getXValues().toArray(), TOL)); assertTrue(DoubleArrayMath.fuzzyEquals(curveComputed.getYValues().toArray(), curveExpected.getYValues().toArray(), TOL)); assertEquals(curveComputed.getMetadata().getInfo(CurveInfoType.JACOBIAN), curveExpected.getMetadata().getInfo(CurveInfoType.JACOBIAN)); }
assertTrue(param instanceof ResolvedTradeParameterMetadata); ResolvedTradeParameterMetadata tradeParam = (ResolvedTradeParameterMetadata) param; assertTrue(tradeParam.getTrade() instanceof ResolvedCdsTrade);