Spaces:
Running
Running
from datetime import datetime | |
from typing import List | |
try: | |
from finnlp.data_sources.earning_calls.utils import get_earning_transcripts | |
except ImportError: | |
from utils import get_earning_transcripts | |
class EarningCallTranscripts(): | |
def __init__(self, year: int, ticker: str, quarter: str): | |
"""Get the earning call transcripts for a given company, in a given year and quarter | |
Args: | |
year (int): Year of the transcript | |
ticker (str): ticker symbol of the stock | |
quarter (str): quarter | |
""" | |
curr_year = datetime.now().year | |
assert year <= curr_year, "The year should be less than current year" | |
assert quarter in [ | |
"Q1", | |
"Q2", | |
"Q3", | |
"Q4", | |
], 'The quarter should from the list ["Q1","Q2","Q3","Q4"]' | |
self.year = year | |
self.ticker = ticker | |
self.quarter = quarter | |
def load_data(self): | |
resp_dict, speakers_list = get_earning_transcripts( | |
self.quarter, self.ticker, self.year | |
) | |
return { | |
"text":resp_dict["content"], | |
"metadata":{ | |
"ticker": resp_dict["symbol"], | |
"quarter": "Q" + str(resp_dict["quarter"]), | |
"date_time": resp_dict["date"], | |
"speakers_list": speakers_list, | |
}, | |
} | |