public void test_getSimpleRate() { FixedOvernightCompoundedAnnualRateComputation test = sut(); assertEquals( 1 + test.getAccrualFactor() * test.getSimpleRate(), Math.pow(1 + test.getRate(), test.getAccrualFactor())); }
private FixedOvernightCompoundedAnnualRateComputation sut() { return FixedOvernightCompoundedAnnualRateComputation.of(0.05, 0.1); }
/** * Obtains an instance from the rate and accrual factor. * * @param rate the fixed rate * @param accrualFactor the accrual factor * @return the fixed rate computation */ public static FixedOvernightCompoundedAnnualRateComputation of(double rate, double accrualFactor) { return new FixedOvernightCompoundedAnnualRateComputation(rate, accrualFactor); }
@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case 3493088: // rate return ((FixedOvernightCompoundedAnnualRateComputation) bean).getRate(); case -1540322338: // accrualFactor return ((FixedOvernightCompoundedAnnualRateComputation) bean).getAccrualFactor(); } return super.propertyGet(bean, propertyName, quiet); }
} else if (computation instanceof FixedOvernightCompoundedAnnualRateComputation) { double rate = ((FixedOvernightCompoundedAnnualRateComputation) computation).getRate(); double simpleRate = ((FixedOvernightCompoundedAnnualRateComputation) computation).getSimpleRate(); builder.put(ExplainKey.FIXED_RATE, rate); builder.put(ExplainKey.COMBINED_RATE, simpleRate);
Optional<FixedOvernightCompoundedAnnualRateComputation> annualRateCompOpt = findAnnualRateComputation(fixedLeg); if (annualRateCompOpt.isPresent()) { return parRate(swap, provider) - annualRateCompOpt.get().getRate();
if (annualRateCompOpt.isPresent()) { RatePaymentPeriod payment = (RatePaymentPeriod) fixedLeg.getPaymentPeriods().get(0); double af = annualRateCompOpt.get().getAccrualFactor(); double notional = payment.getNotional(); double df = provider.discountFactor(ccyFixedLeg, payment.getPaymentDate());
} else if (computation instanceof FixedOvernightCompoundedAnnualRateComputation) { return ((FixedOvernightCompoundedAnnualRateComputation) computation).getSimpleRate(); } else if (computation instanceof IborRateComputation) { return iborRateComputationFn.rate(
public void test_collectIndices() { FixedOvernightCompoundedAnnualRateComputation test = sut(); ImmutableSet.Builder<Index> builder = ImmutableSet.builder(); test.collectIndices(builder); assertEquals(builder.build(), ImmutableSet.of()); }
public void test_of() { FixedOvernightCompoundedAnnualRateComputation test = sut(); assertEquals(test.getRate(), 0.05); assertEquals(test.getAccrualFactor(), 0.1); }
private FixedOvernightCompoundedAnnualRateComputation sut2() { return FixedOvernightCompoundedAnnualRateComputation.of(0.15, 0.2); }
@Override public FixedOvernightCompoundedAnnualRateComputation build() { return new FixedOvernightCompoundedAnnualRateComputation( rate, accrualFactor); }
public void test_rate_FixedOvernightCompoundedAnnualRateComputation() { FixedOvernightCompoundedAnnualRateComputation ro = FixedOvernightCompoundedAnnualRateComputation.of(0.0123d, 0.5d); DispatchingRateComputationFn test = DispatchingRateComputationFn.DEFAULT; double simpleRate = (Math.pow(1 + 0.0123d, 0.5d) - 1) / 0.5d; assertEquals(test.rate(ro, ACCRUAL_START_DATE, ACCRUAL_END_DATE, MOCK_PROV), simpleRate, 0d); }
public void test_explainRate_FixedOvernightCompoundedAnnualRateComputation() { double simpleRate = (Math.pow(1 + 0.0123d, 0.5d) - 1) / 0.5d; FixedOvernightCompoundedAnnualRateComputation ro = FixedOvernightCompoundedAnnualRateComputation.of(0.0123d, 0.5d); DispatchingRateComputationFn test = DispatchingRateComputationFn.DEFAULT; ExplainMapBuilder builder = ExplainMap.builder(); assertEquals(test.explainRate(ro, ACCRUAL_START_DATE, ACCRUAL_END_DATE, MOCK_PROV, builder), 0.0123d, 0d); ExplainMap built = builder.build(); assertEquals(built.get(ExplainKey.FIXED_RATE), Optional.of(0.0123d)); assertEquals(built.get(ExplainKey.COMBINED_RATE), Optional.of(simpleRate)); }
double yearFraction = period.yearFraction(dayCount, accrualSchedule); double resolvedRate = resolvedRates.get(0); RateComputation rateComputation = FixedOvernightCompoundedAnnualRateComputation.of(resolvedRate, yearFraction); RateAccrualPeriod accrualPeriod = new RateAccrualPeriod(period, yearFraction, rateComputation); return ImmutableList.of(accrualPeriod);
public void test_expand_onePeriod_with_futureValueNotional() { FixedRateCalculation test = FixedRateCalculation.builder() .dayCount(ACT_365F) .rate(ValueSchedule.of(0.025d)) .futureValueNotional(FutureValueNotional.of(1000d)) .build(); SchedulePeriod period = SchedulePeriod.of(date(2014, 1, 6), date(2014, 2, 5), date(2014, 1, 5), date(2014, 2, 5)); Schedule schedule = Schedule.builder() .periods(period) .frequency(Frequency.TERM) .rollConvention(RollConventions.NONE) .build(); double yearFraction = period.yearFraction(ACT_365F, schedule); RateAccrualPeriod rap = RateAccrualPeriod.builder(period) .yearFraction(period.yearFraction(ACT_365F, schedule)) .rateComputation(FixedOvernightCompoundedAnnualRateComputation.of(0.025d, yearFraction)) .build(); ImmutableList<RateAccrualPeriod> periods = test.createAccrualPeriods(schedule, schedule, REF_DATA); assertEquals(periods, ImmutableList.of(rap)); }