Ejemplo n.º 1
0
    def _read(self):
        if not is_list_like(self.symbols):
            names = [self.symbols]
        else:
            names = self.symbols

        urls = ["{}?id={}".format(self.url, n) for n in names]

        def fetch_data(url, name):
            """Utillity to fetch data"""
            resp = self._read_url_as_StringIO(url)
            data = read_csv(resp,
                            index_col=0,
                            parse_dates=True,
                            header=None,
                            skiprows=1,
                            names=["DATE", name],
                            na_values='.')
            try:
                return data.truncate(self.start, self.end)
            except KeyError:  # pragma: no cover
                if data.iloc[3].name[7:12] == 'Error':
                    raise IOError("Failed to get the data. Check that "
                                  "{0!r} is a valid FRED series.".format(name))
                raise

        df = concat([fetch_data(url, n) for url, n in zip(urls, names)],
                    axis=1,
                    join='outer')
        return df
Ejemplo n.º 2
0
 def __init__(self, *args, **kwargs):
     super(MoexReader, self).__init__(*args, **kwargs)
     self.start = self.start.date()
     self.end_dt = self.end
     self.end = self.end.date()
     if not is_list_like(self.symbols):
         self.symbols = [self.symbols]
     self.__engines, self.__markets = {}, {
     }  # dicts for engines and markets
Ejemplo n.º 3
0
    def __init__(self, *args, **kwargs):
        super(MoexReader, self).__init__(*args, **kwargs)
        self.start = self.start.date()
        self.end_dt = self.end
        self.end = self.end.date()

        if isinstance(self.symbols, pd.DataFrame):
            self.symbols = self.symbols.index.tolist()
        elif not is_list_like(self.symbols):
            self.symbols = [self.symbols]

        self.__markets_n_engines = {}  # dicts for tuples of engines and markets