Exemplo n.º 1
0
        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);
        }
Exemplo n.º 3
0
        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");
        }
Exemplo n.º 5
0
 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);
        }