/** * Restricted copy constructor. * @param beanToCopy the bean to copy from, not null */ private Builder(TermDepositTemplate beanToCopy) { this.depositPeriod = beanToCopy.getDepositPeriod(); this.convention = beanToCopy.getConvention(); }
@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case 14649855: // depositPeriod return ((TermDepositTemplate) bean).getDepositPeriod(); case 2039569265: // convention return ((TermDepositTemplate) bean).getConvention(); } return super.propertyGet(bean, propertyName, quiet); }
@ImmutablePreBuild private static void preBuild(Builder builder) { if (builder.label == null && builder.template != null) { builder.label = Tenor.of(builder.template.getDepositPeriod()).toString(); } }
public void test_of() { TermDepositTemplate test = TermDepositTemplate.of(DEPOSIT_PERIOD, CONVENTION); assertEquals(test.getConvention(), CONVENTION); assertEquals(test.getDepositPeriod(), DEPOSIT_PERIOD); }
@Override public double initialGuess(MarketData marketData, ValueType valueType) { if (ValueType.ZERO_RATE.equals(valueType) || ValueType.FORWARD_RATE.equals(valueType)) { return marketData.getValue(rateId); } if (ValueType.DISCOUNT_FACTOR.equals(valueType)) { double approximateMaturity = template.getDepositPeriod().toTotalMonths() / 12.0d; return Math.exp(-approximateMaturity * marketData.getValue(rateId)); } return 0d; }
@Override public DatedParameterMetadata metadata(LocalDate valuationDate, ReferenceData refData) { LocalDate nodeDate = date(valuationDate, refData); if (date.isFixed()) { return LabelDateParameterMetadata.of(nodeDate, label); } Tenor tenor = Tenor.of(template.getDepositPeriod()); return TenorDateParameterMetadata.of(nodeDate, tenor, label); }
public void test_builder() { TermDepositTemplate test = TermDepositTemplate.builder() .convention(CONVENTION) .depositPeriod(DEPOSIT_PERIOD) .build(); assertEquals(test.getConvention(), CONVENTION); assertEquals(test.getDepositPeriod(), DEPOSIT_PERIOD); }