private RatesCurveGroupId(CurveGroupName curveGroupName, ObservableSource observableSource) { JodaBeanUtils.notNull(curveGroupName, "curveGroupName"); JodaBeanUtils.notNull(observableSource, "observableSource"); this.curveGroupName = curveGroupName; this.observableSource = observableSource; }
public virtual void test_withName() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("Test")).addDiscountCurve(CURVE_DEFN1, GBP).build(); RatesCurveGroupDefinition expected = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("NewName")).addDiscountCurve(CURVE_DEFN1, GBP).build(); RatesCurveGroupDefinition withNewName = test.withName(CurveGroupName.of("NewName")); assertEquals(withNewName, expected); }
private LegalEntityCurveGroup(CurveGroupName name, IDictionary <Pair <RepoGroup, Currency>, Curve> repoCurves, IDictionary <Pair <LegalEntityGroup, Currency>, Curve> issuerCurves) { JodaBeanUtils.notNull(name, "name"); JodaBeanUtils.notNull(repoCurves, "repoCurves"); JodaBeanUtils.notNull(issuerCurves, "issuerCurves"); this.name = name; this.repoCurves = ImmutableMap.copyOf(repoCurves); this.issuerCurves = ImmutableMap.copyOf(issuerCurves); }
internal RatesCurveGroupDefinitionBuilder(CurveGroupName name, IDictionary <CurveName, RatesCurveGroupEntry> entries, IDictionary <CurveName, CurveDefinition> curveDefinitions, IDictionary <CurveName, SeasonalityDefinition> seasonalityDefinitions, bool computeJacobian, bool computePvSensitivityToMarketQuote) { this.name_Renamed = name; this.entries = entries; this.curveDefinitions = curveDefinitions; this.seasonalityDefinitions = seasonalityDefinitions; this.computeJacobian_Renamed = computeJacobian; this.computePvSensitivityToMarketQuote_Renamed = computePvSensitivityToMarketQuote; }
private IssuerCurveInputsId(CurveGroupName curveGroupName, CurveName curveName, ObservableSource observableSource) { JodaBeanUtils.notNull(curveGroupName, "curveGroupName"); JodaBeanUtils.notNull(curveName, "curveName"); JodaBeanUtils.notNull(observableSource, "observableSource"); this.curveGroupName = curveGroupName; this.curveName = curveName; this.observableSource = observableSource; }
public virtual void test_builder4() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("Test")).addCurve(CURVE_NAME1, GBP, GBP_LIBOR_1M, GBP_LIBOR_3M).build(); assertEquals(test.Name, CurveGroupName.of("Test")); assertEquals(test.Entries, ImmutableList.of(ENTRY3)); assertEquals(test.findEntry(CurveName.of("Test")), ENTRY3); assertEquals(test.findEntry(CurveName.of("Test2")), null); assertEquals(test.findEntry(CurveName.of("Rubbish")), null); }
public virtual void test_builder3() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("Test")).addDiscountCurve(CURVE_NAME1, GBP).addForwardCurve(CURVE_NAME1, GBP_SONIA).addForwardCurve(CURVE_NAME1, GBP_LIBOR_1W).addForwardCurve(CURVE_NAME2, GBP_LIBOR_1M, GBP_LIBOR_3M).build(); assertEquals(test.Name, CurveGroupName.of("Test")); assertEquals(test.Entries, ImmutableList.of(ENTRY1, ENTRY2)); assertEquals(test.findEntry(CurveName.of("Test")), ENTRY1); assertEquals(test.findEntry(CurveName.of("Test2")), ENTRY2); assertEquals(test.findEntry(CurveName.of("Rubbish")), null); }
public virtual void test_of_TypesSource() { CurveId test = CurveId.of(CurveGroupName.of("Group"), CurveName.of("Name"), OBS_SOURCE); assertEquals(test.CurveGroupName, CurveGroupName.of("Group")); assertEquals(test.CurveName, CurveName.of("Name")); assertEquals(test.ObservableSource, OBS_SOURCE); assertEquals(test.MarketDataType, typeof(Curve)); assertEquals(test.MarketDataName, CurveName.of("Name")); assertEquals(test.ToString(), "CurveId:Group/Name/Vendor"); }
//------------------------------------------------------------------------- public virtual void test_of_String() { CurveId test = CurveId.of("Group", "Name"); assertEquals(test.CurveGroupName, CurveGroupName.of("Group")); assertEquals(test.CurveName, CurveName.of("Name")); assertEquals(test.ObservableSource, ObservableSource.NONE); assertEquals(test.MarketDataType, typeof(Curve)); assertEquals(test.MarketDataName, CurveName.of("Name")); assertEquals(test.ToString(), "CurveId:Group/Name"); }
public virtual void test_builder_seasonality() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("Test")).addCurve(CURVE_DEFN1, GBP, GBP_LIBOR_1M, GBP_LIBOR_3M).addSeasonality(CURVE_NAME_I, SEASONALITY_ADDITIVE_DEF).build(); assertEquals(test.Name, CurveGroupName.of("Test")); assertEquals(test.Entries, ImmutableList.of(ENTRY3)); assertEquals(test.findEntry(CurveName.of("Test")), ENTRY3); assertEquals(test.findEntry(CurveName.of("Test2")), null); assertEquals(test.findEntry(CurveName.of("Rubbish")), null); assertEquals(test.findCurveDefinition(CurveName.of("Test")), CURVE_DEFN1); assertEquals(test.findCurveDefinition(CurveName.of("Test2")), null); assertEquals(test.findCurveDefinition(CurveName.of("Rubbish")), null); ImmutableMap <CurveName, SeasonalityDefinition> seasonMap = test.SeasonalityDefinitions; assertTrue(seasonMap.size() == 1); assertEquals(seasonMap.get(CURVE_NAME_I), SEASONALITY_ADDITIVE_DEF); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @SuppressWarnings("unchecked") @Override public Builder set(String propertyName, Object newValue) public override Builder set(string propertyName, object newValue) { switch (propertyName.GetHashCode()) { case 3373707: // name this.name_Renamed = (CurveGroupName)newValue; break; case 587630454: // repoCurves this.repoCurves_Renamed = (IDictionary <Pair <RepoGroup, Currency>, Curve>)newValue; break; case -1909076611: // issuerCurves this.issuerCurves_Renamed = (IDictionary <Pair <LegalEntityGroup, Currency>, Curve>)newValue; break; default: throw new NoSuchElementException("Unknown property: " + propertyName); } return(this); }
/// <summary> /// Obtains an instance used to obtain a curve group by name, specifying the source of observable market data. /// </summary> /// <param name="groupName"> the curve group name </param> /// <param name="obsSource"> source of observable market data </param> /// <returns> the identifier </returns> public static RatesCurveGroupId of(CurveGroupName groupName, ObservableSource obsSource) { return(new RatesCurveGroupId(groupName, obsSource)); }
//------------------------------------------------------------------------- /// <summary> /// Obtains an instance used to obtain a curve group by name. /// </summary> /// <param name="groupName"> the curve group name </param> /// <returns> the identifier </returns> public static RatesCurveGroupId of(string groupName) { return(new RatesCurveGroupId(CurveGroupName.of(groupName), ObservableSource.NONE)); }
//------------------------------------------------------------------------- public virtual void test_tradesInitialGuesses() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("Test")).addCurve(CURVE_DEFN1, GBP, GBP_LIBOR_1M, GBP_LIBOR_3M).build(); MarketData marketData = ImmutableMarketData.of(date(2015, 6, 30), ImmutableMap.of(GBP_LIBOR_1M_ID, 0.5d, GBP_LIBOR_3M_ID, 1.5d)); Trade trade1 = NODE1.trade(1d, marketData, REF_DATA); Trade trade2 = NODE2.trade(1d, marketData, REF_DATA); assertEquals(test.TotalParameterCount, 2); assertEquals(test.resolvedTrades(marketData, REF_DATA), ImmutableList.of(trade1, trade2)); assertEquals(test.initialGuesses(marketData), ImmutableList.of(0.5d, 1.5d)); }
/// <summary> /// Obtains an instance used to obtain a curve group by name, specifying the source of observable market data. /// </summary> /// <param name="groupName"> the curve group name </param> /// <param name="obsSource"> source of observable market data </param> /// <returns> the identifier </returns> public static LegalEntityCurveGroupId of(CurveGroupName groupName, ObservableSource obsSource) { return(new LegalEntityCurveGroupId(groupName, obsSource)); }
//------------------------------------------------------------------------- public virtual void coverage() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("Test")).addDiscountCurve(CURVE_DEFN1, GBP).build(); coverImmutableBean(test); RatesCurveGroupDefinition test2 = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("Test2")).addForwardCurve(CURVE_DEFN2, GBP_LIBOR_1M).build(); coverBeanEquals(test, test2); }
public virtual void test_ofCurves_duplicateCurveName() { RatesCurveGroupDefinition definition = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("group")).addForwardCurve(IBOR_NAME, USD_LIBOR_1M, USD_LIBOR_2M).build(); RatesCurveGroup group = RatesCurveGroup.ofCurves(definition, IBOR_CURVE, IBOR_CURVE); assertThat(group.findForwardCurve(USD_LIBOR_1M)).hasValue(IBOR_CURVE); assertThat(group.findForwardCurve(USD_LIBOR_2M)).hasValue(IBOR_CURVE); }
//------------------------------------------------------------------------- /// <summary> /// Returns a curve group containing the specified curves. /// </summary> /// <param name="name"> the name of the curve group </param> /// <param name="repoCurves"> the repo curves, keyed by pair of repo group and currency </param> /// <param name="issuerCurves"> the issuer curves, keyed by pair of legal entity group and currency </param> /// <returns> a curve group containing the specified curves </returns> public static LegalEntityCurveGroup of(CurveGroupName name, IDictionary <Pair <RepoGroup, Currency>, Curve> repoCurves, IDictionary <Pair <LegalEntityGroup, Currency>, Curve> issuerCurves) { return(new LegalEntityCurveGroup(name, repoCurves, issuerCurves)); }
/// <summary> /// Restricted copy constructor. </summary> /// <param name="beanToCopy"> the bean to copy from, not null </param> internal Builder(LegalEntityCurveGroup beanToCopy) { this.name_Renamed = beanToCopy.Name; this.repoCurves_Renamed = beanToCopy.RepoCurves; this.issuerCurves_Renamed = beanToCopy.IssuerCurves; }
public virtual void test_bind_no_seasonality() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("Test")).addCurve(CURVE_DEFN1, GBP, GBP_LIBOR_1M, GBP_LIBOR_3M).addForwardCurve(CURVE_DEFN_I, GB_RPI).build(); LocalDate valuationDate = LocalDate.of(2015, 11, 10); LocalDate lastFixingDate = LocalDate.of(2015, 10, 31); LocalDate otherFixingDate = LocalDate.of(2015, 9, 30); double lastFixingValue = 234.56; IDictionary <Index, LocalDateDoubleTimeSeries> map = ImmutableMap.of(GB_RPI, LocalDateDoubleTimeSeries.builder().put(lastFixingDate, 234.56).put(otherFixingDate, lastFixingValue - 1).build()); RatesCurveGroupDefinition testBound = test.bindTimeSeries(valuationDate, map); IList <CurveDefinition> list = testBound.CurveDefinitions; assertEquals(list.Count, 2); assertTrue(list[0] is InterpolatedNodalCurveDefinition); assertTrue(list[1] is InflationNodalCurveDefinition); InflationNodalCurveDefinition seasonDef = (InflationNodalCurveDefinition)list[1]; assertEquals(seasonDef.CurveWithoutFixingDefinition, CURVE_DEFN_I); assertEquals(seasonDef.LastFixingMonth, YearMonth.from(lastFixingDate)); assertEquals(seasonDef.LastFixingValue, lastFixingValue); assertEquals(seasonDef.Name, CURVE_NAME_I); assertEquals(seasonDef.YValueType, ValueType.PRICE_INDEX); // Check the default assertTrue(seasonDef.SeasonalityDefinition.SeasonalityMonthOnMonth.equalWithTolerance(DoubleArray.filled(12, 1d), 1.0E-10)); assertEquals(seasonDef.SeasonalityDefinition.AdjustmentType, ShiftType.SCALED); }
public virtual void test_combinedWith_differentCurveNames() { RatesCurveGroupDefinition base1 = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("Test")).addCurve(CURVE_DEFN1, GBP, GBP_LIBOR_1M, GBP_LIBOR_3M).addForwardCurve(CURVE_DEFN_I, GB_RPI).build(); RatesCurveGroupDefinition base2 = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("TestX")).addForwardCurve(CURVE_DEFN2, GBP_LIBOR_6M).build(); RatesCurveGroupDefinition expected = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("Test")).addCurve(CURVE_DEFN1, GBP, GBP_LIBOR_1M, GBP_LIBOR_3M).addForwardCurve(CURVE_DEFN_I, GB_RPI).addForwardCurve(CURVE_DEFN2, GBP_LIBOR_6M).build(); assertEquals(base1.combinedWith(base2), expected); }
public virtual void test_serialization() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("Test")).addDiscountCurve(CURVE_DEFN1, GBP).build(); assertSerialization(test); }
//------------------------------------------------------------------------- /// <summary> /// Obtains an instance used to obtain a curve by name. /// </summary> /// <param name="groupName"> the curve group name </param> /// <param name="curveName"> the curve name </param> /// <returns> the identifier </returns> public static CurveId of(string groupName, string curveName) { return(new CurveId(CurveGroupName.of(groupName), CurveName.of(curveName), ObservableSource.NONE)); }
public virtual void test_bind_after_last_fixing() { RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("Test")).addCurve(CURVE_DEFN1, GBP, GBP_LIBOR_1M, GBP_LIBOR_3M).addForwardCurve(CURVE_DEFN_I, GB_RPI).addSeasonality(CURVE_NAME_I, SEASONALITY_ADDITIVE_DEF).build(); LocalDate valuationDate = LocalDate.of(2015, 10, 15); LocalDate lastFixingDate = LocalDate.of(2015, 10, 31); LocalDate otherFixingDate = LocalDate.of(2015, 9, 30); LocalDate other2FixingDate = LocalDate.of(2015, 8, 31); double lastFixingValue = 234.56; IDictionary <Index, LocalDateDoubleTimeSeries> map = ImmutableMap.of(GB_RPI, LocalDateDoubleTimeSeries.builder().put(lastFixingDate, lastFixingValue).put(otherFixingDate, lastFixingValue - 1.0).put(other2FixingDate, lastFixingValue - 2.0).build()); RatesCurveGroupDefinition testBound = test.bindTimeSeries(valuationDate, map); IList <CurveDefinition> list = testBound.CurveDefinitions; assertEquals(list.Count, 2); assertTrue(list[0] is InterpolatedNodalCurveDefinition); assertTrue(list[1] is InflationNodalCurveDefinition); InflationNodalCurveDefinition seasonDef = (InflationNodalCurveDefinition)list[1]; assertEquals(seasonDef.CurveWithoutFixingDefinition, CURVE_DEFN_I); assertEquals(seasonDef.LastFixingMonth, YearMonth.from(otherFixingDate)); assertEquals(seasonDef.LastFixingValue, lastFixingValue - 1.0); assertEquals(seasonDef.Name, CURVE_NAME_I); assertEquals(seasonDef.SeasonalityDefinition, SEASONALITY_ADDITIVE_DEF); assertEquals(seasonDef.YValueType, ValueType.PRICE_INDEX); }
/// <summary> /// Obtains an instance used to obtain a curve by name, specifying the source of observable market data. /// </summary> /// <param name="groupName"> the curve group name </param> /// <param name="curveName"> the curve name </param> /// <param name="obsSource"> the source of observable market data </param> /// <returns> the identifier </returns> public static CurveId of(CurveGroupName groupName, CurveName curveName, ObservableSource obsSource) { return(new CurveId(groupName, curveName, obsSource)); }
//------------------------------------------------------------------------- /// <summary> /// Sets the name of the curve group definition. /// </summary> /// <param name="name"> the name of the curve group, not empty </param> /// <returns> this builder </returns> public RatesCurveGroupDefinitionBuilder name(CurveGroupName name) { this.name_Renamed = ArgChecker.notNull(name, "name"); return(this); }
public virtual void test_ofCurves() { RatesCurveGroupDefinition definition = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("group")).addCurve(DISCOUNT_NAME, GBP, GBP_LIBOR_1M).addForwardCurve(IBOR_NAME, USD_LIBOR_1M, USD_LIBOR_2M).addForwardCurve(OVERNIGHT_NAME, EUR_EONIA).build(); RatesCurveGroup group = RatesCurveGroup.ofCurves(definition, DISCOUNT_CURVE, OVERNIGHT_CURVE, IBOR_CURVE); assertThat(group.findDiscountCurve(GBP)).hasValue(DISCOUNT_CURVE); assertThat(group.findForwardCurve(USD_LIBOR_1M)).hasValue(IBOR_CURVE); assertThat(group.findForwardCurve(USD_LIBOR_2M)).hasValue(IBOR_CURVE); assertThat(group.findForwardCurve(EUR_EONIA)).hasValue(OVERNIGHT_CURVE); }
//------------------------------------------------------------------------- /// <summary> /// Obtains an instance used to obtain a curve group by name. /// </summary> /// <param name="groupName"> the curve group name </param> /// <returns> the identifier </returns> public static LegalEntityCurveGroupId of(string groupName) { return(new LegalEntityCurveGroupId(CurveGroupName.of(groupName), ObservableSource.NONE)); }
//----------------------------------------------------------------------- /// <summary> /// Sets the name of the curve group. </summary> /// <param name="name"> the new value, not null </param> /// <returns> this, for chaining, not null </returns> public Builder name(CurveGroupName name) { JodaBeanUtils.notNull(name, "name"); this.name_Renamed = name; return(this); }
public virtual void test_combinedWith_sameCurveNamesClash() { RatesCurveGroupDefinition base1 = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("Test")).addCurve(CURVE_DEFN1, GBP, GBP_LIBOR_1M, GBP_LIBOR_3M).addForwardCurve(CURVE_DEFN_I, GB_RPI).build(); RatesCurveGroupDefinition base2 = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("TestX")).addCurve(CURVE_DEFN1B, GBP, GBP_LIBOR_6M).build(); assertThrowsIllegalArg(() => base1.combinedWith(base2)); }