Пример #1
0
        /// <summary>
        /// Reads the zip bytes as text and parses as FactorFileRows to create FactorFiles
        /// </summary>
        public static IEnumerable <KeyValuePair <Symbol, IFactorProvider> > ReadFactorFileZip(Stream file, MapFileResolver mapFileResolver, string market, SecurityType securityType)
        {
            if (file == null || file.Length == 0)
            {
                return(new Dictionary <Symbol, IFactorProvider>());
            }

            var keyValuePairs = (
                from kvp in Compression.Unzip(file)
                let filename = kvp.Key
                               let lines = kvp.Value
                                           let factorFile = PriceScalingExtensions.SafeRead(Path.GetFileNameWithoutExtension(filename), lines, securityType)
                                                            let mapFile = mapFileResolver.GetByPermtick(factorFile.Permtick)
                                                                          where mapFile != null
                                                                          select new KeyValuePair <Symbol, IFactorProvider>(GetSymbol(mapFile, market, securityType), factorFile)
                );

            return(keyValuePairs);
        }
Пример #2
0
        /// <summary>
        /// Reads the zip bytes as text and parses as FactorFileRows to create FactorFiles
        /// </summary>
        public static IEnumerable <KeyValuePair <Symbol, FactorFile> > ReadFactorFileZip(Stream file, MapFileResolver mapFileResolver, string market)
        {
            if (file == null || file.Length == 0)
            {
                return(new Dictionary <Symbol, FactorFile>());
            }

            var keyValuePairs = (
                from kvp in Compression.Unzip(file)
                let filename = kvp.Key
                               let lines = kvp.Value
                                           let factorFile = SafeRead(filename, lines)
                                                            let mapFile = mapFileResolver.GetByPermtick(factorFile.Permtick)
                                                                          where mapFile != null
                                                                          let sid = SecurityIdentifier.GenerateEquity(mapFile.FirstDate, mapFile.FirstTicker, market)
                                                                                    let symbol = new Symbol(sid, mapFile.Permtick)
                                                                                                 select new KeyValuePair <Symbol, FactorFile>(symbol, factorFile)
                );

            return(keyValuePairs);
        }