public StockRecordDTO LoadData(string fileName) { EntryDTO entryDTO = null; StockRecordDTO stockRecordDTO = new StockRecordDTO(); string strTemp; StreamReader stream = null; stockRecordDTO.ID = fileName.Substring(fileName.LastIndexOf('\\') + 1); stockRecordDTO.ID = stockRecordDTO.ID.Remove(stockRecordDTO.ID.IndexOf('.')); try { stream = new StreamReader(fileName); stream.ReadLine(); // bỏ dòng title ở đầu while (true) { strTemp = stream.ReadLine(); if (stream.EndOfStream) { break; } entryDTO = new EntryDTO(); entryDTO.GetData(strTemp); stockRecordDTO.Entries.Add(entryDTO); } } catch (Exception ex) { throw ex; } return stockRecordDTO; }
public AppGUI() { _stockRecordBUS = new StockRecordBUS(); _stockRecordDTO = null; strPath = ""; InitializeComponent(); }
public StockRecordDTO LoadData(string fileName) { EntryDTO entryDTO = null; StockRecordDTO stockRecordDTO = new StockRecordDTO(); string strTemp; StreamReader stream = null; stockRecordDTO.ID = fileName.Substring(fileName.LastIndexOf('\\') + 1); stockRecordDTO.ID = stockRecordDTO.ID.Remove(stockRecordDTO.ID.IndexOf('.')); try { stream = new StreamReader(fileName); stream.ReadLine(); // bỏ dòng title ở đầu strTemp = stream.ReadToEnd(); stream.Close(); string[] strLines = Regex.Split(strTemp, "\n"); for (int i = 0; i < strLines.Length; i++) { if (strLines[i] == "") { continue; } strTemp = strLines[i]; entryDTO = new EntryDTO(); entryDTO.GetData(strTemp); stockRecordDTO.Entries.Add(entryDTO); } //Sort lại theo ngày tăng dần for (int i = 0; i < stockRecordDTO.Entries.Count; i++ ) { for (int j = i + 1; j < stockRecordDTO.Entries.Count; j++) { EntryDTO entryI = (EntryDTO)stockRecordDTO.Entries[i]; EntryDTO entryJ = (EntryDTO)stockRecordDTO.Entries[j]; if(entryI.Date.Subtract(entryJ.Date).Days > 0) { EntryDTO temp = entryI; stockRecordDTO.Entries[i] = stockRecordDTO.Entries[j]; stockRecordDTO.Entries[j] = temp; } } } } catch (Exception ex) { throw ex; } return stockRecordDTO; }
public void LoadWholdeData(string fileName) { StockRecordBUS stockRecordBUS = new StockRecordBUS(); WholeData = stockRecordBUS.LoadData(fileName); }
private void cmbStockID_SelectedIndexChanged(object sender, EventArgs e) { if (cmbStockID.SelectedItem != null) { strStockPath = "Excel" + "\\" + cmbStockID.SelectedItem.ToString() + ".csv"; _stockRecordDTO = _stockRecordBUS.LoadData(strStockPath); dtpFrom.Value = ((EntryDTO)_stockRecordDTO.Entries[0]).Date; dtpTo.Value = ((EntryDTO)_stockRecordDTO.Entries[_stockRecordDTO.Entries.Count - 1]).Date; dtpInputDay.Value = ((EntryDTO)_stockRecordDTO.Entries[_stockRecordDTO.Entries.Count - 1]).Date; CreateGraph(zg1); } }
private void MainGUI_Load(object sender, EventArgs e) { //Khởi gán cmbPreprocess.SelectedIndex = 0; tbxNumInputNode.Text = "5"; tbxTrainingRatio.Text = "80"; cmbModelSelection.SelectedIndex = 0; cmbTrainingMeasure.SelectedIndex = 0; //Khởi gán tham số ANN tbxNumInputNode.Text = 5.ToString(); tbxANNHiddenNode.Text = 4.ToString(); tbxLearningRate.Text = 0.3.ToString(); tbxMaxLoops.Text = 2000.ToString(); tbxBias.Text = 0.ToString(); tbxMomentum.Text = 0.01.ToString(); if (rdANN.Checked == true) { gbAnnSetting.Enabled = true; } else { gbAnnSetting.Enabled = false; } _stockRecordBUS = new StockRecordBUS(); _stockRecordDTO = null; strStockPath = ""; }
private void cmbStockID_SelectedIndexChanged(object sender, EventArgs e) { if (cmbStockID.SelectedItem != null) { _stockAppPath = _updateFolder + cmbStockID.SelectedItem.ToString() + ".csv"; _stockSARecordDTO = _stockSARecordBUS.LoadData(_stockAppPath); dtpFrom.Value = ((EntryDTO)_stockSARecordDTO.Entries[0]).Date; dtpTo.Value = ((EntryDTO)_stockSARecordDTO.Entries[_stockSARecordDTO.Entries.Count - 1]).Date; //dtpInputDay.Value = ((EntryDTO)_stockRecordDTO.Entries[_stockRecordDTO.Entries.Count - 1]).Date; CreateGraph(zg1); cmbSAStockID.SelectedIndex = cmbStockID.SelectedIndex; } }
private void Preprocess(bool isBatchMode) { string strInputFile = null; double dblTrainingSetRatio = 0; if (isBatchMode) { strInputFile = tbxBatchInputFile.Text; dblTrainingSetRatio = Convert.ToDouble(tbxTrainingRatio.Text); } else { strInputFile = tbxCsvFilePath.Text; dblTrainingSetRatio = Convert.ToDouble(tbxTrainingRatio.Text); } //1. Đọc dữ liệu từ file .csv vào mảng và tiền xử lý StockRecordBUS stockRecordBUS = new StockRecordBUS(); StockRecordDTO stockRecordDTO = stockRecordBUS.LoadData(strInputFile); _stockRecordDTO = stockRecordDTO; double[] dblClosePrices = new double[stockRecordDTO.Entries.Count]; double[] dblVolumes = new double[stockRecordDTO.Entries.Count]; int i = 0; foreach (EntryDTO entryDTO in stockRecordDTO.Entries) { dblClosePrices[i] = entryDTO.ClosePrice; dblVolumes[i] = entryDTO.Volume; i++; } //2. Chuyển sang định dạng của LibSVM (dựa vào số node đầu vào) ConverterBUS converter = new ConverterBUS(); int iPos = strInputFile.LastIndexOf('\\'); string strFolderPath = strInputFile.Remove(iPos + 1); string strTotalFile = strFolderPath + stockRecordDTO.ID; int numDaysPredicted = Int32.Parse(cmbNumDaysPredicted.Text); int iNumLine = 0; ConverterBUS.Convert(dblClosePrices, dblVolumes, numDaysPredicted, strTotalFile, out iNumLine); //3. Từ file chứa toàn bộ dữ liệu ta phân phối vào 2 file train và test (dựa vào tỉ lệ bộ train) string strTrainFile = strFolderPath + stockRecordDTO.ID + "_" + numDaysPredicted + "_train.txt"; string strTestFile = strFolderPath + stockRecordDTO.ID + "_" + numDaysPredicted + "_test.txt"; string strDTTrainFile = strFolderPath + stockRecordDTO.ID + "_" + numDaysPredicted + "_train.data.txt"; string strDTTestFile = strFolderPath + stockRecordDTO.ID + "_" + numDaysPredicted + "_test.data.txt"; StreamReader reader = new StreamReader(strTotalFile + ".txt"); StreamReader dtReader = new StreamReader(strTotalFile + ".data"); StreamWriter trainWriter = new StreamWriter(strTrainFile); StreamWriter testWriter = new StreamWriter(strTestFile); StreamWriter dtTrainWriter = new StreamWriter(strDTTrainFile); StreamWriter dtTestWriter = new StreamWriter(strDTTestFile); string SubTrainFile = null; string SubTestFile = null; string dtannSubTrainFile = null; string dtannSubTestFile = null; StreamWriter SubTrainWriter = null; StreamWriter SubTestWriter = null; StreamWriter dtannSubTrainWriter = null; StreamWriter dtannSubTestWriter = null; if (rdDTANN.Checked == true) { SubTrainFile = strFolderPath + stockRecordDTO.ID + "_" + numDaysPredicted + "_train_subtrain.txt"; SubTestFile = strFolderPath + stockRecordDTO.ID + "_" + numDaysPredicted + "_train_subtest.txt"; dtannSubTrainFile = strFolderPath + stockRecordDTO.ID + "_" + numDaysPredicted + "_train_subtrain.data.txt"; dtannSubTestFile = strFolderPath + stockRecordDTO.ID + "_" + numDaysPredicted + "_train_subtest.data.txt"; SubTrainWriter = new StreamWriter(SubTrainFile); SubTestWriter = new StreamWriter(SubTestFile); dtannSubTrainWriter = new StreamWriter(dtannSubTrainFile); dtannSubTestWriter = new StreamWriter(dtannSubTestFile); } //int iBound = numDaysPredicted > iNumInputNode ? 2 * numDaysPredicted : numDaysPredicted + iNumInputNode; //int iNumLine = dblSource.Length - iBound + 1; int iDivideLine = (int)(dblTrainingSetRatio * iNumLine / 100); int iSudDevideLine = (int)(90 * iDivideLine / 100); for (i = 0; i < iDivideLine; i++) { string strLine = reader.ReadLine(); trainWriter.WriteLine(strLine); if (rdDTANN.Checked == true) { if (i < iSudDevideLine)// Phân bổ cho tập train con { SubTrainWriter.WriteLine(strLine); } else// Phân bổ cho tập test con { SubTestWriter.WriteLine(strLine); } } strLine = dtReader.ReadLine(); dtTrainWriter.WriteLine(strLine); if (rdDTANN.Checked == true) { if (i < iSudDevideLine)// Phân bổ cho tập train con { dtannSubTrainWriter.WriteLine(strLine); } else// Phân bổ cho tập test con { dtannSubTestWriter.WriteLine(strLine); } } } for (; i < iNumLine; i++) { string strLine = reader.ReadLine(); testWriter.WriteLine(strLine); strLine = dtReader.ReadLine(); dtTestWriter.WriteLine(strLine); } testWriter.Close(); trainWriter.Close(); dtTestWriter.Close(); dtTrainWriter.Close(); reader.Close(); dtReader.Close(); if (rdDTANN.Checked == true) { SubTrainWriter.Close(); SubTestWriter.Close(); dtannSubTrainWriter.Close(); dtannSubTestWriter.Close(); } }
private void MainGUI_Load(object sender, EventArgs e) { //Khởi gán cmbNumDaysPredicted.SelectedIndex = 0; tbxTrainingRatio.Text = "80"; cmbModelSelection.SelectedIndex = 0; cmbActivationFunc.SelectedIndex = 0; cmbExperimentMode.SelectedIndex = 0; cmbPruneFunc.SelectedIndex = 0; cmbSplitFunc.SelectedIndex = 0; cmbChoseMethods.SelectedIndex = 0; //cmbSAStockID.SelectedIndex = 0; _trainFilePath = ""; _testFilePath = ""; _modelFilePath = ""; //Khởi gán tham số ANN tbxANNHiddenNode.Text = 4.ToString(); tbxLearningRate.Text = 0.3.ToString(); tbxMaxLoops.Text = 2000.ToString(); tbxBias.Text = 0.ToString(); tbxMomentum.Text = 0.01.ToString(); if (rdANN.Checked == true) { gbAnnSetting.Enabled = true; gbSVRSetting.Enabled = false; gbDTSetting.Enabled = false; gbKmeansSetting.Enabled = false; } _stockRecordBUS = new StockRecordBUS(); _stockRecordDTO = null; _stockSARecordBUS = new StockRecordBUS(); _stockSARecordDTO = null; _stockAppPath = ""; tbxChoseFolder.Visible = false; btnChoseFolder.Visible = false; _defautFolder = (System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName).Replace(System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].Name, ""); _updateFolder = _defautFolder + "DataUpdate\\"; _trainModel = _defautFolder + "AppModel\\"; _suggestionFolder = _defautFolder + "Suggestion\\"; _defautFolder = _defautFolder + "Data\\"; LoadStockIdFromFolder(_defautFolder); }
private void cmbStockID_SelectedIndexChanged(object sender, EventArgs e) { CreateGraph(zg1); SetSize(); if (cmbStockID.SelectedItem != null) { strPath = "Excel" + "\\" + cmbStockID.SelectedItem.ToString() + ".csv"; _stockRecordDTO = _stockRecordBUS.LoadData(strPath); } }
private void cmbStockID_SelectedIndexChanged(object sender, EventArgs e) { if (cmbStockID.SelectedItem != null) { _stockRecordDTO = _stockRecordBUS.LoadData(_path + "\\" + cmbStockID.SelectedItem.ToString() + ".csv"); } }
public Form1() { _stockRecordBUS = new StockRecordBUS(); _stockRecordDTO = null; InitializeComponent(); }