def test_MOEX_downloader_USD(prepare_db_moex): usd_quotes = pd.DataFrame({'Close': [12.02, 11.90], 'Date': [datetime(2021, 12, 13), datetime(2021, 12, 14)]}) usd_quotes = usd_quotes.set_index('Date') downloader = QuoteDownloader() quotes_downloaded = downloader.MOEX_DataReader(8, 'FXGD', 2, 'IE00B8XB7377', 1639353600, 1639440000, update_symbol=False) assert_frame_equal(usd_quotes, quotes_downloaded)
def test_MOEX_downloader(prepare_db_moex): stock_quotes = pd.DataFrame({'Close': [287.95, 287.18], 'Date': [datetime(2021, 4, 13), datetime(2021, 4, 14)]}) stock_quotes = stock_quotes.set_index('Date') bond_quotes = pd.DataFrame({'Close': [1001.00, 999.31], 'Date': [datetime(2021, 7, 22), datetime(2021, 7, 23)]}) bond_quotes = bond_quotes.set_index('Date') corp_quotes = pd.DataFrame({'Close': [1002.90, 1003.70], 'Date': [datetime(2021, 7, 22), datetime(2021, 7, 23)]}) corp_quotes = corp_quotes.set_index('Date') etf_quotes = pd.DataFrame({'Close': [1736.8, 1735.0], 'Date': [datetime(2021, 12, 13), datetime(2021, 12, 14)]}) etf_quotes = etf_quotes.set_index('Date') downloader = QuoteDownloader() quotes_downloaded = downloader.MOEX_DataReader(4, 'SBER', 1, 'RU0009029540', 1618272000, 1618358400) assert_frame_equal(stock_quotes, quotes_downloaded) assert readSQL("SELECT * FROM assets_ext WHERE id=4") == [4, PredefinedAsset.Stock, 'SBER', '', 'RU0009029540', 1, 0, -1] assert readSQL("SELECT value FROM asset_data WHERE asset_id=4 AND datatype=1") == '10301481B' quotes_downloaded = downloader.MOEX_DataReader(6, 'SU26238RMFS4', 1, 'RU000A1038V6', 1626912000, 1626998400) assert_frame_equal(bond_quotes, quotes_downloaded) assert readSQL("SELECT * FROM assets_ext WHERE id=6") == [6, PredefinedAsset.Bond, 'SU26238RMFS4', '', 'RU000A1038V6', 1, 0, -1] assert readSQL("SELECT value FROM asset_data WHERE asset_id=6 AND datatype=1") == '26238RMFS' assert readSQL("SELECT value FROM asset_data WHERE asset_id=6 AND datatype=2") == '2252188800' assert readSQL("SELECT value FROM asset_data WHERE asset_id=6 AND datatype=3") == '1000.0' quotes_downloaded = downloader.MOEX_DataReader(7, 'МКБ 1P2', 1, 'RU000A1014H6', 1626912000, 1626998400) assert_frame_equal(corp_quotes, quotes_downloaded) assert readSQL("SELECT * FROM assets_ext WHERE id=7") == [7, PredefinedAsset.Bond, 'МКБ 1P2', '', 'RU000A1014H6', 1, 0, -1] assert readSQL("SELECT value FROM asset_data WHERE asset_id=7 AND datatype=1") == '4B020901978B001P' assert readSQL("SELECT value FROM asset_data WHERE asset_id=7 AND datatype=2") == '1638230400' assert readSQL("SELECT value FROM asset_data WHERE asset_id=7 AND datatype=3") == '1000.0' quotes_downloaded = downloader.MOEX_DataReader(8, 'ЗПИФ ПНК', 1, 'RU000A1013V9', 1639353600, 1639440000, update_symbol=False) assert_frame_equal(etf_quotes, quotes_downloaded)