private static void OutputStatisticsToExcel(ExcelSheet sheet, Simulator simulator) { var table1 = new ExcelTable(sheet, _services.GetService <IJ4JLoggerFactory>(), TableOrientation.RowHeaders); table1.AddHeaders("Overall Mean Return", "Overall Standard Deviation"); table1.AddEntry(simulator.OverallGeometricReturnMean, simulator.OverallGeometricReturnStandardDeviation); var table2 = new ExcelTable(sheet, _services.GetService <IJ4JLoggerFactory>(), row: 3, col: 0); table2.AddHeaders("Year", "Mean Portfolio Return", "Portfolio Standard Deviation"); for (int year = 0; year < simulator.Context.Years; year++) { table2.AddEntry( year, simulator.PortfolioReturnsByYear[year], simulator.PortfolioStandardDeviationsByYear[year]); } }
private static void OutputAssumptionsToExcel(ExcelSheet sheet, Simulator simulator) { var table = new ExcelTable(sheet, _services.GetService <IJ4JLoggerFactory>(), TableOrientation.RowHeaders); table.AddHeaders("Iterations to Run", "Number of Investments", "Time Span, Years", "Maximum Annual Rate of Return", "Maximum Standard Deviation in Rate of Return"); table.AddEntry(_context.Simulations, _context.Investments, _context.Years, _context.MeanMarketReturn, _context.StdDevMarketReturn); var table2 = new ExcelTable(sheet, _services.GetService <IJ4JLoggerFactory>(), row: 7, col: 0); table2.AddHeaders("Investment #", "Inverse Gaussian Mean", "Inverse Gaussian Std Dev"); for (var inv = 0; inv < simulator.Context.Investments; inv++) { var ig = simulator.InverseInvestmentGaussians[inv]; table2.AddEntry(inv, ig.Mean, ig.StdDev); } }