private void button2_Click(object sender, EventArgs e) { ThreadPool.QueueUserWorkItem((object obj) => { try { DeleteAll(); AddItemToListBox(this.lstResult, "数据下载中"); string gpCode = txtGPCode.Text.Trim(); DownLoadData(gpCode); AddItemToListBox(this.lstResult, "数据下载完成"); AddItemToListBox(this.lstResult, "==========================================="); AddItemToListBox(this.lstResult, "训练数据中"); CreateAndTrain(); AddItemToListBox(this.lstResult, "训练数据完成"); AddItemToListBox(this.lstResult, "==========================================="); ModelInput sampleData = MyAutoML.CreateSingleDataSample(predictFilePath); var result = Predict(sampleData); var day = GetNextDataStr(sampleData.Riqi, 1); AddItemToListBox(this.lstResult, $"股票{this.txtGPCode.Text} {day}预测股价:{result.Score};昨收盘:{sampleData.Spj}"); } catch (Exception ex) { AddItemToListBox(this.lstResult, $"出现异常,异常信息:{ex.Message}"); AddItemToListBox(this.lstResult, "==========================================="); } }); }
private void DownLoadData(string gpCode, string startTime = "20000101") { ThreadPool.QueueUserWorkItem((object obj) => { List <TestModel> testSource = new List <TestModel>(); List <TestModel> realSource = new List <TestModel>(); string endTime = string.Format("{0:yyyyMMdd}", DateTime.Now);// DateTime.Now.ToString("yyyymmdd"); string filePath = InitData.DownLoadFile(startTime, endTime, gpCode, isSH); int count = InitData.GetDataCount(filePath); string trainPath = InitData.CreateTrainData(filePath, "trainData.csv", 5, 0, ref predictFilePath); string testPath = InitData.CreateTestData(filePath, testCoutn); MyAutoML.TrainAndSave("mspj", trainPath, traTime); List <ModelInput> testList = MyAutoML.CreateDataSampleList(testPath); List <ModelInput> sourceList = MyAutoML.CreateDataSampleList(filePath); foreach (var item in testList) { ModelOutput output = MyAutoML.LoadAndPrediction(item); string day = item.Riqi; ModelInput real = null; do { day = GetNextDataStr(day, 1); real = sourceList.FirstOrDefault(a => a.Riqi == day); } while (null == real); this.Invoke(new Action(() => { this.chartControl1.Series[1].Points.Add(new DevExpress.XtraCharts.SeriesPoint(day, output.Score)); this.chartControl1.Series[0].Points.Add(new DevExpress.XtraCharts.SeriesPoint(day, real.Spj)); })); } }); }
private void button3_Click(object sender, EventArgs e) { try { string gpdm = txtGPCode.Text; string file = FileHelper.Search(gpdm); if (!string.IsNullOrEmpty(file) && file.Contains(gpdm)) { this.filePath = file; ModelInput sampleData = MyAutoML.CreateSingleDataSample(filePath); var result = Predict(sampleData); AddItemToListBox(this.lstResult, $"股票{this.txtGPCode.Text}预测股价:{result.Score}"); } else { button2_Click(sender, e); } } catch (Exception ex) { AddItemToListBox(this.lstResult, $"出现异常,异常信息:{ex.Message}"); AddItemToListBox(this.lstResult, "==========================================="); } }
private void CreateAndTrain() { //ModelBuilder.CreateModel(trainPath); MyAutoML.TrainAndSave("mspj", trainPath, experimentTime); }
private ModelOutput Predict(ModelInput sampleData) { var predictionResult = MyAutoML.LoadAndPrediction(sampleData); return(predictionResult); }