Exemplo n.º 1
0
        public static void Main(string[] args)
        {
            var symbols = StockUtils.GetSymbols().ToList();

            while (symbols != null && symbols.Count() > 0)
            {
                System.Console.Write("\r{0} Remaining", symbols.Count);

                var symbolsChunk = symbols.Take(10).ToList();
                UpdateRatings(symbolsChunk);
                symbols = symbols.Skip(10).ToList();
            }
        }
Exemplo n.º 2
0
        private static void UpdateQuotes()
        {
            var symbols = StockUtils.GetSymbols().ToList();

            while (symbols != null && symbols.Count() > 0)
            {
                System.Console.Write("\r{0} Remaining", symbols.Count);

                var       symbolsChunk = symbols.Take(100).ToList();
                XmlReader xr           = _yahooDataProvider.GetLastTradeRealtimeWithTime(symbolsChunk);
                FillStockInfoRealTime(xr, symbolsChunk);
                symbols = symbols.Skip(100).ToList();
            }
        }
Exemplo n.º 3
0
        private static void SyncHistory()
        {
            Console.WriteLine("Getting Symbols...");
            var symbols = StockUtils.GetSymbols();

            Console.WriteLine("");
            Console.WriteLine("Found {0} symbols", symbols.Count());
            List <Historic> historics = null;

            foreach (var symbol in symbols)
            {
                IHistoryService _historyService = new HistoryService();

                //Delete stale data (more than a year old)
                Console.WriteLine("{0} -- Deleting stale data...", symbol);

                _historyService.DeleteStaleHistory(symbol);

                var dbHistories = _historyService.GetHistories(symbol);

                // If there's no history for the symbol on the new list, add a year of history
                if (dbHistories.Count() == 0)
                {
                    Console.WriteLine("{0} -- No history found. Getting a years worth...", symbol);

                    historics = GetHistory(symbol, DateTime.Now.AddYears(-1), DateTime.Now);

                    if (historics != null && historics.Count < 210)
                    {
                        Console.WriteLine("{0} -- Not enough historic records found on yahoo ({1}). [SKIPPED]...", symbol, historics.Count);

                        continue;
                    }
                }
                else
                {
                    //if (dbHistories.OrderByDescending(t => t.Date).First().Date == DateTime.Now.Date)
                    //{
                    //    continue;
                    //}

                    // Add history beginning from it's latest record
                    //var latestHistoryDate = dbHistories.OrderByDescending(t => t.Date).First().Date;

                    //Going a month back (re-calibrating)
                    var latestHistoryDate = dbHistories.OrderByDescending(t => t.Date).First().Date.AddMonths(-1);

                    Console.WriteLine("{0} -- DB History found ({1}). Getting Yahoo history starting at {2}...", symbol, dbHistories.Count(), latestHistoryDate.AddDays(1).ToString());
                    historics = GetHistory(symbol, latestHistoryDate.AddDays(1), DateTime.Now);
                }

                // If we were able to pull records from yahoo, add/update database
                if (historics != null)
                {
                    Console.WriteLine("{0} -- Yahoo History found. Adding {1} records...", symbol, historics.Count());

                    _historyService.AddOrUpdateHistorics(historics);
                }

                _historyService.Dispose();
                Console.WriteLine("~~~ Sleeping ~~~");
                Thread.Sleep(2000);
            }
        }