コード例 #1
0
        public double Difference(DailyTimeSeriesApiModel dailyTimeSeries, DateTime start, DateTime end)
        {
            var startQuote = GetStartQuote(dailyTimeSeries, start);
            var endQuote   = GetEndQuote(dailyTimeSeries, end);

            return(endQuote.Close - startQuote.Open);
        }
コード例 #2
0
        private DailyQuoteApiModel GetEndQuote(DailyTimeSeriesApiModel dailyTimeSeries, DateTime end)
        {
            var startQuote = dailyTimeSeries.DailyTimeSeries.SingleOrDefault(d => DateTime.Parse(d.Key) == end);

            if (startQuote.Value == null)
            {
                startQuote = dailyTimeSeries.DailyTimeSeries
                             .Where(d => DateTime.Parse(d.Key) < end)
                             .OrderBy(d => DateTime.Parse(d.Key))
                             .Last();
            }
            return(startQuote.Value);
        }
コード例 #3
0
        private DailyQuoteApiModel GetStartQuote(DailyTimeSeriesApiModel dailyTimeSeries, DateTime start)
        {
            var startQuote = dailyTimeSeries.DailyTimeSeries.SingleOrDefault(d => DateTime.Parse(d.Key) == start);

            if (startQuote.Value == null)
            {
                startQuote = dailyTimeSeries.DailyTimeSeries
                             .Where(d => DateTime.Parse(d.Key) > start)
                             .OrderByDescending(d => DateTime.Parse(d.Key))
                             .First();
            }
            return(startQuote.Value);
        }