@Override public Set<String> tokens(CurrencyParameterSensitivity sensitivity) { return ImmutableSet.of( sensitivity.getCurrency().getCode().toLowerCase(Locale.ENGLISH), sensitivity.getMarketDataName().getName().toLowerCase(Locale.ENGLISH)); }
private boolean matchesToken(CurrencyParameterSensitivity sensitivity, String token) { return token.equalsIgnoreCase(sensitivity.getCurrency().getCode()) || token.equalsIgnoreCase(sensitivity.getMarketDataName().getName()); }
private Stream<String> tokensForSensitivity(CurrencyParameterSensitivity sensitivity) { return ImmutableSet.of( sensitivity.getCurrency().getCode(), sensitivity.getMarketDataName().getName()) .stream() .map(v -> v.toLowerCase(Locale.ENGLISH)); }
@Override public EvaluationResult evaluate( CurrencyParameterSensitivity sensitivity, CalculationFunctions functions, String firstToken, List<String> remainingTokens) { if (firstToken.equalsIgnoreCase(sensitivity.getCurrency().getCode()) || firstToken.equalsIgnoreCase(sensitivity.getMarketDataName().getName())) { return EvaluationResult.success(sensitivity, remainingTokens); } else { return invalidTokenFailure(sensitivity, firstToken); } }
public void test_parse_String() { Currency test = Currency.parse("GBP"); assertEquals(test.getCode(), "GBP"); assertSame(test, Currency.GBP); }
public void test_parse_String_lowerCase() { Currency test = Currency.parse("gbp"); assertEquals(test.getCode(), "GBP"); assertSame(test, Currency.GBP); }
public void test_of_String() { Currency test = Currency.of("SEK"); assertEquals(test.getCode(), "SEK"); assertSame(test, Currency.of("SEK")); }
public void test_of_String_unknownCurrencyCreated() { Currency test = Currency.of("AAA"); assertEquals(test.getCode(), "AAA"); assertEquals(test.getMinorUnitDigits(), 0); assertSame(test, Currency.of("AAA")); }
public void test_parse_String_unknownCurrencyCreated() { Currency test = Currency.parse("zyx"); assertEquals(test.getCode(), "ZYX"); assertEquals(test.getMinorUnitDigits(), 0); assertSame(test, Currency.of("ZYX")); }
public void test_of_String_historicCurrency() { Currency test = Currency.of("BEF"); assertEquals(test.getCode(), "BEF"); assertEquals(test.getMinorUnitDigits(), 2); assertEquals(test.getTriangulationCurrency(), Currency.EUR); assertSame(test, Currency.of("BEF")); }
public void test_explainPresentValue() { ExplainMap explain = LEG_PRICER.explainPresentValue(CAP_LEG, RATES_PROVIDER, VOLATILITIES); assertEquals(explain.get(ExplainKey.ENTRY_TYPE).get(), "CmsLeg"); assertEquals(explain.get(ExplainKey.PAY_RECEIVE).get().toString(), "Receive"); assertEquals(explain.get(ExplainKey.PAYMENT_CURRENCY).get().getCode(), "EUR"); assertEquals(explain.get(ExplainKey.START_DATE).get(), LocalDate.of(2015, 10, 21)); assertEquals(explain.get(ExplainKey.END_DATE).get(), LocalDate.of(2020, 10, 21)); assertEquals(explain.get(ExplainKey.INDEX).get().toString(), "EUR-EURIBOR-1100-5Y"); assertEquals(explain.get(ExplainKey.PRESENT_VALUE).get().getAmount(), 39728.51321029542); List<ExplainMap> paymentPeriods = explain.get(ExplainKey.PAYMENT_PERIODS).get(); assertEquals(paymentPeriods.size(), 5); //Test First Period ExplainMap cmsPeriod0 = paymentPeriods.get(0); assertEquals(cmsPeriod0.get(ExplainKey.ENTRY_TYPE).get(), "CmsCapletPeriod"); assertEquals(cmsPeriod0.get(ExplainKey.STRIKE_VALUE).get(), 0.0125d); assertEquals(cmsPeriod0.get(ExplainKey.NOTIONAL).get().getAmount(), 1000000d); assertEquals(cmsPeriod0.get(ExplainKey.PAYMENT_DATE).get(), LocalDate.of(2016, 10, 21)); assertEquals(cmsPeriod0.get(ExplainKey.DISCOUNT_FACTOR).get(), 0.9820085531995826d); assertEquals(cmsPeriod0.get(ExplainKey.START_DATE).get(), LocalDate.of(2015, 10, 21)); assertEquals(cmsPeriod0.get(ExplainKey.END_DATE).get(), LocalDate.of(2016, 10, 21)); assertEquals(cmsPeriod0.get(ExplainKey.FIXING_DATE).get(), LocalDate.of(2015, 10, 19)); assertEquals(cmsPeriod0.get(ExplainKey.ACCRUAL_YEAR_FRACTION).get(), 1.0166666666666666d); double forwardSwapRate = PRICER_SWAP.parRate(CAP_LEG.getCmsPeriods().get(0).getUnderlyingSwap(), RATES_PROVIDER); assertEquals(cmsPeriod0.get(ExplainKey.FORWARD_RATE).get(), forwardSwapRate); CurrencyAmount pv = PERIOD_PRICER.presentValue(CAP_LEG.getCmsPeriods().get(0), RATES_PROVIDER, VOLATILITIES); assertEquals(cmsPeriod0.get(ExplainKey.PRESENT_VALUE).get(), pv); }
csv.writeCell(pmd instanceof DatedParameterMetadata ? ((DatedParameterMetadata) pmd).getDate().toString() : ""); csv.writeCell(paramSens.getCurrency().getCode()); csv.writeCell(BigDecimal.valueOf(value).toPlainString()); csv.writeLine(additionalCells);