public double ComputePerformance(string symbol, DateTime referenceDate) { if (!StocksData.ContainsKey(symbol)) { throw new ApplicationException(symbol + " data not found"); } var stockData = StocksData[symbol]; if (stockData.Data == null || stockData.Data.Values == null) { throw new ApplicationException(symbol + " data empty"); } var first = stockData.Data.Values.ElementAt(FindNearest(referenceDate, stockData)); var last = stockData.Data.Values.Last(); return((last.Close - first.Close) / first.Close); }
public List <RegressionUnit> GetForecast(DateTime date, string model, string key) { List <RegressionUnit> forecast = null; //var serializer = new NewtonsoftSerializer(); //var cacheClient = new StackExchangeRedisCacheClient(serializer); var cacheForecast = stackCache.Get <List <RegressionUnit> >(key); if (cacheForecast == null) { StocksData sd = new StocksData(); forecast = sd.Forecast(date, model); stackCache.Add(key, forecast, DateTimeOffset.Now.AddHours(1)); return(forecast); } return(cacheForecast); }
public async Task <IActionResult> GetCompany(string companyTicker) { var client = _factory.CreateClient("finnHub"); var news = await client.GetStringAsync($"news?category=general"); var stocksData = new List <StocksData> (); //companyTickers.Add("AAPL"); //foreach(var ticker in companyTickers) //{ var stockData = new StocksData(); var res = await client.GetStringAsync($"quote?symbol=" + companyTicker); stockData = JsonConvert.DeserializeObject <StocksData> (res); var t = stockData.PreviousClose; //} return(Ok(stocksData)); }
// GET: api/StocksApi/5 public string Get(int id) { try { StockRealTime sr = new StockRealTime(); StocksData sd = new StocksData(); switch (id) { case 1234: sr.NotifyBuyOrSell(); break; case 2345: sr.RefreshDataAll(); break; case 3456: sd.GetDataAll(); break; case 999: sd.AddStockCorrels(); sd.ProcessCorrelation(); break; case 6789: sr.CacheSimulator(); break; case 102: //sr.NewMailSendTester(); sr.NotifyUser(); break; } } catch (Exception ex) { //logger.Error("#" + ex.Message); } return("value"); }
public void TestGetCorrelation() { StocksData sd = new StocksData(); double result = sd.GetCorrelation("ACN", "MSFT"); }
public void GetData(string symbol, CancellationToken ct) { StocksData sd = new StocksData(); sd.GetDataPerSymbol(symbol); }