public void CanAddAndGetAllInstrumentTypes()
        {
            using (FinancialClient financialClient = Context.CreateFinancialClient())
            {
                InterpolatedYieldCurveDefinitionMaster interpolatedYieldCurveDefinitionMaster =
                    financialClient.InterpolatedYieldCurveDefinitionMaster;
                YieldCurveDefinitionDocument yieldCurveDefinitionDocument = GenerateDocument();

                foreach (StripInstrumentType stripInstrumentType in Enum.GetValues(typeof(StripInstrumentType)))
                {
                    var fixedIncomeStrip = new FixedIncomeStrip
                    {
                        ConventionName     = "DEFAULT",
                        CurveNodePointTime = Tenor.Day,
                        InstrumentType     = stripInstrumentType
                    };
                    if (stripInstrumentType == StripInstrumentType.Future)
                    {
                        fixedIncomeStrip.NthFutureFromTenor = 12;
                    }

                    yieldCurveDefinitionDocument.YieldCurveDefinition.AddStrip(fixedIncomeStrip);
                }

                AssertRoundTrip(interpolatedYieldCurveDefinitionMaster, yieldCurveDefinitionDocument);
            }
        }
        public void CanAddAndGet()
        {
            using (FinancialClient financialClient = Context.CreateFinancialClient())
            {
                InterpolatedYieldCurveDefinitionMaster interpolatedYieldCurveDefinitionMaster = financialClient.InterpolatedYieldCurveDefinitionMaster;

                YieldCurveDefinitionDocument yieldCurveDefinitionDocument = GenerateDocument();

                AssertRoundTrip(interpolatedYieldCurveDefinitionMaster, yieldCurveDefinitionDocument);
            }
        }
Пример #3
0
        private YieldCurveDefinitionDocument PostDefinition(YieldCurveDefinitionDocument document, string path)
        {
            var created = _restTarget.Resolve("definitions").Resolve("save").Post <YieldCurveDefinitionDocument>(document);

            if (created.UniqueId == null)
            {
                throw new ArgumentException("No UID returned");
            }

            document.UniqueId = created.UniqueId;

            return(document);
        }
Пример #4
0
        public YieldCurveDefinitionDocument Add(YieldCurveDefinitionDocument document)
        {
            var created = _restTarget.Resolve("definitions").Post <YieldCurveDefinitionDocument>(document);

            if (created.UniqueId == null)
            {
                throw new ArgumentException("No UID returned");
            }

            document.UniqueId = created.UniqueId;

            return(document);
        }
        public void CanAddAndRemove()
        {
            using (FinancialClient financialClient = Context.CreateFinancialClient())
            {
                InterpolatedYieldCurveDefinitionMaster interpolatedYieldCurveDefinitionMaster = financialClient.InterpolatedYieldCurveDefinitionMaster;

                YieldCurveDefinitionDocument yieldCurveDefinitionDocument = GenerateDocument();

                AssertRoundTrip(interpolatedYieldCurveDefinitionMaster, yieldCurveDefinitionDocument);
                interpolatedYieldCurveDefinitionMaster.Remove(yieldCurveDefinitionDocument.UniqueId);

                Assert.Throws <DataNotFoundException>(() => interpolatedYieldCurveDefinitionMaster.Get(yieldCurveDefinitionDocument.UniqueId));
            }
        }
        public void CanAddAndGetRegions()
        {
            using (FinancialClient financialClient = Context.CreateFinancialClient())
            {
                InterpolatedYieldCurveDefinitionMaster interpolatedYieldCurveDefinitionMaster = financialClient.InterpolatedYieldCurveDefinitionMaster;

                foreach (ExternalId region in new[] { null, new ExternalId("XX", "12"), new ExternalId("asd", "asd") })
                {
                    YieldCurveDefinitionDocument yieldCurveDefinitionDocument = GenerateDocument();

                    yieldCurveDefinitionDocument.YieldCurveDefinition.Region = region;
                    AssertRoundTrip(interpolatedYieldCurveDefinitionMaster, yieldCurveDefinitionDocument);
                }
            }
        }
        private static void AssertRoundTrip(InterpolatedYieldCurveDefinitionMaster interpolatedYieldCurveDefinitionMaster, YieldCurveDefinitionDocument yieldCurveDefinitionDocument)
        {
            interpolatedYieldCurveDefinitionMaster.Add(yieldCurveDefinitionDocument);

            YieldCurveDefinitionDocument roundtrippedDoc = interpolatedYieldCurveDefinitionMaster.Get(yieldCurveDefinitionDocument.UniqueId);

            YieldCurveDefinition roundTripped = roundtrippedDoc.YieldCurveDefinition;

            var yieldCurveDefinition = yieldCurveDefinitionDocument.YieldCurveDefinition;

            Assert.Equal(yieldCurveDefinition.Name, roundTripped.Name);
            Assert.Equal(yieldCurveDefinition.InterpolatorName, roundTripped.InterpolatorName);
            Assert.Equal(yieldCurveDefinition.Currency, roundTripped.Currency);
            Assert.Equal(roundTripped.Region, roundTripped.Region);

            Assert.True(roundTripped.Strips.SequenceEqual(roundTripped.Strips));
        }
Пример #8
0
 public YieldCurveDefinitionDocument AddOrUpdate(YieldCurveDefinitionDocument document)
 {
     return(PostDefinition(document, "save"));
 }