public virtual void test_trade_noMarketData() { FraCurveNode node = FraCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD); LocalDate valuationDate = LocalDate.of(2015, 1, 22); MarketData marketData = MarketData.empty(valuationDate); assertThrows(() => node.trade(1d, marketData, REF_DATA), typeof(MarketDataNotFoundException)); }
//------------------------------------------------------------------------- public virtual void coverage() { FraCurveNode test = FraCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD); coverImmutableBean(test); FraCurveNode test2 = FraCurveNode.of(FraTemplate.of(Period.ofMonths(1), GBP_LIBOR_6M), QuoteId.of(StandardId.of("OG-Ticker", "Deposit2"))); coverBeanEquals(test, test2); }
public virtual void test_metadata_fixed() { LocalDate nodeDate = VAL_DATE.plusMonths(1); FraCurveNode node = FraCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD).withDate(CurveNodeDate.of(nodeDate)); DatedParameterMetadata metadata = node.metadata(VAL_DATE, REF_DATA); assertEquals(metadata.Date, nodeDate); assertEquals(metadata.Label, node.Label); }
public virtual void test_of_withSpreadAndLabel() { FraCurveNode test = FraCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD, LABEL); assertEquals(test.Label, LABEL); assertEquals(test.RateId, QUOTE_ID); assertEquals(test.AdditionalSpread, SPREAD); assertEquals(test.Template, TEMPLATE); }
public virtual void test_of_noSpread() { FraCurveNode test = FraCurveNode.of(TEMPLATE, QUOTE_ID); assertEquals(test.Label, LABEL_AUTO); assertEquals(test.RateId, QUOTE_ID); assertEquals(test.AdditionalSpread, 0.0d); assertEquals(test.Template, TEMPLATE); }
public virtual void test_builder_defaults() { FraCurveNode test = FraCurveNode.builder().label(LABEL).template(TEMPLATE).rateId(QUOTE_ID).additionalSpread(SPREAD).build(); assertEquals(test.Label, LABEL); assertEquals(test.RateId, QUOTE_ID); assertEquals(test.AdditionalSpread, SPREAD); assertEquals(test.Template, TEMPLATE); assertEquals(test.Date, CurveNodeDate.END); }
public virtual void test_metadata_end() { FraCurveNode node = FraCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD); LocalDate valuationDate = LocalDate.of(2015, 1, 22); LocalDate endDate = OFFSET.adjust(valuationDate, REF_DATA).plus(PERIOD_TO_START).plusMonths(3); ParameterMetadata metadata = node.metadata(valuationDate, REF_DATA); assertEquals(((TenorDateParameterMetadata)metadata).Date, endDate); assertEquals(((TenorDateParameterMetadata)metadata).Tenor, TENOR_5M); }
public virtual void test_requirements() { FraCurveNode test = FraCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD); ISet <ObservableId> set = test.requirements(); IEnumerator <ObservableId> itr = set.GetEnumerator(); //JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops: assertEquals(itr.next(), QUOTE_ID); //JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops: assertFalse(itr.hasNext()); }
public virtual void test_metadata_last_fixing() { FraCurveNode node = FraCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD).withDate(CurveNodeDate.LAST_FIXING); LocalDate valuationDate = LocalDate.of(2015, 1, 22); ImmutableMarketData marketData = ImmutableMarketData.builder(valuationDate).addValue(QUOTE_ID, 0.0d).build(); FraTrade trade = node.trade(1d, marketData, REF_DATA); ResolvedFra resolved = trade.Product.resolve(REF_DATA); LocalDate fixingDate = ((IborRateComputation)(resolved.FloatingRate)).FixingDate; DatedParameterMetadata metadata = node.metadata(valuationDate, REF_DATA); assertEquals(((TenorDateParameterMetadata)metadata).Date, fixingDate); assertEquals(((TenorDateParameterMetadata)metadata).Tenor, TENOR_5M); }
public override bool Equals(object obj) { if (obj == this) { return(true); } if (obj != null && obj.GetType() == this.GetType()) { FraCurveNode other = (FraCurveNode)obj; return(JodaBeanUtils.equal(template, other.template) && JodaBeanUtils.equal(rateId, other.rateId) && JodaBeanUtils.equal(additionalSpread, other.additionalSpread) && JodaBeanUtils.equal(label, other.label) && JodaBeanUtils.equal(date_Renamed, other.date_Renamed) && JodaBeanUtils.equal(dateOrder, other.dateOrder)); } return(false); }
public virtual void test_initialGuess() { FraCurveNode node = FraCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD); double rate = 0.035; MarketData marketData = ImmutableMarketData.builder(VAL_DATE).addValue(QUOTE_ID, rate).build(); assertEquals(node.initialGuess(marketData, ValueType.ZERO_RATE), rate); assertEquals(node.initialGuess(marketData, ValueType.FORWARD_RATE), rate); double approximateMaturity = TEMPLATE.PeriodToEnd.toTotalMonths() / 12.0d; double df = Math.Exp(-approximateMaturity * rate); assertEquals(node.initialGuess(marketData, ValueType.DISCOUNT_FACTOR), df); assertEquals(node.initialGuess(marketData, ValueType.PRICE_INDEX), 0d); }
public virtual void test_trade() { FraCurveNode node = FraCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD); LocalDate valuationDate = LocalDate.of(2015, 1, 22); double rate = 0.035; ImmutableMarketData marketData = ImmutableMarketData.builder(valuationDate).addValue(QUOTE_ID, rate).build(); FraTrade trade = node.trade(1d, marketData, REF_DATA); LocalDate startDateExpected = BDA_MOD_FOLLOW.adjust(OFFSET.adjust(valuationDate, REF_DATA).plus(PERIOD_TO_START), REF_DATA); LocalDate endDateExpected = BDA_MOD_FOLLOW.adjust(OFFSET.adjust(valuationDate, REF_DATA).plus(PERIOD_TO_END), REF_DATA); Fra productExpected = Fra.builder().buySell(BuySell.SELL).currency(GBP).dayCount(ACT_365F).startDate(startDateExpected).endDate(endDateExpected).paymentDate(AdjustableDate.of(startDateExpected)).notional(1.0d).index(GBP_LIBOR_3M).fixedRate(rate + SPREAD).build(); TradeInfo tradeInfoExpected = TradeInfo.builder().tradeDate(valuationDate).build(); assertEquals(trade.Product, productExpected); assertEquals(trade.Info, tradeInfoExpected); }
public virtual void test_serialization() { FraCurveNode test = FraCurveNode.of(TEMPLATE, QUOTE_ID, SPREAD); assertSerialization(test); }