Fetch and Analyze Earning Call Transcripts
Load US earnings call transcripts by ticker, year, and quarter into LlamaIndex.
Why it matters
Access and process earning call transcripts for US companies to extract key information and insights for financial analysis.
Outcomes
What it gets done
Fetch earning call transcripts from discountingcashflows.com
Parse transcript data including speaker information and timestamps
Index transcripts for efficient querying and analysis
Answer questions based on the content of the transcripts
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/li-reader-readers-earnings-call-transcript | bash Overview
EARNING CALL TRANSCRIPTS LOADER
A LlamaIndex reader that fetches a US company's earnings call transcript for a given ticker, year, and quarter from discountingcashflows.com. Use for non-commercial question-answering over what was said on a specific company's earnings call.
What it does
The Earnings Call Transcripts Loader fetches earnings call transcripts for US-based public companies from discountingcashflows.com and loads them as LlamaIndex documents. It is explicitly not available for commercial purposes.
EarningsCallTranscript is initialized with three arguments - the year, the company's ticker symbol, and the quarter (one of Q1, Q2, Q3, or Q4) - and load_data() fetches the corresponding transcript. Each loaded document carries metadata including the ticker, quarter, date/time of the call, and the list of speakers, so downstream queries can be scoped or filtered by those fields as well as by content.
When to use - and when NOT to
Use it when you want to build a retrieval or question-answering system over what was actually discussed on a specific company's earnings call for a given quarter - for example, querying what was said about a particular topic. Do not use it for commercial purposes, per the source's own restriction, and it only covers US-based companies with transcripts available on discountingcashflows.com, not an arbitrary global company list.
Capabilities
load_data fetches a single earnings call transcript for a given ticker, year, and quarter, returning it as a document with ticker, quarter, date_time, and speakers_list metadata attached.
How to install
pip install llama-index-readers-earnings-call-transcript
The loader itself also requires its own dependencies via pip install -r requirements.txt before use.
Who it's for
Developers or analysts building a LlamaIndex-based question-answering system over what was actually said in a specific company's quarterly earnings call, for non-commercial use.
Source README
EARNING CALL TRANSCRIPTS LOADER
pip install llama-index-readers-earnings-call-transcript
This loader fetches the earning call transcripts of US based companies from the website discountingcashflows.com. It is not available for commercial purposes
Install the required dependencies
pip install -r requirements.txt
The Earning call transcripts takes in three arguments
- Year
- Ticker symbol
- Quarter name from the list ["Q1","Q2","Q3","Q4"]
Usage
from llama_index.readers.earnings_call_transcript import EarningsCallTranscript
loader = EarningsCallTranscript(2023, "AAPL", "Q3")
docs = loader.load_data()
The metadata of the transcripts are the following
- ticker
- quarter
- date_time
- speakers_list
Examples
Llama Index
from llama_index.core import VectorStoreIndex, download_loader
from llama_index.readers.earnings_call_transcript import EarningsCallTranscript
loader = EarningsCallTranscript(2023, "AAPL", "Q3")
docs = loader.load_data()
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()
response = query_engine.query(
"What was discussed about Generative AI?",
)
print(response)
Langchain
from langchain.agents import Tool
from langchain.agents import initialize_agent
from langchain.chat_models import ChatOpenAI
from langchain.llms import OpenAI
from llama_index.readers.earnings_call_transcript import EarningsCallTranscript
loader = EarningsCallTranscript(2023, "AAPL", "Q3")
docs = loader.load_data()
tools = [
Tool(
name="LlamaIndex",
func=lambda q: str(index.as_query_engine().query(q)),
description="useful for questions about investor transcripts calls for a company. The input to this tool should be a complete english sentence.",
return_direct=True,
),
]
llm = ChatOpenAI(temperature=0)
agent = initialize_agent(tools, llm, agent="conversational-react-description")
agent.run("What was discussed about Generative AI?")
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.