Exemplo n.º 1
0
 private RatesCurveGroupId(CurveGroupName curveGroupName, ObservableSource observableSource)
 {
     JodaBeanUtils.notNull(curveGroupName, "curveGroupName");
     JodaBeanUtils.notNull(observableSource, "observableSource");
     this.curveGroupName   = curveGroupName;
     this.observableSource = observableSource;
 }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 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);
 }
Exemplo n.º 4
0
 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;
 }
Exemplo n.º 5
0
 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;
 }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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");
        }
Exemplo n.º 9
0
        //-------------------------------------------------------------------------
        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");
        }
Exemplo n.º 10
0
        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);
        }
Exemplo n.º 11
0
//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);
            }
Exemplo n.º 12
0
 /// <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));
 }
Exemplo n.º 13
0
 //-------------------------------------------------------------------------
 /// <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));
 }
Exemplo n.º 14
0
        //-------------------------------------------------------------------------
        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));
 }
Exemplo n.º 16
0
        //-------------------------------------------------------------------------
        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);
        }
Exemplo n.º 18
0
 //-------------------------------------------------------------------------
 /// <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));
 }
Exemplo n.º 19
0
 /// <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;
 }
Exemplo n.º 20
0
        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);
        }
Exemplo n.º 21
0
        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);
        }
Exemplo n.º 22
0
        public virtual void test_serialization()
        {
            RatesCurveGroupDefinition test = RatesCurveGroupDefinition.builder().name(CurveGroupName.of("Test")).addDiscountCurve(CURVE_DEFN1, GBP).build();

            assertSerialization(test);
        }
Exemplo n.º 23
0
 //-------------------------------------------------------------------------
 /// <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));
 }
Exemplo n.º 24
0
        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);
        }
Exemplo n.º 25
0
 /// <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));
 }
Exemplo n.º 26
0
 //-------------------------------------------------------------------------
 /// <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));
 }
Exemplo n.º 29
0
 //-----------------------------------------------------------------------
 /// <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);
 }
Exemplo n.º 30
0
        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));
        }