// Async run helper function public bool GeneratePrediction(PredictionGenerator predictor, BackgroundWorker worker) { predictor.RecursiveGetPredictions(Int32.Parse(predictIntervalsBox.Text)); string predictionDataPrintoutFile = DEFAULTDIRECTORY + "\\PredictionData_" + DateTime.Now.Month.ToString() + "-" + DateTime.Now.Day.ToString() + "-" + DateTime.Now.Year.ToString() + "_" + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString() + DateTime.Now.Millisecond.ToString() + ".csv"; predictor.WriteDataToCSV(predictionDataPrintoutFile); return(true); }
/// <summary> /// Method to evolve set of traders. /// </summary> /// <param name="generations"> Number of generations to evolve over. </param> /// <param name="genSize"> Number of traders in each generation. </param> /// <param name="mutationRate"> Decimal random mutation rate. </param> /// <returns> List of portfolio values over time for the most successful trader of the final generation. </returns> public List <float> RunEvolution(int generations, int genSize, float mutationRate) { for (int i = 1; i < stockPrices.Count; i++) { Vector currentPctChgs = new Vector(stockPrices[i].Count()); for (int j = 0; j < stockPrices[i].Count(); j++) { currentPctChgs[j] = (stockPrices[i][j] - stockPrices[i - 1][j]) / stockPrices[i - 1][j]; } predictor.GetNextPrediction(currentPctChgs); predictor.RemoveOldestData(); } predictor.WriteDataToCSV(MainForm.DEFAULTDIRECTORY + "\\PredictorData_" + DateTime.Now.Minute.ToString() + ".csv"); return(new List <float>()); }