public void EfficientFrontierPerformanceTest() { // Create new portfolio var portf = new Portfolio("TestPortfolio"); // Create instruments from data var instruments = from k in cov.Keys select new Instrument(k, mean[k], cov[k]); portf.AddRange(instruments); // Add portfolio constraints portf.AddAllInvestedConstraint(); portf.AddLongOnlyConstraint(); double rf = 0.05; int runs = 100; for (int c = 0; c < runs; c++) { PerformanceLogger.Start("EfficientFrontierTests", "EfficientFrontierPerformanceTest", "Optimization.CalcEfficientFrontier"); var res = PortfolioOptimizer.CalcEfficientFrontier(portf, rf, 50); Console.WriteLine(c); PerformanceLogger.Stop("EfficientFrontierTests", "EfficientFrontierPerformanceTest", "Optimization.CalcEfficientFrontier"); } PerformanceLogger.WriteToCSV("performancedata.csv"); }