public TimeSeries GetTimeSeries(Enum enumeration, TimeSeriesAttribute attribute,
                                        DateTime from, DateTime to)
        {
            TimeSeries timeSeries = GetTimeSeries(enumeration, attribute);

            if (timeSeries == null || timeSeries.Series == null || timeSeries.Series.Count == 0)
            {
                return(null);
            }
            var result = timeSeries.Series.Where(z => z.Key >= from && z.Key <= to);

            if (result.Count() == 0)
            {
                return(null);
            }
            else
            {
                Dictionary <DateTime, decimal> values = new Dictionary <DateTime, decimal>();
                foreach (var x in result)
                {
                    values.Add(x.Key, x.Value);
                }
                return(new TimeSeries(values, attribute));
            }
        }
        public TimeSeries GetTimeSeries(PortfolioPosition position, TimeSeriesAttribute attribute)
        {
            var markets = _markets.Where(z => z.GetIMapping().FindAI(attribute));

            foreach (var x in markets)
            {
                TimeSeries timeSeries = x.GetTimeSeries(position, attribute);
                if (timeSeries != null)
                {
                    return(timeSeries);
                }
            }
            return(null);
        }
        public TimeSeries GetTimeSeries(Enum enumeration, TimeSeriesAttribute attribute)
        {
            var markets = _markets.Where(z => z.GetIMapping().FindAI(attribute));

            foreach (var x in markets)
            {
                var result = x.GetTimeSeries(enumeration, attribute);
                if (result == null)
                {
                    continue;
                }
                return(result);
            }
            return(null);
        }
        public TimeSeries GetTimeSeries(Enum enumeration, TimeSeriesAttribute attribute)
        {
            if (!_mapping.FindAI(enumeration))
            {
                return(null);
            }

            string          ident    = _mapping.GetAI(enumeration);
            BalancePosition position = new BalancePosition(ident, FinType.FxRate);

            KeyValuePair <PortfolioPosition, Enum> key =
                new KeyValuePair <PortfolioPosition, Enum>(position, attribute);

            if (_cache.ContainsKey(key))
            {
                return((TimeSeries)_cache[key]);
            }

            TimeSeries timeSeries = GetTimeSeries(position, attribute);

            _cache.Add(key, timeSeries);
            return(timeSeries);
        }
        public TimeSeries GetTimeSeries(PortfolioPosition position, TimeSeriesAttribute attribute)
        {
            KeyValuePair <PortfolioPosition, Enum> key = new KeyValuePair <PortfolioPosition, Enum>();

            if (_cache.ContainsKey(key))
            {
                return((TimeSeries)_cache[key]);
            }

            TimeSeries timeSeries = null;
            string     query      = string.Format(
                @"SELECT fi.ident,  fd.dat, fd.val
                    from fin_instrument fi join
	                    ffd t on t.fi_id = fi.fi_id join
	                    fisd_dq fd on fd.fisd_id = t.fisd_id join
	                    data_source ds on ds.ds_id = t.ds_id
	                    and fi.ident = '{0}'
	                    and ds.ident = '{1}'
	                    and t.fif_id = {2}"    ,
                position.Ident,
                _providerParams[SCALAR],
                _mapping.GetAI(attribute));

            var result = _dbLink.GetConnection().Query <fisddq>(query);

            if (result != null && result.Count() != 0)
            {
                Dictionary <DateTime, decimal> values = new Dictionary <DateTime, decimal>();
                foreach (var x in result)
                {
                    values.Add(x.dat, x.val);
                }
                timeSeries = new TimeSeries(values, attribute);
            }

            return(timeSeries);
        }
 public TimeSeries(IDictionary <DateTime, decimal> timeSeries,
                   TimeSeriesAttribute attribute = TimeSeriesAttribute.Close)
 {
     _timeSeries = new SortedDictionary <DateTime, decimal>(timeSeries);
     _attribute  = attribute;
 }
 public TimeSeries(TimeSeriesAttribute attribute = TimeSeriesAttribute.Close)
 {
     _attribute = attribute;
 }
示例#8
0
 public TimeSeries GetTimeSeries(Enum enumeration, TimeSeriesAttribute attribute, DateTime from, DateTime to)
 {
     return(_dataProvider.GetTimeSeries(enumeration, attribute, from, to));
 }
示例#9
0
 public TimeSeries GetTimeSeries(Enum enumeration, TimeSeriesAttribute attribute)
 {
     return(_dataProvider.GetTimeSeries(enumeration, attribute));
 }
示例#10
0
 public TimeSeries GetTimeSeries(PortfolioPosition position, TimeSeriesAttribute attribute, DateTime from, DateTime to)
 {
     return(_dataProvider.GetTimeSeries(position, attribute, from, to));
 }
示例#11
0
 public TimeSeries GetTimeSeries(PortfolioPosition position, TimeSeriesAttribute attribute)
 {
     return(_dataProvider.GetTimeSeries(position, attribute));
 }