Earnings Preview

by himself6501fc7b4b34aeNo license3.3K starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 3 days ago

Build a pre-earnings briefing for a stock from Yahoo Finance data (yfinance): the upcoming report date and timing, consensus EPS and revenue estimates with their range, the beat/miss track record, analyst ratings and price targets, and what to watch in the print. Use this skill whenever the user is preparing for an upcoming earnings report or asks what the street expects — consensus or whisper numbers, EPS expectations, whether a company will beat, an earnings setup, or an earnings-season preview — and whenever a ticker comes up in the context of upcoming earnings, even without the word "preview". For results that are already out, use earnings-recap.

AI-generated overview

Builds a pre-earnings briefing for a stock from Yahoo Finance data via yfinance.

What it does
This skill gathers Yahoo Finance data through the yfinance library for a given ticker and assembles a pre-earnings briefing. It covers the upcoming report date and timing, consensus EPS and revenue estimates with ranges, the recent beat/miss track record, analyst ratings and price targets, and points to watch in the print. The output is a structured written briefing with tables, plus caveats that the data is for research and educational purposes only.
When to use it
Use it when a user is preparing for an upcoming earnings report or asks what the street expects, including consensus or whisper numbers, EPS expectations, whether a company will beat, an earnings setup, or an earnings-season preview. It also applies when a ticker comes up in the context of upcoming earnings. For results already released, the skill directs users to an earnings-recap instead.
Requirements
Requires Python with the yfinance package, which the skill installs via pip if missing, and network access to Yahoo Finance data. It ships no scripts; it contains instructions and a reference file on yfinance earnings and estimate methods.

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 "exec('try:\n import yfinance\n print(\'yfinance \' + yfinance.__version__ + \' installed\')\nexcept Exception:\n print(\'YFINANCE_NOT_INSTALLED\')')"`

If YFINANCE_NOT_INSTALLED, install it:

python
import subprocess, syssubprocess.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.

python
import yfinance as yf
ticker = yf.Ticker("AAPL")  # replace with actual ticker
# --- Core data ---info = ticker.infocalendar = ticker.calendarearnings_dates = ticker.get_earnings_dates(limit=8)  # report timestamps; the upcoming one has no Reported EPS yethist = ticker.history(period="1mo")                  # recent price performance
# --- Estimates ---earnings_est = ticker.earnings_estimaterevenue_est = ticker.revenue_estimate
# --- Historical track record ---earnings_hist = ticker.earnings_history
# --- Analyst sentiment ---price_targets = ticker.analyst_price_targetsrecommendations = ticker.recommendations
# --- Recent financials for context ---quarterly_income = ticker.quarterly_income_stmtquarterly_cashflow = ticker.quarterly_cashflow

What to extract from each source

Data SourceKey FieldsPurpose
calendarEarnings Date, Ex-Dividend DateWhen earnings are and key dates
get_earnings_dates()Earnings Date (tz-aware timestamp), EPS Estimate, Reported EPSReport timing: the upcoming row has no Reported EPS; a time at or after 16:00 ET means after the close, earlier times mean before the open
earnings_estimateavg, low, high, numberOfAnalysts, yearAgoEps, growth (for 0q, +1q, 0y, +1y)Consensus EPS expectations
revenue_estimateavg, low, high, numberOfAnalysts, yearAgoRevenue, growthRevenue expectations
earnings_historyepsEstimate, epsActual, epsDifference, surprisePercentBeat/miss track record (indexed by fiscal quarter-end, oldest first)
analyst_price_targetscurrent, low, high, mean, medianStreet price targets
recommendationsBuy/Hold/Sell countsSentiment distribution
quarterly_income_stmtTotalRevenue, NetIncome, BasicEPSRecent trajectory

Step 3: Build the Earnings Preview

The briefing should let the user see the setup at a glance. Cover these five areas; if the data for one is missing, say so in a line rather than dropping it.

  1. Date and context — company, ticker, sector and industry; the report date and whether it lands before the open or after the close; current price with 1-week and 1-month performance; market cap.
  2. Consensus estimates — a table of this quarter's EPS and revenue consensus with low, high, analyst count, year-ago value, and expected growth. A high/low spread wider than about 20% of consensus signals unusual uncertainty; say so when you see it.
  3. Beat/miss track record — the last four quarters of estimated vs actual EPS with surprise %, summarized as a beat count and average surprise.
  4. Analyst sentiment — the rating distribution (strong buy through strong sell) and the price-target range (low, mean, median, high), with the implied upside or downside from the mean target.
  5. What to watch — the few things the market will focus on in this print, chosen for this company and sector: revenue growth accelerating or decelerating, margins expanding or compressing, line items that moved sharply quarter over quarter, and segment trends where the data has them. This is the judgment part of the briefing.

Step 4: Respond to the User

Open with the headline — the report date and a one-line read of the setup — then the five areas above, using tables where they help. Close with a short read of the overall setup drawn from the estimates, track record, and sentiment, framed as what the street expects rather than a recommendation.

Include the caveats that apply: estimates can change until the report date, past beats don't guarantee future ones, Yahoo Finance consensus can lag real-time providers by a few hours, and 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.

Source and attribution

Source:himself65/finance-skillsinplugins/market-analysis/skills/earnings-previewat commit01fc7b4

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal

More from himself65/finance-skills

Yfinance Data

himself65

Fetches stock and market data from Yahoo Finance via the yfinance Python library and presents it.

Data & Analytics3.3Kupdated 3 days ago

Stock Liquidity

himself65

Analyze how liquid a stock is using Yahoo Finance data (yfinance): bid-ask spreads, volume and dollar volume (ADTV), top-of-book and options depth, square-root market impact and slippage estimates, turnover ratio, and Amihud illiquidity, rolled into a liquidity grade. Use this skill whenever the user asks about liquidity or trading costs — how easily a position can be entered or exited, what a large order would do to the price, spread or execution-cost estimates, order book depth, volume patterns, or liquidity comparisons — especially for small caps, penny stocks, and thinly traded names.

Awaiting classification3.3Kupdated 3 days ago

Stock Correlation

himself65

Analyzes stock co-movement from Yahoo Finance price history, finding correlated peers, betas, clusters and rolling correlations.

Data & Analytics3.3Kupdated 3 days ago

Sepa Strategy

himself65

Analyzes stocks using Mark Minervini's SEPA methodology: stage analysis, trend template, patterns, entries and position sizing.

Business & Finance3.3Kupdated 3 days ago

Saas Valuation Compression

himself65

Analyzes how a private SaaS company's ARR valuation multiple changed across funding rounds and attributes the change to macro, growth and narrative factors.

Business & Finance3.3Kupdated 3 days ago

Yc Reader

himself65

Look up Y Combinator companies and batches from the public yc-oss API, a static JSON dataset refreshed daily: company profiles, batch rosters (e.g. W25, S24), companies by industry or tag, top companies, who is hiring, founder-diversity lists, and overall YC stats. Use this skill whenever the user asks about YC-backed startups, a YC batch, YC companies in a sector or tag or that are hiring, the Y Combinator portfolio, or startup and venture research that draws on YC data. Read-only.

Awaiting classification3.3Kupdated 3 days ago