Beispiel #1
0
        /*
         * String[] LRC = new String[] {"TO", "TR", "TU", "TW",
         *                           "TX", "V", "VL", "VX", "W3", "W4", "XE", "XR", "WL", "X3", "XA", "XC", "XJ", "XT",
         *                           "XU", "CB", "CC", "W6", "XF", "XG", "XN"};
         */

        public void CreateFiles()
        {
            //Create WR files with Data from SQL and assumptions from last year

            WinRes WR = new WinRes();

            FileTriangleInfo fti;

            FileHeaderInfo fhi;

            WinResFileBuilder fb;

            DataTable TriangleData = new DataTable();

            Double[,] TriangleDouble;

            for (Int16 j = 0; j < 8; j++)
            {
                //fti = WR.Files.CreateTriangleInfo(1997, 1, 2019, 1, PeriodLength.Year, PeriodLength.Quarter, 1, 3, 2019, 3);
                fti = WR.Files.CreateTriangleInfo(1997, 1, 2018, 1, PeriodLength.Year, PeriodLength.Quarter, 1, 12, 2018, 3);

                //fhi = WR.Files.CreateHeaderInfo(fti, "LRC BM", LRC[j], "GBP", 1000, 1000, OriginPeriodType.UnderwritingPeriod);
                //fhi = WR.Files.CreateHeaderInfo(fti, "LRC BM", newLRC[j], "GBP", 1000, 1000, OriginPeriodType.UnderwritingPeriod);
                fhi = WR.Files.CreateHeaderInfo(fti, "LRC BM", "E9", "GBP", 1000, 1000, OriginPeriodType.UnderwritingPeriod);

                fb = WR.Files.CreateFileBuilder(fhi);

                for (Int16 i = 0; i < 18; i++)
                {
                    //TriangleData = GetTriangle(CCY[i], LRC[j], SQLDataType[i]);
                    TriangleData = GetTriangle(CCY[i], newLRC[j], SQLDataType[i]);

                    TriangleDouble = ReadTriangleData(TriangleData, fti.OriginPeriods.Count, fti.DevPeriods.Count);

                    fb.ComponentTriangles.AddByName(WRDataType[i], WROperator[i], WRDesc[i], ref TriangleDouble, true);

                    TriangleDouble = null;

                    TriangleData = null;
                }

                WinResFile newFile;

                //newFile = WR.Files.CreateFileFromFileBuilderWithAssumptions(fb, @"U:\Reserving\LRC\2018 WRs\" + LRC[j] + @".pjx");

                newFile = WR.Files.CreateFileFromFileBuilder(fb);

                //newFile.SaveAs(@"U:\Reserving\LRC\" + LRC[j] + @".pjx", true);
                newFile.SaveAs(@"U:\Actuary\Planning\2019\LRC\" + newLRC[j] + @".pjx", true);

                fb = null;

                fhi = null;

                fti = null;
            }
        }
Beispiel #2
0
        public void RefreshWR(String LRC)
        {
            WinRes WR = new WinRes();

            WinResFile WRFile = WR.Files.Open(@"U:\Actuary\Planning\2019\LRC\new LRC 2019\" + LRC + @".pjx");
            //WinResFile WRFile = WR.Files.Open(@"U:\Actuary\Planning\2019\LRC\review LRC 2019\" + LRC + @".pjx");

            SelectedUltimate sel = null;

            //write array to worksheet
            Excel.Application myApp         = Globals.ThisAddIn.Application;
            Excel.Workbook    myWkbk        = myApp.ActiveWorkbook;
            Excel.Worksheet   templateWksht = myWkbk.Sheets["Template"];

            int WkshtIndex = templateWksht.Index;

            MessageBox.Show(WkshtIndex.ToString());

            templateWksht.Copy(templateWksht);

            Excel.Worksheet mySheet = myWkbk.Worksheets[WkshtIndex];

            mySheet.Name = LRC;

            mySheet.Range["B1"].Value2 = LRC;

            Excel.Range myRng = mySheet.Range["B6"];

            WRFile.SelectedUltimates.TryGet("Premium", out sel);

            for (Int16 intUWY = 0; intUWY < 22; intUWY++)
            {
                myRng.Offset[intUWY, 0].Value = sel[intUWY];
            }

            sel = null;

            WRFile.SelectedUltimates.TryGet("Claim", out sel);

            for (Int16 intUWY = 0; intUWY < 22; intUWY++)
            {
                myRng.Offset[intUWY, 2].Value = sel[intUWY];
            }

            sel = null;

            for (Int16 intUWY = 0; intUWY < 22; intUWY++)
            {
                myRng.Offset[intUWY, 1].Value = WRFile.AnalysedTriangles["Incurred"].LeadingDiagonal[intUWY];
            }

            WR.Files.Remove(WRFile);

            WR = null;
        }
Beispiel #3
0
        public void ImportChainLadderProfiles()
        {
            WinRes WR = new WinRes();

            WinResFile WRFile = WR.Files.Open(@"U:\Actuary\Planning\2018\Analysis\WinRes Files\LRC BM\Finalized Models\6T.pjx");

            ChainLadderMethod CLMethod;

            IProjectionMethod projMethod = null;

            Double[] DevFactors;

            Excel.Application myApp = Globals.ThisAddIn.Application;

            Excel.Workbook myWkbk = myApp.ActiveWorkbook;

            Excel.Worksheet myWksht = myWkbk.ActiveSheet;

            Excel.Range myRng = myWksht.Range["A1"];


            projMethod = WRFile.ProjectionMethods["Premiumcl"];

            CLMethod = (ChainLadderMethod)projMethod;

            DevFactors = CLMethod.SubModels[CLMethod.GetSelectedSubModelIndex(0)].GetFinalSelectedDevFactors();


            Int32 numColumns = CLMethod.SubModels[CLMethod.GetSelectedSubModelIndex(0)].FinalFactorProviders[0].LastDevFactorIndex + 1;


            myRng.Resize[1, numColumns].Value = DevFactors;

            //String results = string.Join(",", DevFactors);

            //MessageBox.Show(results);
        }