コード例 #1
0
        public async Task GetTickerToSymbolMap_ShouldRemoveTrailingSuffixesFromCompanyName()
        {
            var data = @"Nasdaq Traded|Symbol|Security Name|Listing Exchange|Market Category|ETF|Round Lot Size|Test Issue|Financial Status|CQS Symbol|NASDAQ Symbol|NextShares
                        Y|BA|Boeing Company - Common Stock|N| |N|100|N||BA|BA|N
                        Y|MSFT|Microsoft Corporation Class A Shares|Q|Q|N|100|N|N||MSFT|N
                        Y|VOO|Vanguard S&P 500 ETF - Shared Funds|P||Y|100|N||VOO|VOO|N
                        Y|IMO|Imperial Oil Limited Preferred Shares|A| |N|100|N||IMO|IMO|N";

            var blackList      = new string[] { "Preferred Shares", "-", "Class A Shares", "Preferred Shares" };
            var tickerToSymbol = await _parser.GetSymbolMap(ToStreamReader(data), "|", blackList);

            Assert.Equal(4, tickerToSymbol.Count);
            Assert.True(tickerToSymbol.ContainsKey(BaKey));
            Assert.True(tickerToSymbol.ContainsKey(MsftKey));
            Assert.True(tickerToSymbol.ContainsKey(VooKey));
            Assert.True(tickerToSymbol.ContainsKey(ImoKey));

            DownloadedSymbol baSymbol   = tickerToSymbol[BaKey];
            DownloadedSymbol msftSymbol = tickerToSymbol[MsftKey];
            DownloadedSymbol vooSymbol  = tickerToSymbol[VooKey];
            DownloadedSymbol imoSymbol  = tickerToSymbol[ImoKey];

            Assert.Equal(ExchangeType.NYSE.Id, baSymbol.ExchangeId);
            Assert.Equal("Boeing Company", baSymbol.FullName);

            Assert.Equal(ExchangeType.NASDAQ.Id, msftSymbol.ExchangeId);
            Assert.Equal("Microsoft Corporation", msftSymbol.FullName);

            Assert.Equal(ExchangeType.NYSEARCA.Id, vooSymbol.ExchangeId);
            Assert.Equal("Vanguard S&P 500 ETF", vooSymbol.FullName);

            Assert.Equal(ExchangeType.NYSEAMERICAN.Id, imoSymbol.ExchangeId);
            Assert.Equal("Imperial Oil Limited", imoSymbol.FullName);
        }
コード例 #2
0
        public async Task GetTickerToSymbolMap_ShouldReturnTickerMappedToSymbolInfo_ForEachExchangeType()
        {
            var data = @"Nasdaq Traded|Symbol|Security Name|Listing Exchange|Market Category|ETF|Round Lot Size|Test Issue|Financial Status|CQS Symbol|NASDAQ Symbol|NextShares
                        Y|BA|Boeing Company|N| |N|100|N||BA|BA|N
                        Y|MSFT|Microsoft Corporation|Q|Q|N|100|N|N||MSFT|N
                        Y|VOO|Vanguard S&P 500 ETF|P||Y|100|N||VOO|VOO|N
                        Y|IMO|Imperial Oil Limited|A| |N|100|N||IMO|IMO|N";

            var tickerToSymbol = await _parser.GetSymbolMap(ToStreamReader(data), "|", new string[0]);

            Assert.Equal(4, tickerToSymbol.Count);
            Assert.True(tickerToSymbol.ContainsKey(BaKey));
            Assert.True(tickerToSymbol.ContainsKey(MsftKey));
            Assert.True(tickerToSymbol.ContainsKey(VooKey));
            Assert.True(tickerToSymbol.ContainsKey(ImoKey));

            DownloadedSymbol baSymbol   = tickerToSymbol[BaKey];
            DownloadedSymbol msftSymbol = tickerToSymbol[MsftKey];
            DownloadedSymbol vooSymbol  = tickerToSymbol[VooKey];
            DownloadedSymbol imoSymbol  = tickerToSymbol[ImoKey];

            Assert.Equal(ExchangeType.NYSE.Id, baSymbol.ExchangeId);
            Assert.Equal("Boeing Company", baSymbol.FullName);

            Assert.Equal(ExchangeType.NASDAQ.Id, msftSymbol.ExchangeId);
            Assert.Equal("Microsoft Corporation", msftSymbol.FullName);

            Assert.Equal(ExchangeType.NYSEARCA.Id, vooSymbol.ExchangeId);
            Assert.Equal("Vanguard S&P 500 ETF", vooSymbol.FullName);

            Assert.Equal(ExchangeType.NYSEAMERICAN.Id, imoSymbol.ExchangeId);
            Assert.Equal("Imperial Oil Limited", imoSymbol.FullName);
        }
コード例 #3
0
        public async Task GetTickerToSymbolMap_ShouldReturnTickerMappedToSymbolInfo_WhenSingleRow()
        {
            var data = @"Nasdaq Traded|Symbol|Security Name|Listing Exchange|Market Category|ETF|Round Lot Size|Test Issue|Financial Status|CQS Symbol|NASDAQ Symbol|NextShares
                         Y|MSFT|Microsoft Corporation|Q|Q|N|100|N|N||MSFT|N";

            var tickerToSymbol = await _parser.GetSymbolMap(ToStreamReader(data), "|", new string[0]);

            Assert.Single(tickerToSymbol);
            Assert.True(tickerToSymbol.ContainsKey(MsftKey));

            DownloadedSymbol symbol = tickerToSymbol[MsftKey];

            Assert.Equal(ExchangeType.NASDAQ.Id, symbol.ExchangeId);
            Assert.Equal("Microsoft Corporation", symbol.FullName);
        }
コード例 #4
0
        public async Task GetTickerToSymbolMap_ShouldTrimData()
        {
            var data = @"Nasdaq Traded|Symbol|Security Name|Listing Exchange
                         Y| MSFT |   Microsoft Corporation|  Q|Q|N|100|N|N||MSFT|N";

            var tickerToSymbol = await _parser.GetSymbolMap(ToStreamReader(data), "|", new string[0]);

            Assert.Single(tickerToSymbol);
            Assert.True(tickerToSymbol.ContainsKey(new SymbolKey("MSFT", ExchangeType.NASDAQ.Id)));

            DownloadedSymbol symbol = tickerToSymbol[MsftKey];

            Assert.Equal(ExchangeType.NASDAQ.Id, symbol.ExchangeId);
            Assert.Equal("Microsoft Corporation", symbol.FullName);
        }