private void searchButtonClick(object sender, RoutedEventArgs e) { string searchItem = this.SearchBox.Text; dataWindow = new DataWindow(); dataWindow.Owner = this; StockInfo info = new StockInfo(); newSearch(searchItem, this.dataWindow); this.dataWindow.Show(); this.Hide(); }
public void newSearch(string searchItem, DataWindow window) { searchItem = searchItem.ToUpper(); List<double> data = webInteractor.Search(searchItem); List<Image> charts = new List<Image>(); StockInfo info = new StockInfo(); Dictionary<Util.TimeType, StockInfo> newStockInformation = Calculator.calculateAllStockInfo(data); foreach (Util.TimeType time in Util.Domain.TIMES) { newStockInformation[time].Graph = webInteractor.getGraph(time); //charts.Add(webInteractor.getGraph(time)); } //Dictionary<Util.TimeType, StockInfo> newStockInformation = new Dictionary<DataMiner.Util.TimeType, StockInfo>(); window.dealWithResults(searchItem, newStockInformation); numWindows++; }
private static StockInfo calcStockInfo(List<double> data, double spotPrice) { StockInfo results = new StockInfo(); //Calcuating DCGR yields 1 less observation results.NumDays = data.Count + 1; results.Alpha = data.Average(); results.Beta = StandardDeviation(data, results.Alpha); results.Max = data.Max(); results.Min = data.Min(); results.SpotPrice = spotPrice; List<double> NormDCGR = NormalizedDailyContGrowthRate(data, results.Alpha, results.Beta); results.MaxNormDCGR = NormDCGR.Max(); results.MinNormDCGR = NormDCGR.Min(); return results; }
private DockPanel createStockInfo(TabItem currentTab, StockInfo stockInfo) { DockPanel stockinfo = new DockPanel(); //Creating the stackpanel to store the information StackPanel info = new StackPanel(); DockPanel.SetDock(info, Dock.Right); StackPanel data = new StackPanel(); DockPanel.SetDock(info, Dock.Left); //Things added to the stack panel TextBlock name = new TextBlock(); name.HorizontalAlignment = HorizontalAlignment.Center; name.Text = currentTab.Header.ToString().ToUpper(); name.FontWeight = FontWeights.Bold; DockPanel.SetDock(name, Dock.Top); stockinfo.Children.Add(name); TextBlock days = new TextBlock(); days.Text = "Days of data: "; days.HorizontalAlignment = HorizontalAlignment.Right; TextBlock daysdata = new TextBlock(); daysdata.Text = stockInfo.NumDays.ToString(); daysdata.HorizontalAlignment = HorizontalAlignment.Left; info.Children.Add(days); data.Children.Add(daysdata); TextBlock spot = new TextBlock(); spot.Text = "Last Price: "; spot.HorizontalAlignment = HorizontalAlignment.Right; TextBlock spotdata = new TextBlock(); spotdata.Text = stockInfo.SpotPrice.ToString(); spotdata.HorizontalAlignment = HorizontalAlignment.Left; info.Children.Add(spot); data.Children.Add(spotdata); TextBlock alpha = new TextBlock(); alpha.Text = "Alpha: "; alpha.HorizontalAlignment = HorizontalAlignment.Right; TextBlock alphadata = new TextBlock(); alphadata.Text = Math.Round(stockInfo.Alpha, SIGFIG).ToString(); alphadata.HorizontalAlignment = HorizontalAlignment.Left; info.Children.Add(alpha); data.Children.Add(alphadata); TextBlock beta = new TextBlock(); beta.Text = "Beta: "; beta.HorizontalAlignment = HorizontalAlignment.Right; TextBlock betadata = new TextBlock(); betadata.Text = Math.Round(stockInfo.Beta, SIGFIG).ToString(); betadata.HorizontalAlignment = HorizontalAlignment.Left; info.Children.Add(beta); data.Children.Add(betadata); TextBlock min = new TextBlock(); min.Text = "Min: "; min.HorizontalAlignment = HorizontalAlignment.Right; TextBlock mindata = new TextBlock(); mindata.Text = Math.Round(stockInfo.Min, SIGFIG).ToString(); mindata.HorizontalAlignment = HorizontalAlignment.Left; info.Children.Add(min); data.Children.Add(mindata); TextBlock max = new TextBlock(); max.Text = "Max: "; max.HorizontalAlignment = HorizontalAlignment.Right; TextBlock maxdata = new TextBlock(); maxdata.Text = Math.Round(stockInfo.Max, SIGFIG).ToString(); maxdata.HorizontalAlignment = HorizontalAlignment.Left; info.Children.Add(max); data.Children.Add(maxdata); TextBlock MinNorm = new TextBlock(); MinNorm.Text = "Min Norm DCGR: "; MinNorm.HorizontalAlignment = HorizontalAlignment.Right; TextBlock MinNormdata = new TextBlock(); MinNormdata.Text = Math.Round(stockInfo.MinNormDCGR, SIGFIG).ToString(); MinNormdata.HorizontalAlignment = HorizontalAlignment.Left; info.Children.Add(MinNorm); data.Children.Add(MinNormdata); TextBlock MaxNorm = new TextBlock(); MaxNorm.Text = "Max Norm DCGR: "; MaxNorm.HorizontalAlignment = HorizontalAlignment.Right; TextBlock MaxNormdata = new TextBlock(); MaxNormdata.Text = Math.Round(stockInfo.MaxNormDCGR, SIGFIG).ToString(); MaxNormdata.HorizontalAlignment = HorizontalAlignment.Left; info.Children.Add(MaxNorm); data.Children.Add(MaxNormdata); stockinfo.Children.Add(info); stockinfo.Children.Add(data); return stockinfo; }