class EarningsCallTranscript(BaseReader):
def __init__(self, year: int, ticker: str, quarter: str):
"""获取特定公司在特定年份和季度的盈利电话会议记录。
Args:
year(int):记录的年份
ticker(str):股票的股票代码
quarter(str):季度
"""
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) -> List[Document]:
resp_dict, speakers_list = get_earnings_transcript(
self.quarter, self.ticker, self.year
)
return Document(
text=resp_dict["content"],
extra_info={
"ticker": resp_dict["symbol"],
"quarter": "Q" + str(resp_dict["quarter"]),
"date_time": resp_dict["date"],
"speakers_list": speakers_list,
},
)