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(); }
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(); }
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); }
internal static void AddScenarioPointsAndUnits(ScenarioGeneratorModel context) { AddScenarioPoints1(context); AddScenarioPoints2(context); AddScenarioPoints3(context); context.SaveChanges(); }
internal static void AddScenarioLocuses(ScenarioGeneratorModel context) { AddScenarioLocuses1(context); AddScenarioLocuses2(context); AddScenarioLocuses3(context); context.SaveChanges(); }
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(); }
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(); }
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(); }
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); } } }
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); } }
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); } } } }
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(); }
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()); } }
public Repository(ScenarioGeneratorModel context) { this.context = context; }
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); } } }
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); } } }
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) { }
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()); } }
public CurveFamillyRepository(ScenarioGeneratorModel context) : base(context) { }
public ScenarioNavigationRepository(ScenarioGeneratorModel context) : base(context) { }
public ScenarioGroupRepository(ScenarioGeneratorModel context) : base(context) { }
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(); }
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(); }
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); }
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); } } } }
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) { }
public TargetSystemRepository(ScenarioGeneratorModel context) : base(context) { }