- Contains Shell Commands
- This skill contains shell command directives (
- !
command - ) that may execute system commands. Review carefully before installing.
- Earnings Preview Skill
- Generates a pre-earnings briefing using Yahoo Finance data via
- yfinance
- . Pulls together upcoming earnings date, consensus estimates, historical accuracy, analyst sentiment, and key financial context — everything you need before an earnings call.
- Important
- Data is for research and educational purposes only. Not financial advice. yfinance is not affiliated with Yahoo, Inc.
Step 1: Ensure yfinance Is Available
Current environment status:
!
python3 -c "import yfinance; print('yfinance ' + yfinance.__version__ + ' installed')" 2>/dev/null || echo "YFINANCE_NOT_INSTALLED"If YFINANCE_NOT_INSTALLED , install it: import subprocess , sys subprocess . check_call ( [ sys . executable , "-m" , "pip" , "install" , "-q" , "yfinance" ] ) If already installed, skip to the next step. Step 2: Identify the Ticker and Gather All Data Extract the ticker symbol from the user's request. If they mention a company name without a ticker, look it up. Then fetch all relevant data in one script to minimize API calls. import yfinance as yf import pandas as pd from datetime import datetime ticker = yf . Ticker ( "AAPL" )
replace with actual ticker
--- Core data ---
info
ticker . info calendar = ticker . calendar
--- Estimates ---
earnings_est
ticker . earnings_estimate revenue_est = ticker . revenue_estimate
--- Historical track record ---
earnings_hist
ticker . earnings_history
--- Analyst sentiment ---
price_targets
ticker . analyst_price_targets recommendations = ticker . recommendations
--- Recent financials for context ---
quarterly_income
ticker . quarterly_income_stmt quarterly_cashflow = ticker . quarterly_cashflow What to extract from each source Data Source Key Fields Purpose calendar Earnings Date, Ex-Dividend Date When earnings are and key dates earnings_estimate avg, low, high, numberOfAnalysts, yearAgoEps, growth (for 0q, +1q, 0y, +1y) Consensus EPS expectations revenue_estimate avg, low, high, numberOfAnalysts, yearAgoRevenue, growth Revenue expectations earnings_history epsEstimate, epsActual, epsDifference, surprisePercent Beat/miss track record analyst_price_targets current, low, high, mean, median Street price targets recommendations Buy/Hold/Sell counts Sentiment distribution quarterly_income_stmt TotalRevenue, NetIncome, BasicEPS Recent trajectory Step 3: Build the Earnings Preview Assemble the data into a structured briefing. The goal is to give the user everything they need in one glance. Section 1: Earnings Date & Key Info Report the upcoming earnings date from calendar . Include: Company name, ticker, sector, industry Upcoming earnings date (and whether it's before/after market) Current stock price and recent performance (1-week, 1-month) Market cap Section 2: Consensus Estimates Present the current quarter estimates from earnings_estimate and revenue_estimate : Metric Consensus Low High
Analysts
- Year Ago
- Growth
- EPS
- $1.42
- $1.35
- $1.50
- 28
- $1.26
- +12.7%
- Revenue
- $94.3B
- $92.1B
- $96.8B
- 25
- $89.5B
- +5.4%
- If the estimate range is unusually wide (high/low spread > 20% of consensus), note that as a sign of high uncertainty.
- Section 3: Historical Beat/Miss Track Record
- From
- earnings_history
- , show the last 4 quarters:
- Quarter
- EPS Est
- EPS Actual
- Surprise
- Beat/Miss
- Q3 2024
- $1.35
- $1.40
- +3.7%
- Beat
- Q2 2024
- $1.30
- $1.33
- +2.3%
- Beat
- Q1 2024
- $1.52
- $1.53
- +0.7%
- Beat
- Q4 2023
- $2.10
- $2.18
- +3.8%
- Beat
- Summarize: "AAPL has beaten EPS estimates in 4 of the last 4 quarters by an average of 2.6%."
- Section 4: Analyst Sentiment
- From
- recommendations
- and
- analyst_price_targets
- :
- Current recommendation distribution (Strong Buy / Buy / Hold / Sell / Strong Sell)
- Price target range: low, mean, median, high vs. current price
- Implied upside/downside from mean target
- Section 5: Key Metrics to Watch
- Based on the quarterly financials, highlight 3-5 things the market will focus on:
- Revenue growth trend (accelerating or decelerating?)
- Margin trajectory (expanding or compressing?)
- Any notable line items that changed significantly quarter-over-quarter
- Segment breakdowns if available in the data
- This section requires judgment — think about what matters for this specific company/sector.
- Step 4: Respond to the User
- Present the preview as a clean, structured briefing:
- Lead with the headline
-
- "AAPL reports earnings on [date]. Here's what to expect."
- Show all 5 sections
- with clear headers and tables
- End with a brief summary
- 2-3 sentences capturing the overall setup (bullish/bearish lean based on estimates, track record, and sentiment — frame as "the street expects" not personal recommendation) Caveats to include Estimates can change up until the report date Historical beats don't guarantee future beats Yahoo Finance data may lag real-time consensus by a few hours This is not financial advice Reference Files references/api_reference.md — Detailed yfinance API reference for earnings and estimate methods Read the reference file when you need exact method signatures or edge case handling.