Example #1
0
        internal static void AddCurves(ScenarioGeneratorModel context)
        {
            DateTime now = context.AsOfDate;

            var curve1 = new Curve() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now, CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            var curveDetail1 = new CurveDetail() { Name = "SWAPSOIS", StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now, CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            curve1.CurveDetails.Add(curveDetail1);

            var curve2 = new Curve() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now, CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            var curveDetail2 = new CurveDetail() { Name = "SWAPSOISRISK", StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now, CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            curve2.CurveDetails.Add(curveDetail2);

            CurveFamily item = context.CurveFamilies.Where(x => x.Name == "SWAPS").First();

            curveDetail1.CurveFamily = item;
            curveDetail2.CurveFamily = item;

            TargetSystem system = context.TargetSystems.Where(x => x.Name == "Simra").First();
            curveDetail1.TargetSystem = system;
            curveDetail2.TargetSystem = system;

            context.Curves.Add(curve1);
            context.Curves.Add(curve2);

            context.SaveChanges();
        }
Example #2
0
        internal static void AddConstituents(ScenarioGeneratorModel context)
        {
            DateTime now = context.AsOfDate;

            var curveDetail = context.CurveDetails.Where(x => x.Name == "SWAPSOIS").First();
            var curve = curveDetail.Curve;

            var riskFactorDimType = context.RiskFactorDimTypes.Include("RiskFactorDimensionDetails").Where(x => x.Name == "Tenor").First();
            var riskDimension = riskFactorDimType.RiskFactorDimensionDetails.First().RiskFactorDimension;

            var curveDimension = new CurveDimension() { RiskFactorDimension = riskDimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };

            curve.CurveDimensions.Add(curveDimension);

            RiskFactorDimItemDetail dimItemDetail = context.RiskFactorDimItemDetails.Where(x => x.Name == "1D").First();
            curveDimension.CurveConstituents.Add(new CurveConstituent() { CurveDimension = curveDimension, RiskFactorDimItem = dimItemDetail.RiskFactorDimItem, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true });

            dimItemDetail = context.RiskFactorDimItemDetails.Where(x => x.Name == "2D").First();
            curveDimension.CurveConstituents.Add(new CurveConstituent() { CurveDimension = curveDimension, RiskFactorDimItem = dimItemDetail.RiskFactorDimItem, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true });

            dimItemDetail = context.RiskFactorDimItemDetails.Where(x => x.Name == "3D").First();
            curveDimension.CurveConstituents.Add(new CurveConstituent() { CurveDimension = curveDimension, RiskFactorDimItem = dimItemDetail.RiskFactorDimItem, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true });

            dimItemDetail = context.RiskFactorDimItemDetails.Where(x => x.Name == "4D").First();
            curveDimension.CurveConstituents.Add(new CurveConstituent() { CurveDimension = curveDimension, RiskFactorDimItem = dimItemDetail.RiskFactorDimItem, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true });

            dimItemDetail = context.RiskFactorDimItemDetails.Where(x => x.Name == "5D").First();
            curveDimension.CurveConstituents.Add(new CurveConstituent() { CurveDimension = curveDimension, RiskFactorDimItem = dimItemDetail.RiskFactorDimItem, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-100), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true });

            context.SaveChanges();
        }
Example #3
0
        private static void AddScenarioLocuses1(ScenarioGeneratorModel context)
        {
            DateTime now = context.AsOfDate;

            ScenarioDetail scenario = context.ScenarioDetails.Where(x => x.Name == "Scenario IR Rate").First();

            ScenarioLocus locus;
            RiskFactorDimItemDetail dimItem;
            ScenarioLocusDimItem locusDimItem;

            RiskFactorDimension dimension = scenario.RiskFactorType.RiskFactorTypeDimensions.Where(d => d.RiskFactorDimension.RiskFactorDimensionDetail.Name == "Currency").First().RiskFactorDimension;

            locus = new ScenarioLocus() { ScenarioDetailID = scenario.ScenarioDetailID, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            locus.RiskFactorDimension = dimension;
            scenario.ScenarioLocuses.Add(locus);

            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "USD" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            locusDimItem = new ScenarioLocusDimItem() { RiskFactorDimItem = dimItem.RiskFactorDimItem, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            locus.ScenarioLocusDimItems.Add(locusDimItem);

            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "PLN" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            locusDimItem = new ScenarioLocusDimItem() { RiskFactorDimItem = dimItem.RiskFactorDimItem, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            locus.ScenarioLocusDimItems.Add(locusDimItem);

            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "EUR" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            locusDimItem = new ScenarioLocusDimItem() { RiskFactorDimItem = dimItem.RiskFactorDimItem, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            locus.ScenarioLocusDimItems.Add(locusDimItem);
        }
Example #4
0
 internal static void AddScenarioPointsAndUnits(ScenarioGeneratorModel context)
 {
     AddScenarioPoints1(context);
     AddScenarioPoints2(context);
     AddScenarioPoints3(context);
     context.SaveChanges();
 }
Example #5
0
        internal static void AddScenarioLocuses(ScenarioGeneratorModel context)
        {
            AddScenarioLocuses1(context);
            AddScenarioLocuses2(context);
            AddScenarioLocuses3(context);

            context.SaveChanges();
        }
Example #6
0
        internal static void AddScenarioGroups(ScenarioGeneratorModel context)
        {
            DateTime now = context.AsOfDate;

            ScenarioGroup sg = new ScenarioGroup() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now, CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioGroups.Add(sg);

            ScenarioGroupDetail sgd;
            sgd = new ScenarioGroupDetail() { Name = "Macro (v1)", StartTime = now.AddDays(-100), EndTime = now.AddDays(-50), CreatedAt = now.AddDays(-120), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", ModifiedAt = now.AddDays(-110), ModifiedBy = "C", Latest = false };
            sg.ScenarioGroupDetails.Add(sgd);
            sgd = new ScenarioGroupDetail() { Name = "Macro (v2)", StartTime = now.AddDays(-50), EndTime = now.AddDays(-20), CreatedAt = now.AddDays(-75), CreatedBy = "A", ApprovedAt = now.AddDays(-50), ApprovedBy = "B", ModifiedAt = now.AddDays(-60), ModifiedBy = "C", Latest = false };
            sg.ScenarioGroupDetails.Add(sgd);
            sgd = new ScenarioGroupDetail() { Name = "Macro (v3)", StartTime = now.AddDays(-20), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-30), CreatedBy = "A", ApprovedAt = now.AddDays(-20), ApprovedBy = "B", ModifiedAt = now.AddDays(-35), ModifiedBy = "C", Latest = false };
            sg.ScenarioGroupDetails.Add(sgd);
            sgd = new ScenarioGroupDetail() { Name = "Macro", StartTime = DateTime.MinValue, EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-10), CreatedBy = "A", ModifiedAt = now.AddDays(-5), ModifiedBy = "C", Latest = true };
            sg.ScenarioGroupDetails.Add(sgd);

            ScenarioGroup sgc = new ScenarioGroup() { StartTime = now.AddDays(-80), EndTime = DateTime.MaxValue, CreatedAt = now, CreatedBy = "A", ApprovedAt = now.AddDays(-80), ApprovedBy = "B", Latest = true };
            context.ScenarioGroups.Add(sgc);

            sgd = new ScenarioGroupDetail() { Name = "Cyprus Contagion (v1)", StartTime = now.AddDays(-80), EndTime = now.AddDays(-40), CreatedAt = now.AddDays(-80), CreatedBy = "A", ApprovedAt = now.AddDays(-80), ApprovedBy = "B", ModifiedAt = now.AddDays(-80), ModifiedBy = "C", Latest = false };
            sgc.ScenarioGroupDetails.Add(sgd);
            sgd.ScenarioGroupParent = sg;
            sgd = new ScenarioGroupDetail() { Name = "Cyprus Contagion (v2)", StartTime = now.AddDays(-40), EndTime = now.AddDays(-10), CreatedAt = now.AddDays(-50), CreatedBy = "A", ApprovedAt = now.AddDays(-40), ApprovedBy = "B", ModifiedAt = now.AddDays(-45), ModifiedBy = "C", Latest = false };
            sgc.ScenarioGroupDetails.Add(sgd);
            sgd.ScenarioGroupParent = sg;
            sgd = new ScenarioGroupDetail() { Name = "Cyprus Contagion (v3)", StartTime = now.AddDays(-10), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-20), CreatedBy = "A", ApprovedAt = now.AddDays(-10), ApprovedBy = "B", ModifiedAt = now.AddDays(-12), ModifiedBy = "C", Latest = false };
            sgc.ScenarioGroupDetails.Add(sgd);
            sgd.ScenarioGroupParent = sg;
            sgd = new ScenarioGroupDetail() { Name = "Cyprus Contagion", StartTime = DateTime.MinValue, EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-5), CreatedBy = "A", ModifiedAt = now.AddDays(-3), ModifiedBy = "C", Latest = true };
            sgc.ScenarioGroupDetails.Add(sgd);
            sgd.ScenarioGroupParent = sg;

            sgc = new ScenarioGroup() { StartTime = now.AddDays(-55), EndTime = DateTime.MaxValue, CreatedAt = now, CreatedBy = "A", ApprovedAt = now.AddDays(-55), ApprovedBy = "B", Latest = true };
            context.ScenarioGroups.Add(sgc);

            sgd = new ScenarioGroupDetail() { Name = "Double Dip Recession (v1)", StartTime = now.AddDays(-55), EndTime = now.AddDays(-17), CreatedAt = now.AddDays(-80), CreatedBy = "A", ApprovedAt = now.AddDays(-55), ApprovedBy = "B", ModifiedAt = now.AddDays(-80), ModifiedBy = "C", ScenarioGroupParent = sg, Latest = false };
            sgc.ScenarioGroupDetails.Add(sgd);
            sgd.ScenarioGroupParent = sg;
            sgd = new ScenarioGroupDetail() { Name = "Double Dip Recession", StartTime = now.AddDays(-17), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-50), CreatedBy = "A", ApprovedAt = now.AddDays(-17), ApprovedBy = "B", ModifiedAt = now.AddDays(-18), ModifiedBy = "C", ScenarioGroupParent = sg, Latest = true };
            sgc.ScenarioGroupDetails.Add(sgd);
            sgd.ScenarioGroupParent = sg;

            sgc = new ScenarioGroup() { StartTime = now.AddDays(-25), EndTime = DateTime.MaxValue, CreatedAt = now, CreatedBy = "A", ApprovedAt = now.AddDays(-55), ApprovedBy = "B", Latest = true };
            context.ScenarioGroups.Add(sgc);

            sgd = new ScenarioGroupDetail() { Name = "Euro Breaks Up", StartTime = now.AddDays(-25), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-80), CreatedBy = "A", ModifiedAt = now.AddDays(-18), ModifiedBy = "C", Latest = true };
            sgc.ScenarioGroupDetails.Add(sgd);
            sgd.ScenarioGroupParent = sg;

            sgc = new ScenarioGroup() { StartTime = DateTime.MinValue, EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-80), CreatedBy = "A", Latest = true };
            context.ScenarioGroups.Add(sgc);

            sgd = new ScenarioGroupDetail() { Name = "Eurozone Crisis", StartTime = DateTime.MinValue, EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-80), CreatedBy = "A", Latest = true };
            sgc.ScenarioGroupDetails.Add(sgd);

            context.SaveChanges();
        }
Example #7
0
        internal static void AddScenarios(ScenarioGeneratorModel context)
        {
            DateTime now = context.AsOfDate;

            ScenarioGroup sg1 = context.ScenarioGroupDetails.Where(x => x.Name == "Cyprus Contagion").First().ScenarioGroup;
            ScenarioGroup sg2 = context.ScenarioGroupDetails.Where(x => x.Name == "Double Dip Recession").First().ScenarioGroup;
            ScenarioGroup sg3 = context.ScenarioGroupDetails.Where(x => x.Name == "Eurozone Crisis").First().ScenarioGroup;

            RiskFactorType rft1 = context.RiskFactorTypeDetails.Where(x => x.Name == "IR Volatility").First().RiskFactorType;
            RiskFactorType rft2 = context.RiskFactorTypeDetails.Where(x => x.Name == "FX Rate").First().RiskFactorType;
            RiskFactorType rft3 = context.RiskFactorTypeDetails.Where(x => x.Name == "FX Volatility").First().RiskFactorType;

            ScenarioDetail scd;

            Scenario sc = new Scenario() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now, CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B" };
            context.Scenarios.Add(sc);

            scd = new ScenarioDetail() { Name = "Scenario IR Rate (v1)", StartTime = now.AddDays(-80), EndTime = now.AddDays(-50), CreatedAt = now.AddDays(-120), CreatedBy = "A", ApprovedAt = now.AddDays(-80), ApprovedBy = "B", ModifiedAt = now.AddDays(-110), ModifiedBy = "C", ScenarioGroup = sg1, RiskFactorType = rft2,  Latest = false };
            sc.ScenarioDetails.Add(scd);
            scd = new ScenarioDetail() { Name = "Scenario IR Rate (v2)", StartTime = now.AddDays(-50), EndTime = now.AddDays(-20), CreatedAt = now.AddDays(-75), CreatedBy = "A", ApprovedAt = now.AddDays(-50), ApprovedBy = "B", ModifiedAt = now.AddDays(-60), ModifiedBy = "C", ScenarioGroup = sg1, RiskFactorType = rft2, Latest = false };
            sc.ScenarioDetails.Add(scd);
            scd = new ScenarioDetail() { Name = "Scenario IR Rate (v3)", StartTime = now.AddDays(-20), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-30), CreatedBy = "A", ApprovedAt = now.AddDays(-20), ApprovedBy = "B", ModifiedAt = now.AddDays(-35), ModifiedBy = "C", ScenarioGroup = sg1, RiskFactorType = rft2, Latest = false };
            sc.ScenarioDetails.Add(scd);
            scd = new ScenarioDetail() { Name = "Scenario IR Rate", StartTime = DateTime.MinValue, EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-10), CreatedBy = "A", ModifiedAt = now.AddDays(-5), ModifiedBy = "C", ScenarioGroup = sg1, RiskFactorType = rft2, Latest = true };
            sc.ScenarioDetails.Add(scd);

            Scenario sc2 = new Scenario() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now, CreatedBy = "A", ApprovedAt = now.AddDays(-50), ApprovedBy = "B", BaseScenario = sc };
            context.Scenarios.Add(sc2);

            scd = new ScenarioDetail() { Name = "Scenario IR Volatility (v1)", StartTime = now.AddDays(-50), EndTime = now.AddDays(-25), CreatedAt = now.AddDays(-30), CreatedBy = "A", ApprovedAt = now.AddDays(-50), ApprovedBy = "B", ModifiedAt = now.AddDays(-550), ModifiedBy = "C", ScenarioGroup = sg2, RiskFactorType = rft1, Latest = false };
            sc2.ScenarioDetails.Add(scd);
            scd = new ScenarioDetail() { Name = "Scenario IR Volatility (v2)", StartTime = now.AddDays(-25), EndTime = now.AddDays(-10), CreatedAt = now.AddDays(-38), CreatedBy = "A", ApprovedAt = now.AddDays(-25), ApprovedBy = "B", ModifiedAt = now.AddDays(-30), ModifiedBy = "C", ScenarioGroup = sg2, RiskFactorType = rft1, Latest = false };
            sc2.ScenarioDetails.Add(scd);
            scd = new ScenarioDetail() { Name = "Scenario IR Volatility (v3)", StartTime = now.AddDays(-10), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-15), CreatedBy = "A", ApprovedAt = now.AddDays(-10), ApprovedBy = "B", ModifiedAt = now.AddDays(-17), ModifiedBy = "C", ScenarioGroup = sg2, RiskFactorType = rft1, Latest = false };
            sc2.ScenarioDetails.Add(scd);
            scd = new ScenarioDetail() { Name = "Scenario IR Volatility", StartTime = DateTime.MinValue, EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-5), CreatedBy = "A", ModifiedAt = now.AddDays(-3), ModifiedBy = "C", ScenarioGroup = sg3, RiskFactorType = rft1, Latest = true };
            sc2.ScenarioDetails.Add(scd);

            Scenario sc3 = new Scenario() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-80), CreatedBy = "A", ApprovedAt = now.AddDays(-50), ApprovedBy = "B"};
            context.Scenarios.Add(sc3);

            scd = new ScenarioDetail() { Name = "IR Bond Swap Spread", StartTime = now.AddDays(-50), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-80), CreatedBy = "A", ApprovedAt = now.AddDays(-50), ApprovedBy = "B", ScenarioGroup = sg3, RiskFactorType = rft1, Latest = true };
            sc3.ScenarioDetails.Add(scd);
            scd.Scenario = sc3;

            Scenario sc4 = new Scenario() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-80), CreatedBy = "A", ApprovedAt = now.AddDays(-50), ApprovedBy = "B" };
            context.Scenarios.Add(sc4);

            scd = new ScenarioDetail() { Name = "FX Volatility", StartTime = now.AddDays(-50), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-80), CreatedBy = "A", ApprovedAt = now.AddDays(-50), ApprovedBy = "B", ScenarioGroup = sg3, RiskFactorType = rft3, Latest = true };
            sc4.ScenarioDetails.Add(scd);
            scd.Scenario = sc4;

            context.SaveChanges();
        }
Example #8
0
        internal static void AddFamilies(ScenarioGeneratorModel context)
        {
            DateTime now = context.AsOfDate;

            var parent = new CurveFamily() { Name = "LBG", StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now, CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.CurveFamilies.Add(parent);

            var child = new CurveFamily() { Name = "SWAPS", StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now, CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            child.CurveFamilyParent = parent;
            context.CurveFamilies.Add(child);

            context.SaveChanges();
        }
Example #9
0
        internal static void Read(ScenarioGeneratorModel context)
        {
            context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);

            var list = context.ScenarioLocuses;

            Console.WriteLine("\n\n*****Locus List*****");

            foreach (ScenarioLocus locus in list)
            {
                Console.WriteLine(locus.Representation);
                Console.WriteLine(" --- Dim Items --- ");
                foreach (ScenarioLocusDimItem item in locus.ScenarioLocusDimItems)
                {
                    Console.WriteLine("   " + item.Representation);
                }
                Console.WriteLine(" --- Dim Groups --- ");
                foreach (ScenarioLocusDimGroup group in locus.ScenarioLocusDimGroups)
                {
                    Console.WriteLine("   " + group.Representation);
                }

            }

            var list2 = context.ScenarioPoints;

            Console.WriteLine("\n\n*****Points List*****");
            foreach (ScenarioPoint point in list2)
            {
                Console.WriteLine(point.Representation);
                Console.WriteLine(" --- Coordinates --- ");
                foreach (ScenarioPointCoordinate coordinate in point.ScenarioPointCoordinates)
                {
                    Console.WriteLine("   " + coordinate.Representation);
                }
            }

            var list3 = context.ScenarioUnits;

            Console.WriteLine("\n\n*****Unit List*****");
            foreach (ScenarioUnit unit in list3)
            {
                Console.WriteLine(unit.Representation);
                Console.WriteLine(" --- Points --- ");
                foreach (ScenarioUnitPoint unitPoint in unit.ScenarioUnitPoints)
                {
                    Console.WriteLine("   " + unitPoint.Representation);
                }
            }
        }
Example #10
0
        public void TestSaveNewScenarioGroup()
        {
            string name = "New Scenario Group";
            ScenarioGroup main;
            ScenarioGroupDetail detail;

            using (var context = new ScenarioGeneratorModel(UserName, Connection))
            {

                main = new ScenarioGroup();
                main.Default(UserName);
                context.ScenarioGroups.Add(main);

                detail = new ScenarioGroupDetail();
                detail.Default(UserName);
                detail.Name = name;

                main.ScenarioGroupDetails.Add(detail);

                context.SaveChanges();
            }

            using (var context = new ScenarioGeneratorModel(UserName, Connection))
            {
                context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);
                Assert.AreEqual(1, context.ScenarioGroupDetails.Where(x => x.Name == name).Count());

                detail = context.ScenarioGroupDetails.Where(x => x.Name == name).FirstOrDefault();
                main = detail.ScenarioGroup;

                Assert.AreEqual(name, detail.Name);
                Assert.AreEqual(true, detail.Latest);
                Assert.AreEqual(DateTime.MinValue, detail.StartTime);
                Assert.AreEqual(DateTime.MaxValue, detail.EndTime);
                Assert.AreEqual(EntityStatus.Unapproved, detail.Status);

                Assert.AreEqual(true, main.Latest);
                Assert.AreEqual(DateTime.MinValue, main.StartTime);
                Assert.AreEqual(DateTime.MaxValue, main.EndTime);
                Assert.AreEqual(DateTime.MaxValue, main.EndTime);
                Assert.AreEqual(EntityStatus.Unapproved, main.Status);
            }
        }
Example #11
0
        internal static void Read(ScenarioGeneratorModel context)
        {
            context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);

            var families = context.CurveFamilies;

            Console.WriteLine("\n\n*****Curve Families*****");

            foreach (CurveFamily familiy in families)
            {
                Console.WriteLine("   " + familiy.Representation);
                Console.WriteLine("     --- members --- ");

                var curveDetails = familiy.CurveDetails;
                foreach (CurveDetail curveDetail in curveDetails)
                {
                    Console.WriteLine("   " + curveDetail.Representation);
                }
            }

            Console.WriteLine("\n\n*****Curves*****");

            var curves = context.Curves;

            foreach (Curve curve in curves)
            {
                Console.WriteLine("   " + curve.Representation);
                Console.WriteLine("     --- dimensions --- ");
                var dimensions = curve.CurveDimensions;
                foreach (CurveDimension dimension in dimensions)
                {
                    Console.WriteLine("      " + dimension.Representation);
                    Console.WriteLine("        --- constituents --- ");
                    var constituents = dimension.CurveConstituents;
                    foreach (CurveConstituent constituent in constituents)
                    {
                        Console.WriteLine("        " + constituent.Representation);
                    }
                }
            }
        }
Example #12
0
        internal static void AddTypeDimensions(ScenarioGeneratorModel context)
        {
            RiskFactorTypeDetail rft;
            RiskFactorDimensionDetail rfd;

            RiskFactorTypeDimension rftd;

            rft = context.RiskFactorTypeDetails.Where(d => (d.Name == "FX Rate" && d.Latest==true)).First();

            rfd = context.RiskFactorDimensionDetails.Where(d => (d.Name == "Currency" && d.Latest == true)).First();
            rftd = new RiskFactorTypeDimension() { RiskFactorDimensionID = rfd.RiskFactorDimensionID, RiskFactorTypeID = rft.RiskFactorTypeID } ;
            rftd.Default(context.UserName);
            context.RiskFactorTypeDimensions.Add(rftd);

            rfd = context.RiskFactorDimensionDetails.Where(d => (d.Name == "Instrument Tenor" && d.Latest == true)).First();
            rftd = new RiskFactorTypeDimension() { RiskFactorDimensionID = rfd.RiskFactorDimensionID, RiskFactorTypeID = rft.RiskFactorTypeID };
            rftd.Default(context.UserName);
            context.RiskFactorTypeDimensions.Add(rftd);

            rft = context.RiskFactorTypeDetails.Where(d => (d.Name == "FX Volatility" && d.Latest == true)).First();

            rfd = context.RiskFactorDimensionDetails.Where(d => (d.Name == "Currency" && d.Latest == true)).First();
            rftd = new RiskFactorTypeDimension() { RiskFactorDimensionID = rfd.RiskFactorDimensionID, RiskFactorTypeID = rft.RiskFactorTypeID };
            rftd.Default(context.UserName);
            context.RiskFactorTypeDimensions.Add(rftd);

            rfd = context.RiskFactorDimensionDetails.Where(d => (d.Name == "Instrument Tenor" && d.Latest == true)).First();
            rftd = new RiskFactorTypeDimension() { RiskFactorDimensionID = rfd.RiskFactorDimensionID, RiskFactorTypeID = rft.RiskFactorTypeID };
            rftd.Default(context.UserName);
            context.RiskFactorTypeDimensions.Add(rftd);

            rfd = context.RiskFactorDimensionDetails.Where(d => (d.Name == "Country of Origin" && d.Latest == true)).First();
            rftd = new RiskFactorTypeDimension() { RiskFactorDimensionID = rfd.RiskFactorDimensionID, RiskFactorTypeID = rft.RiskFactorTypeID };
            rftd.Default(context.UserName);
            context.RiskFactorTypeDimensions.Add(rftd);

            rft = context.RiskFactorTypeDetails.Where(d => (d.Name == "Credit Asset Swap Spread" && d.Latest == true)).First();

            rfd = context.RiskFactorDimensionDetails.Where(d => (d.Name == "Instrument Sector" && d.Latest == true)).First();
            rftd = new RiskFactorTypeDimension() { RiskFactorDimensionID = rfd.RiskFactorDimensionID, RiskFactorTypeID = rft.RiskFactorTypeID };
            rftd.Default(context.UserName);
            context.RiskFactorTypeDimensions.Add(rftd);

            rfd = context.RiskFactorDimensionDetails.Where(d => (d.Name == "Obligor Rating" && d.Latest == true)).First();
            rftd = new RiskFactorTypeDimension() { RiskFactorDimensionID = rfd.RiskFactorDimensionID, RiskFactorTypeID = rft.RiskFactorTypeID };
            rftd.Default(context.UserName);
            context.RiskFactorTypeDimensions.Add(rftd);

            rft = context.RiskFactorTypeDetails.Where(d => (d.Name == "IR Volatility" && d.Latest == true)).First();

            rfd = context.RiskFactorDimensionDetails.Where(d => (d.Name == "Currency" && d.Latest == true)).First();
            rftd = new RiskFactorTypeDimension() { RiskFactorDimensionID = rfd.RiskFactorDimensionID, RiskFactorTypeID = rft.RiskFactorTypeID };
            rftd.Default(context.UserName);
            context.RiskFactorTypeDimensions.Add(rftd);

            rfd = context.RiskFactorDimensionDetails.Where(d => (d.Name == "Instrument Tenor" && d.Latest == true)).First();
            rftd = new RiskFactorTypeDimension() { RiskFactorDimensionID = rfd.RiskFactorDimensionID, RiskFactorTypeID = rft.RiskFactorTypeID };
            rftd.Default(context.UserName);
            context.RiskFactorTypeDimensions.Add(rftd);

            rfd = context.RiskFactorDimensionDetails.Where(d => (d.Name == "Underlying Tenor" && d.Latest == true)).First();
            rftd = new RiskFactorTypeDimension() { RiskFactorDimensionID = rfd.RiskFactorDimensionID, RiskFactorTypeID = rft.RiskFactorTypeID };
            rftd.Default(context.UserName);
            context.RiskFactorTypeDimensions.Add(rftd);

            context.SaveChanges();
        }
Example #13
0
        public void TestScenarioGroupsLive()
        {
            using (var context = new ScenarioGeneratorModel(UserName, Connection))
            {
                context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);

                Assert.AreEqual(3, context.ScenarioGroups.ToList().Count());

                ScenarioGroup sg = context.ScenarioGroups.Find(1);
                Assert.AreEqual(2, sg.ScenarioGroupDetails.Count());

                sg = context.ScenarioGroups.Find(2);
                Assert.AreEqual(2, sg.ScenarioGroupDetails.Count());

                sg = context.ScenarioGroups.Find(3);
                Assert.AreEqual(1, sg.ScenarioGroupDetails.Count());
            }
        }
Example #14
0
 public Repository(ScenarioGeneratorModel context)
 {
     this.context = context;
 }
Example #15
0
        internal static void Read(ScenarioGeneratorModel context)
        {
            context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);

            var list = context.ScenarioGroups.Where(sg => sg.ScenarioGroupDetails.OrderBy(c => c.StartTime).FirstOrDefault().ScenarioGroupParentID == null);

            Console.WriteLine("\n\n*****Scenario Group List using Lazy Loading*****");

            foreach (ScenarioGroup group in list)
            {
                Console.WriteLine(group.Representation);
                Console.WriteLine(" --- Children --- ");
                foreach (ScenarioGroupDetail detail in group.ScenarioGroupChildrenDetails)
                {
                    Console.WriteLine("   " + detail.Representation);
                }
            }

            var list2 = context.ScenarioDetails;

            Console.WriteLine("\n\n*****Scenario List*****");

            foreach (ScenarioDetail scenario in list2)
            {
                Console.WriteLine(scenario.Representation);
                Console.WriteLine(" --- Points --- ");
                foreach (ScenarioPoint point in scenario.ScenarioPoints)
                {
                    Console.WriteLine("   " + point.Representation);
                }
                Console.WriteLine(" --- Units --- ");
                foreach (ScenarioUnit unit in scenario.ScenarioUnits)
                {
                    Console.WriteLine("   " + unit.Representation);
                }
                Console.WriteLine(" --- Locuses --- ");
                foreach (ScenarioLocus locus in scenario.ScenarioLocuses)
                {
                    Console.WriteLine("   " + locus.Representation);
                }
            }
        }
Example #16
0
        internal static void ReadWithInclude(ScenarioGeneratorModel context)
        {
            context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);

            var list = context.ScenarioGroups.Include("ScenarioGroupDetails");

            Console.WriteLine("\n\n*****Scenario Group Testing Include*****");

            foreach (ScenarioGroup group in list)
            {
                Console.Write(group.Representation);

                Console.WriteLine(" --- details --- ");
                foreach (ScenarioGroupDetail detail in group.ScenarioGroupDetails)
                {
                    Console.WriteLine(detail.Representation);
                }

                Console.WriteLine(" --- children --- ");
                foreach (ScenarioGroupDetail detail in group.ScenarioGroupChildrenDetails)
                {
                    Console.WriteLine("   " + detail.Representation);
                }
            }
        }
Example #17
0
        private static void AddScenarioPoints3(ScenarioGeneratorModel context)
        {
            DateTime now = context.AsOfDate;

            ScenarioDetail scenario = context.ScenarioDetails.Where(x => x.Name == "Scenario IR Volatility").First();

            ScenarioPoint point11 = new ScenarioPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            point11.ShockValue = 1.5;
            point11.ScenarioShockType = ScenarioShockType.ABS;
            scenario.ScenarioPoints.Add(point11);

            ScenarioPoint point12 = new ScenarioPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            point12.ShockValue = 0.7;
            point12.ScenarioShockType = ScenarioShockType.ABS;
            scenario.ScenarioPoints.Add(point12);

            ScenarioPoint point13 = new ScenarioPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            point13.ShockValue = 0.65;
            point13.ScenarioShockType = ScenarioShockType.ABS;
            scenario.ScenarioPoints.Add(point13);

            ScenarioPoint point14 = new ScenarioPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            point14.ShockValue = 0.33;
            point14.ScenarioShockType = ScenarioShockType.ABS;
            scenario.ScenarioPoints.Add(point14);

            ScenarioPoint point21 = new ScenarioPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            point21.ShockValue = 0.3;
            point21.ScenarioShockType = ScenarioShockType.ABS;
            scenario.ScenarioPoints.Add(point21);

            ScenarioPoint point22 = new ScenarioPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            point22.ShockValue = 0.3;
            point22.ScenarioShockType = ScenarioShockType.ABS;
            scenario.ScenarioPoints.Add(point22);

            ScenarioPoint point23 = new ScenarioPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            point23.ShockValue = 0.85;
            point23.ScenarioShockType = ScenarioShockType.ABS;
            scenario.ScenarioPoints.Add(point23);

            ScenarioPoint point24 = new ScenarioPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            point24.ShockValue = 1.15;
            point24.ScenarioShockType = ScenarioShockType.ABS;
            scenario.ScenarioPoints.Add(point24);

            ScenarioPoint point31 = new ScenarioPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            point31.ShockValue = 0.8;
            point31.ScenarioShockType = ScenarioShockType.ABS;
            scenario.ScenarioPoints.Add(point31);

            ScenarioPoint point32 = new ScenarioPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            point32.ShockValue = 1.3;
            point32.ScenarioShockType = ScenarioShockType.ABS;
            scenario.ScenarioPoints.Add(point32);

            ScenarioPoint point33 = new ScenarioPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            point33.ShockValue = 0.95;
            point33.ScenarioShockType = ScenarioShockType.ABS;
            scenario.ScenarioPoints.Add(point33);

            ScenarioPoint point34 = new ScenarioPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            point34.ShockValue = 1.35;
            point34.ScenarioShockType = ScenarioShockType.ABS;
            scenario.ScenarioPoints.Add(point34);

            ScenarioUnit unit11 = new ScenarioUnit() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true }; ;
            unit11.ScenarioUnitType = ScenarioUnitType.LineCubic;
            scenario.ScenarioUnits.Add(unit11);

            ScenarioUnit unit12 = new ScenarioUnit() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true }; ;
            unit12.ScenarioUnitType = ScenarioUnitType.LineCubic;
            scenario.ScenarioUnits.Add(unit12);

            ScenarioUnit unit13 = new ScenarioUnit() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true }; ;
            unit13.ScenarioUnitType = ScenarioUnitType.LineCubic;
            scenario.ScenarioUnits.Add(unit13);

            ScenarioUnit unit21 = new ScenarioUnit() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true }; ;
            unit21.ScenarioUnitType = ScenarioUnitType.LineCubic;
            scenario.ScenarioUnits.Add(unit21);

            ScenarioUnit unit22 = new ScenarioUnit() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true }; ;
            unit22.ScenarioUnitType = ScenarioUnitType.LineCubic;
            scenario.ScenarioUnits.Add(unit22);

            ScenarioUnit unit23 = new ScenarioUnit() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true }; ;
            unit23.ScenarioUnitType = ScenarioUnitType.LineCubic;
            scenario.ScenarioUnits.Add(unit23);

            ScenarioUnit unit4 = new ScenarioUnit() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true }; ;
            unit22.ScenarioUnitType = ScenarioUnitType.LineCubic;
            scenario.ScenarioUnits.Add(unit22);

            ScenarioUnitPoint unitPoint;
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point11, ScenarioUnit = unit11, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point21, ScenarioUnit = unit11, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point22, ScenarioUnit = unit11, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point12, ScenarioUnit = unit11, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);

            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point12, ScenarioUnit = unit12, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point22, ScenarioUnit = unit12, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point23, ScenarioUnit = unit12, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point13, ScenarioUnit = unit12, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);

            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point13, ScenarioUnit = unit13, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point23, ScenarioUnit = unit13, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point24, ScenarioUnit = unit13, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point14, ScenarioUnit = unit13, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);

            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point21, ScenarioUnit = unit21, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point31, ScenarioUnit = unit21, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point32, ScenarioUnit = unit21, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point22, ScenarioUnit = unit21, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);

            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point22, ScenarioUnit = unit22, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point32, ScenarioUnit = unit22, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point33, ScenarioUnit = unit22, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point23, ScenarioUnit = unit22, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);

            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point23, ScenarioUnit = unit23, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point33, ScenarioUnit = unit23, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point34, ScenarioUnit = unit23, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);
            unitPoint = new ScenarioUnitPoint() { ScenarioPoint = point24, ScenarioUnit = unit23, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.ScenarioUnitPoints.Add(unitPoint);

            ScenarioPointCoordinate coordinate;
            RiskFactorDimItemDetail dimItem;

            RiskFactorDimension dimension = scenario.RiskFactorType.RiskFactorTypeDimensions.Where(d => d.RiskFactorDimension.RiskFactorDimensionDetail.Name == "Instrument Tenor").First().RiskFactorDimension;

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "1D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point11.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "3D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point21.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "5D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point31.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "1D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point12.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "3D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point22.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "5D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point32.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "1D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point13.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "3D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point23.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "5D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point33.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "1D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point14.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "3D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point24.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "5D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point34.ScenarioPointCoordinates.Add(coordinate);

            dimension = scenario.RiskFactorType.RiskFactorTypeDimensions.Where(d => d.RiskFactorDimension.RiskFactorDimensionDetail.Name == "Underlying Tenor").First().RiskFactorDimension;

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "1D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point11.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "1D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point21.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "1D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point31.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "2D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point12.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "2D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point22.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "2D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point32.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "3D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point13.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "3D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point23.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "3D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point33.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "5D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point14.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "5D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point24.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "5D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point34.ScenarioPointCoordinates.Add(coordinate);
        }
 public ScenarioWorkspaceRepository(ScenarioGeneratorModel context)
     : base(context)
 {
 }
 public RiskFactorTypeGroupRepository(ScenarioGeneratorModel context)
     : base(context)
 {
 }
Example #20
0
        public void TestScenarioGroupsHistoric()
        {
            using (var context = new ScenarioGeneratorModel(UserName, Connection, DateTime.UtcNow.AddDays(-20)))
            {
                context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);

                Assert.AreEqual(3, context.ScenarioGroups.ToList().Count());

                ScenarioGroup sg = context.ScenarioGroups.Find(1);
                Assert.AreEqual(1, sg.ScenarioGroupDetails.Count());

                sg = context.ScenarioGroups.Find(1);
                Assert.AreEqual(1, sg.ScenarioGroupDetails.Count());

                sg = context.ScenarioGroups.Find(1);
                Assert.AreEqual(1, sg.ScenarioGroupDetails.Count());

            }
        }
Example #21
0
 public CurveFamillyRepository(ScenarioGeneratorModel context)
     : base(context)
 {
 }
 public ScenarioNavigationRepository(ScenarioGeneratorModel context)
     : base(context)
 {
 }
Example #23
0
 public ScenarioGroupRepository(ScenarioGeneratorModel context)
     : base(context)
 {
 }
Example #24
0
        internal static void AddTypeGroups(ScenarioGeneratorModel context)
        {
            DateTime now = context.AsOfDate;

            RiskFactorTypeGroup ftg = new RiskFactorTypeGroup();
            ftg.Default(context.UserName);
            ftg.Name = "Credit";
            context.RiskFactorTypeGroups.Add(ftg);

            RiskFactorTypeGroup ftgc = new RiskFactorTypeGroup();
            ftgc.Default(context.UserName);
            ftgc.Name = "Spread";
            ftg.RiskFactorTypeGroupChildren.Add(ftgc);

            ftg = new RiskFactorTypeGroup();
            ftg.Default(context.UserName);
            ftg.Name = "FX";
            context.RiskFactorTypeGroups.Add(ftg);

            ftgc = new RiskFactorTypeGroup();
            ftgc.Default(context.UserName);
            ftgc.Name = "Rate";
            ftg.RiskFactorTypeGroupChildren.Add(ftgc);

            ftgc = new RiskFactorTypeGroup();
            ftgc.Default(context.UserName);
            ftgc.Name = "Volatility";
            ftg.RiskFactorTypeGroupChildren.Add(ftgc);

            ftg = new RiskFactorTypeGroup();
            ftg.Default(context.UserName);
            ftg.Name = "IL";
            context.RiskFactorTypeGroups.Add(ftg);

            ftgc = new RiskFactorTypeGroup();
            ftgc.Default(context.UserName);
            ftgc.Name = "Rate";
            ftg.RiskFactorTypeGroupChildren.Add(ftgc);

            ftgc = new RiskFactorTypeGroup();
            ftgc.Default(context.UserName);
            ftgc.Name = "Volatility";
            ftg.RiskFactorTypeGroupChildren.Add(ftgc);

            ftg = new RiskFactorTypeGroup();
            ftg.Default(context.UserName);
            ftg.Name = "IR";
            context.RiskFactorTypeGroups.Add(ftg);

            ftgc = new RiskFactorTypeGroup();
            ftgc.Default(context.UserName);
            ftgc.Name = "Spread";
            ftg.RiskFactorTypeGroupChildren.Add(ftgc);

            ftgc = new RiskFactorTypeGroup();
            ftgc.Default(context.UserName);
            ftgc.Name = "Rate";
            ftg.RiskFactorTypeGroupChildren.Add(ftgc);

            ftgc = new RiskFactorTypeGroup();
            ftgc.Default(context.UserName);
            ftgc.Name = "Volatility";
            ftg.RiskFactorTypeGroupChildren.Add(ftgc);

            context.SaveChanges();
        }
Example #25
0
        internal static void AddTypes(ScenarioGeneratorModel context)
        {
            DateTime now = context.AsOfDate;
            RiskFactorType rft;
            RiskFactorTypeDetail rftd;

            rft = new RiskFactorType() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-80), ApprovedBy = "B", Latest = true };
            context.RiskFactorTypes.Add(rft);
            rftd = new RiskFactorTypeDetail() { Name = "Credit Asset Swap Spread", StartTime = now.AddDays(-20), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-25), CreatedBy = "A", ApprovedAt = now.AddDays(-20), ApprovedBy = "B", Latest = true };
            rft.RiskFactorTypeDetails.Add(rftd);
            rftd.RiskFactorTypeGroup = context.RiskFactorTypeGroups.Where(x => x.Name == "Spread").Where(x =>x.RiskFactorTypeGroupParent.Name == "Credit").First();

            rft = new RiskFactorType() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-80), ApprovedBy = "B", Latest = true };
            context.RiskFactorTypes.Add(rft);
            rftd = new RiskFactorTypeDetail() { Name = "Credit CDS Composites Spread", StartTime = now.AddDays(-20), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-25), CreatedBy = "A", ApprovedAt = now.AddDays(-20), ApprovedBy = "B", Latest = true };
            rft.RiskFactorTypeDetails.Add(rftd);
            rftd.RiskFactorTypeGroup = context.RiskFactorTypeGroups.Where(x => x.Name == "Spread").Where(x => x.RiskFactorTypeGroupParent.Name == "Credit").First();

            rft = new RiskFactorType() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-80), ApprovedBy = "B", Latest = true };
            context.RiskFactorTypes.Add(rft);
            rftd = new RiskFactorTypeDetail() { Name = "Credit CDS Index Spread", StartTime = now.AddDays(-20), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-25), CreatedBy = "A", ApprovedAt = now.AddDays(-20), ApprovedBy = "B", Latest = true };
            rft.RiskFactorTypeDetails.Add(rftd);
            rftd.RiskFactorTypeGroup = context.RiskFactorTypeGroups.Where(x => x.Name == "Spread").Where(x => x.RiskFactorTypeGroupParent.Name == "Credit").First();

            rft = new RiskFactorType() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-80), ApprovedBy = "B", Latest = true };
            context.RiskFactorTypes.Add(rft);
            rftd = new RiskFactorTypeDetail() { Name = "FX Rate", StartTime = DateTime.MinValue, EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-40), CreatedBy = "A", Latest = true };
            rft.RiskFactorTypeDetails.Add(rftd);
            rftd.RiskFactorTypeGroup = context.RiskFactorTypeGroups.Where(x => x.Name == "Rate").Where(x => x.RiskFactorTypeGroupParent.Name == "FX").First();

            rft = new RiskFactorType() { StartTime = now.AddDays(-50), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-50), ApprovedBy = "B", Latest = true };
            context.RiskFactorTypes.Add(rft);
            rftd = new RiskFactorTypeDetail() { Name = "FX Volatility", StartTime = DateTime.MinValue, EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-40), CreatedBy = "A", Latest = true };
            rft.RiskFactorTypeDetails.Add(rftd);
            rftd.RiskFactorTypeGroup = context.RiskFactorTypeGroups.Where(x => x.Name == "Volatility").Where(x => x.RiskFactorTypeGroupParent.Name == "FX").First();

            rft = new RiskFactorType() { StartTime = DateTime.MinValue, EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-40), CreatedBy = "A", Latest = true };
            context.RiskFactorTypes.Add(rft);
            rftd = new RiskFactorTypeDetail() { Name = "IL Rate", StartTime = DateTime.MinValue, EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-150), CreatedBy = "A", Latest = true };
            rft.RiskFactorTypeDetails.Add(rftd);
            rftd.RiskFactorTypeGroup = context.RiskFactorTypeGroups.Where(x => x.Name == "Rate").Where(x => x.RiskFactorTypeGroupParent.Name == "IL").First();

            rft = new RiskFactorType() { StartTime = DateTime.MinValue, EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-40), CreatedBy = "A", Latest = true };
            context.RiskFactorTypes.Add(rft);
            rftd = new RiskFactorTypeDetail() { Name = "IL Volatility", StartTime = DateTime.MinValue, EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-150), CreatedBy = "A", Latest = true };
            rft.RiskFactorTypeDetails.Add(rftd);
            rftd.RiskFactorTypeGroup = context.RiskFactorTypeGroups.Where(x => x.Name == "Volatility").Where(x => x.RiskFactorTypeGroupParent.Name == "IL").First();

            rft = new RiskFactorType() { StartTime = DateTime.MinValue, EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-40), CreatedBy = "A", Latest = true };
            context.RiskFactorTypes.Add(rft);
            rftd = new RiskFactorTypeDetail() { Name = "IR Volatility", StartTime = DateTime.MinValue, EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-150), CreatedBy = "A", Latest = true };
            rft.RiskFactorTypeDetails.Add(rftd);
            rftd.RiskFactorTypeGroup = context.RiskFactorTypeGroups.Where(x => x.Name == "Volatility").Where(x => x.RiskFactorTypeGroupParent.Name == "IR").First();

            rft = new RiskFactorType() { StartTime = now.AddDays(-80), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            context.RiskFactorTypes.Add(rft);
            rftd = new RiskFactorTypeDetail() { Name = "IR LIBOR Spread (v1)", StartTime = now.AddDays(-100), EndTime = now.AddDays(-50), CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = false };
            rft.RiskFactorTypeDetails.Add(rftd);
            rftd.RiskFactorTypeGroup = context.RiskFactorTypeGroups.Where(x => x.Name == "Spread").Where(x => x.RiskFactorTypeGroupParent.Name == "IR").First();

            rftd = new RiskFactorTypeDetail() { Name = "IR LIBOR Spread (v2)", StartTime = now.AddDays(-50), EndTime = now.AddDays(-10), CreatedAt = now.AddDays(-90), CreatedBy = "A", ApprovedAt = now.AddDays(-50), ApprovedBy = "B", Latest = false };
            rft.RiskFactorTypeDetails.Add(rftd);
            rftd.RiskFactorTypeGroup = context.RiskFactorTypeGroups.Where(x => x.Name == "Spread").Where(x => x.RiskFactorTypeGroupParent.Name == "IR").First();

            rftd = new RiskFactorTypeDetail() { Name = "IR LIBOR Spread (v3)", StartTime = now.AddDays(-10), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-40), CreatedBy = "A", ApprovedAt = now.AddDays(-10), ApprovedBy = "B", Latest = false };
            rft.RiskFactorTypeDetails.Add(rftd);
            rftd.RiskFactorTypeGroup = context.RiskFactorTypeGroups.Where(x => x.Name == "Rate").Where(x => x.RiskFactorTypeGroupParent.Name == "IR").First();

            rftd = new RiskFactorTypeDetail() { Name = "IR LIBOR Spread", StartTime = DateTime.MinValue, EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-30), CreatedBy = "A", Latest = true };
            rft.RiskFactorTypeDetails.Add(rftd);
            rftd.RiskFactorTypeGroup = context.RiskFactorTypeGroups.Where(x => x.Name == "Spread").Where(x => x.RiskFactorTypeGroupParent.Name == "IR").First();

            context.SaveChanges();
        }
Example #26
0
        private static void AddScenarioLocuses3(ScenarioGeneratorModel context)
        {
            DateTime now = context.AsOfDate;

            ScenarioDetail scenario = context.ScenarioDetails.Where(x => x.Name == "FX Volatility").First();

            ScenarioLocus locus;
            RiskFactorDimItemDetail dimItem;
            ScenarioLocusDimItem locusDimItem;
            ScenarioLocusDimGroup locusDimGroup;

            RiskFactorDimension dimension = scenario.RiskFactorType.RiskFactorTypeDimensions.Where(d => d.RiskFactorDimension.RiskFactorDimensionDetail.Name == "Currency").First().RiskFactorDimension;

            locus = new ScenarioLocus() { ScenarioDetailID = scenario.ScenarioDetailID, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            locus.RiskFactorDimension = dimension;
            scenario.ScenarioLocuses.Add(locus);

            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "EUR" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            locusDimItem = new ScenarioLocusDimItem() { RiskFactorDimItem = dimItem.RiskFactorDimItem, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            locus.ScenarioLocusDimItems.Add(locusDimItem);

            dimension = scenario.RiskFactorType.RiskFactorTypeDimensions.Where(d => d.RiskFactorDimension.RiskFactorDimensionDetail.Name == "Country of Origin").First().RiskFactorDimension;

            locus = new ScenarioLocus() { ScenarioDetailID = scenario.ScenarioDetailID, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            locus.RiskFactorDimension = dimension;
            scenario.ScenarioLocuses.Add(locus);

            RiskFactorDimItemGroup dimGroup = context.RiskFactorDimItemGroups.Where(g => g.Name == "European Countries").First();
            locusDimGroup = new ScenarioLocusDimGroup() { RiskFactorDimGroup = dimGroup, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            locus.ScenarioLocusDimGroups.Add(locusDimGroup);
        }
Example #27
0
        internal static void Read(ScenarioGeneratorModel context)
        {
            context.Database.Log = s => System.Diagnostics.Debug.WriteLine(s);

            var list = context.RiskFactorTypeGroups.Where(rftg => rftg.RiskFactorTypeGroupParentID == null);

            Console.WriteLine("\n\n*****Risk Factor Group List*****");

            foreach (RiskFactorTypeGroup group in list)
            {
                Console.WriteLine(group.Representation);
                Console.WriteLine("--- Children ---");
                foreach (RiskFactorTypeGroup child in group.RiskFactorTypeGroupChildren)
                {
                    Console.WriteLine("   " + child.Representation);
                    Console.WriteLine("     --- members --- ");
                    foreach (RiskFactorTypeDetail rft in child.RiskFactorTypeDetails)
                    {
                        Console.WriteLine("      " + rft.Representation);
                    }

                }

            }
        }
Example #28
0
        private static void AddScenarioPoints2(ScenarioGeneratorModel context)
        {
            DateTime now = context.AsOfDate;

            ScenarioDetail scenario = context.ScenarioDetails.Where(x => x.Name == "FX Volatility").First();

            ScenarioPoint point1 = new ScenarioPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            point1.ShockValue = -0.5;
            point1.ScenarioShockType = ScenarioShockType.REL;
            scenario.ScenarioPoints.Add(point1);

            ScenarioPoint point2 = new ScenarioPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            point2.ShockValue = 0.7;
            point2.ScenarioShockType = ScenarioShockType.REL;
            scenario.ScenarioPoints.Add(point2);

            ScenarioPoint point3 = new ScenarioPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            point3.ShockValue = 0.3;
            point3.ScenarioShockType = ScenarioShockType.REL;
            scenario.ScenarioPoints.Add(point3);

            ScenarioUnit unit1 = new ScenarioUnit() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true }; ;
            unit1.ScenarioUnitType = ScenarioUnitType.LineCubic;
            scenario.ScenarioUnits.Add(unit1);

            ScenarioUnit unit2 = new ScenarioUnit() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true }; ;
            unit2.ScenarioUnitType = ScenarioUnitType.LineCubic;
            scenario.ScenarioUnits.Add(unit2);

            ScenarioUnitPoint unitPoint;
            unitPoint = new ScenarioUnitPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            unitPoint.ScenarioPoint = point1;
            unit1.ScenarioUnitPoints.Add(unitPoint);

            unitPoint = new ScenarioUnitPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            unitPoint.ScenarioPoint = point2;
            unit1.ScenarioUnitPoints.Add(unitPoint);

            unitPoint = new ScenarioUnitPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            unitPoint.ScenarioPoint = point2;
            unit2.ScenarioUnitPoints.Add(unitPoint);

            unitPoint = new ScenarioUnitPoint() { StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            unitPoint.ScenarioPoint = point3;
            unit2.ScenarioUnitPoints.Add(unitPoint);

            RiskFactorDimension dimension = scenario.RiskFactorType.RiskFactorTypeDimensions.Where(d => d.RiskFactorDimension.RiskFactorDimensionDetail.Name == "Instrument Tenor").First().RiskFactorDimension;

            ScenarioDimEdgePolicy policy = new ScenarioDimEdgePolicy() { ScenarioDetailID = scenario.ScenarioDetailID, RiskFactorDimensionID = dimension.RiskFactorDimensionID, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            scenario.ScenarioDimEdgePolicies.Add(policy);

            ScenarioPointCoordinate coordinate;
            RiskFactorDimItemDetail dimItem;

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "1D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point1.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "3D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point2.ScenarioPointCoordinates.Add(coordinate);

            coordinate = new ScenarioPointCoordinate() { RiskFactorDimension = dimension, StartTime = now.AddDays(-100), EndTime = DateTime.MaxValue, CreatedAt = now.AddDays(-200), CreatedBy = "A", ApprovedAt = now.AddDays(-100), ApprovedBy = "B", Latest = true };
            dimItem = context.RiskFactorDimItemDetails.Where(i => i.Name == "5D" && i.RiskFactorDimItem.RiskFactorDimTypeID == dimension.RiskFactorDimensionDetail.RiskFactorDimTypeID).First();
            coordinate.RiskFactorDimItem = dimItem.RiskFactorDimItem;
            point3.ScenarioPointCoordinates.Add(coordinate);
        }
 public RiskFactorDimItemRepository(ScenarioGeneratorModel context)
     : base(context)
 {
 }
Example #30
0
 public TargetSystemRepository(ScenarioGeneratorModel context)
     : base(context)
 {
 }