Closed taktikal17 closed 3 years ago
Thanks.
def get_events(ticker, start_date = None, end_date = None, index_as_date = True): '''Downloads historical event data into a pandas data frame @param: ticker @param: start_date = None @param: end_date = None @param: index_as_date = True ''' site = build_url(ticker , start_date , end_date) resp = requests.get(site) html = resp.content html = html.decode() start = html.index("eventsData") end = html.index("ThemeStore") needed = html[start:end] needed = needed.strip('"eventsData":') needed = needed.strip("""}]},''""") needed = needed + "}]" temp = loads(needed) result = json_normalize(temp) # fix date field result['date'] = result['date'].map(lambda x: pd.datetime.fromtimestamp(x).date()) result['ticker'] = ticker.upper() result = result[['ticker', 'date', 'type', 'data']] # Unused: 'amount', 'splitRatio', 'numerator', 'denominator' result = result.reset_index(drop = True) if index_as_date: result.index = result.date.copy() result = result.sort_values("date") del result["date"] return result
Splits and dividends event data were added in version 0.8.6
Thanks.