def test_reader_chart_range(self): from datetime import date, timedelta syms = ["AAPL"] # source: pandas datareader assert (HistoricalReader(symbols=syms, start=date.today() - timedelta(days=5), end=date.today()).chart_range == "5d") assert (HistoricalReader(symbols=syms, start=date.today() - timedelta(days=27), end=date.today()).chart_range == "1m") assert (HistoricalReader(symbols=syms, start=date.today() - timedelta(days=83), end=date.today()).chart_range == "3m") assert (HistoricalReader(symbols=syms, start=date.today() - timedelta(days=167), end=date.today()).chart_range == "6m") assert (HistoricalReader(symbols=syms, start=date.today() - timedelta(days=170), end=date.today()).chart_range == "1y") assert (HistoricalReader(symbols=syms, start=date.today() - timedelta(days=365), end=date.today()).chart_range == "2y") assert (HistoricalReader(symbols=syms, start=date.today() - timedelta(days=730), end=date.today()).chart_range == "5y") assert (HistoricalReader( symbols=syms, start=date.today() - timedelta(days=1826), end=date.today(), ).chart_range == "max")
def test_reader_chart_range(self): from datetime import date, timedelta syms = ["AAPL"] # source: pandas datareader assert HistoricalReader(symbols=syms, start=date.today() - timedelta(days=5), end=date.today()).chart_range == '5d' assert HistoricalReader(symbols=syms, start=date.today() - timedelta(days=27), end=date.today()).chart_range == '1m' assert HistoricalReader(symbols=syms, start=date.today() - timedelta(days=83), end=date.today()).chart_range == '3m' assert HistoricalReader(symbols=syms, start=date.today() - timedelta(days=167), end=date.today()).chart_range == '6m' assert HistoricalReader(symbols=syms, start=date.today() - timedelta(days=170), end=date.today()).chart_range == '1y' assert HistoricalReader(symbols=syms, start=date.today() - timedelta(days=365), end=date.today()).chart_range == '2y' assert HistoricalReader(symbols=syms, start=date.today() - timedelta(days=730), end=date.today()).chart_range == '5y' assert HistoricalReader(symbols=syms, start=date.today() - timedelta(days=1826), end=date.today()).chart_range == 'max'
def get_historical_data(symbols, start, end=None, close_only=False, **kwargs): """ Function to obtain historical date for a symbol or list of symbols. Return an instance of HistoricalReader Reference: https://iextrading.com/developer/docs/#chart Parameters ---------- symbols: str or list A symbol or list of symbols start : string, int, date, datetime, Timestamp Starting date. Parses many different kind of date representations (e.g., 'JAN-01-2010', '1/1/10', 'Jan, 1, 1980'). Defaults to 15 years before current date. end : string, int, date, datetime, Timestamp Ending date close_only: bool, default False Returns adjusted data only with keys ``date``, ``close``, and ``volume`` kwargs: Additional Request Parameters (see base class) Returns ------- list or DataFrame Historical stock prices over date range, start to end """ return HistoricalReader( symbols, start=start, end=end, close_only=close_only, **kwargs ).fetch()
def get_historical_data(symbols, start, end=None, close_only=False, **kwargs): """ Function to obtain historical date for a symbol or list of symbols. Return an instance of HistoricalReader Reference: https://iextrading.com/developer/docs/#chart Parameters ---------- symbols: str or list A symbol or list of symbols start: datetime.datetime Beginning of desired date range end: datetime.datetime, optional, default None End of required date range close_only: bool, default False Returns adjusted data only with keys ``date``, ``close``, and ``volume`` kwargs: Additional Request Parameters (see base class) Returns ------- list or DataFrame Historical stock prices over date range, start to end """ return HistoricalReader(symbols, start=start, end=end, close_only=close_only, **kwargs).fetch()
def get_historical_data(symbols, start=None, end=None, **kwargs): """ Function to obtain historical date for a symbol or list of symbols. Return an instance of HistoricalReader Parameters ---------- symbols: str or list A symbol or list of symbols start: datetime.datetime, default None Beginning of desired date range end: datetime.datetime, default None End of required date range kwargs: Additional Request Parameters (see base class) Returns ------- list or DataFrame Historical stock prices over date range, start to end """ start, end = _sanitize_dates(start, end) return HistoricalReader(symbols, start=start, end=end, **kwargs).fetch()