Beispiel #1
0
        public void CanReadEodBySymbol()
        {
            EodParam param = new EodParam
            {
                Symbol = "AAPL",
                Start  = DateTime.Now.AddDays(-30),
                End    = DateTime.Now
            };

            var eods = InternetReader.ReadEodBySymbol(param);

            Assert.IsTrue(eods.Count > 0);
        }
Beispiel #2
0
        public static List <Eod> ReadEodBySymbol(EodParam param)
        {
            if (param.Start >= param.End)
            {
                return(new List <Eod>());
            }
            string csv = WebGet(
                string.Format(_EOD_URL_FMT,
                              HttpUtility.UrlEncode(param.Symbol),
                              (param.Start.Month - 1).ToString("00"),
                              param.Start.Day,
                              param.Start.Year,
                              (param.End.Month - 1).ToString("00"),
                              param.End.Day,
                              param.End.Year));

            string[] lines =
                csv.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries);
            return(lines
                   .Select(l => InternetParser.ParseEod(l, param.Symbol))
                   .Where(e => (e != null && e.Date != param.Start)).ToList());
        }