public void test_of() { DepositIsdaCreditCurveNode test = DepositIsdaCreditCurveNode.of(OBS_ID, ADJ_3D, BUS_ADJ, TENOR, ACT_360); assertEquals(test.getBusinessDayAdjustment(), BUS_ADJ); assertEquals(test.getDayCount(), ACT_360); assertEquals(test.getLabel(), TENOR.toString()); assertEquals(test.getObservableId(), OBS_ID); assertEquals(test.getSpotDateOffset(), ADJ_3D); assertEquals(test.getTenor(), TENOR); assertEquals(test.date(TRADE_DATE, REF_DATA), LocalDate.of(2017, 1, 4)); assertEquals(test.metadata(LocalDate.of(2017, 1, 4)), TenorDateParameterMetadata.of(LocalDate.of(2017, 1, 4), TENOR)); }
@Override public DepositIsdaCreditCurveNode build() { preBuild(this); return new DepositIsdaCreditCurveNode( label, observableId, tenor, spotDateOffset, businessDayAdjustment, dayCount); }
/** * Restricted copy constructor. * @param beanToCopy the bean to copy from, not null */ private Builder(DepositIsdaCreditCurveNode beanToCopy) { this.label = beanToCopy.getLabel(); this.observableId = beanToCopy.getObservableId(); this.tenor = beanToCopy.getTenor(); this.spotDateOffset = beanToCopy.getSpotDateOffset(); this.businessDayAdjustment = beanToCopy.getBusinessDayAdjustment(); this.dayCount = beanToCopy.getDayCount(); }
if (node instanceof DepositIsdaCreditCurveNode) { DepositIsdaCreditCurveNode termDeposit = (DepositIsdaCreditCurveNode) node; cvDateTmp = termDeposit.getSpotDateOffset().adjust(curveSnapDate, refData); curveNodeTime[i] = curveDayCount.relativeYearFraction(cvDateTmp, adjMatDate); termDepositYearFraction[i] = termDeposit.getDayCount().relativeYearFraction(cvDateTmp, adjMatDate); ArgChecker.isTrue(nTermDeposit == i, "TermDepositCurveNode should not be after FixedIborSwapCurveNode"); ++nTermDeposit;
public void test_serialization() { DepositIsdaCreditCurveNode test = DepositIsdaCreditCurveNode.of(OBS_ID, ADJ_3D, BUS_ADJ, TENOR, ACT_360); assertSerialization(test); }
public void coverage() { DepositIsdaCreditCurveNode test1 = DepositIsdaCreditCurveNode.of(OBS_ID, ADJ_3D, BUS_ADJ, TENOR, ACT_360); coverImmutableBean(test1); DepositIsdaCreditCurveNode test2 = DepositIsdaCreditCurveNode.builder() .observableId(QuoteId.of(StandardId.of("OG", "foo"))) .spotDateOffset(DaysAdjustment.NONE) .businessDayAdjustment(BusinessDayAdjustment.NONE) .tenor(Tenor.TENOR_6M) .dayCount(DayCounts.ACT_365F) .label("test2") .build(); coverBeanEquals(test1, test2); }
/** * Returns a curve node for a term deposit. * <p> * The label will be created using {@code tenor}. * * @param observableId the observable ID * @param spotDateOffset the spot date offset * @param businessDayAdjustment the business day adjustment * @param tenor the tenor * @param dayCount the day count * @return the curve node */ public static DepositIsdaCreditCurveNode of( ObservableId observableId, DaysAdjustment spotDateOffset, BusinessDayAdjustment businessDayAdjustment, Tenor tenor, DayCount dayCount) { return DepositIsdaCreditCurveNode.builder() .observableId(observableId) .tenor(tenor) .businessDayAdjustment(businessDayAdjustment) .dayCount(dayCount) .spotDateOffset(spotDateOffset) .build(); }
@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case 102727412: // label return ((DepositIsdaCreditCurveNode) bean).getLabel(); case -518800962: // observableId return ((DepositIsdaCreditCurveNode) bean).getObservableId(); case 110246592: // tenor return ((DepositIsdaCreditCurveNode) bean).getTenor(); case 746995843: // spotDateOffset return ((DepositIsdaCreditCurveNode) bean).getSpotDateOffset(); case -1065319863: // businessDayAdjustment return ((DepositIsdaCreditCurveNode) bean).getBusinessDayAdjustment(); case 1905311443: // dayCount return ((DepositIsdaCreditCurveNode) bean).getDayCount(); } return super.propertyGet(bean, propertyName, quiet); }
private List<IsdaCreditCurveNode> createsNode( DaysAdjustment spotDateOffset, BusinessDayAdjustment businessDayAdjustment, DayCount depositDayCount, DayCount swapDayCount, Frequency paymentFrequency, int[] termMonths, int[] swapYears, String[] idValues) { int nInstruments = idValues.length; int nTerms = termMonths.length; List<IsdaCreditCurveNode> nodes = new ArrayList<>(nInstruments); for (int i = 0; i < nTerms; i++) { Tenor tenor = Tenor.ofMonths(termMonths[i]); nodes.add(DepositIsdaCreditCurveNode.of( QuoteId.of(StandardId.of("OG", idValues[i])), spotDateOffset, businessDayAdjustment, tenor, depositDayCount)); } for (int i = nTerms; i < nInstruments; i++) { Tenor tenor = Tenor.ofYears(swapYears[i - nTerms]); nodes.add(SwapIsdaCreditCurveNode.of( QuoteId.of(StandardId.of("OG", idValues[i])), spotDateOffset, businessDayAdjustment, tenor, swapDayCount, paymentFrequency)); } return nodes; }
for (int i = 0; i < nMoneyMarket; i++) { Tenor tenor = Tenor.ofMonths(mmMonths[i]); nodes.add(DepositIsdaCreditCurveNode.of(QuoteId.of(StandardId.of("OG", idValues[i])), ADJ_3D, BUS_ADJ, tenor, ACT_360)); QuoteId.of(StandardId.of("OG", idValues[i])), ADJ_3D, BUS_ADJ, tenor, THIRTY_U_360, Frequency.P6M)); nodes.add(DepositIsdaCreditCurveNode.of( QuoteId.of(StandardId.of("OG", idValues[nInstruments])), ADJ_3D, BUS_ADJ, Tenor.ofMonths(18), ACT_360)); ImmutableMarketDataBuilder builder = ImmutableMarketData.builder(snapDate);
for (int i = 0; i < nMoneyMarket; i++) { Tenor tenor = Tenor.ofMonths(mmMonths[i]); nodes.add(DepositIsdaCreditCurveNode.of(QuoteId.of(StandardId.of("OG", idValues[i])), ADJ_3D, BUS_ADJ, tenor, ACT_360));
Tenor tenor = Tenor.ofMonths(mmMonths1[i]); ImmutableTermDepositConvention convention = (ImmutableTermDepositConvention) TermDepositConventions.USD_SHORT_DEPOSIT_T2; nodes1.add(DepositIsdaCreditCurveNode.of(QuoteId.of(StandardId.of("OG", idValues1[i])), convention.getSpotDateOffset(), convention.getBusinessDayAdjustment(), tenor, convention.getDayCount())); Tenor tenor = Tenor.ofMonths(mmMonths2[i]); nodes2.add( DepositIsdaCreditCurveNode.of(QuoteId.of(StandardId.of("OG", idValues2[i])), ADJ_0D, BUS_ADJ, tenor, ACT_360));