Agent Skills › himself65/finance-skills › earnings-preview

earnings-preview

GitHub

基于yfinance获取股票财报前瞻简报,包括日期、一致预期、历史准确率及分析师评级,用于盘前分析。

plugins/market-analysis/skills/earnings-preview/SKILL.md himself65/finance-skills

Trigger Scenarios

用户准备即将到来的财报报告 询问市场对某公司的预期(如EPS、是否超预期) 上下文中提及即将发布财报的股票代码

Install

npx skills add himself65/finance-skills --skill earnings-preview -g -y
More Options

Non-standard path

npx skills add https://github.com/himself65/finance-skills/tree/main/plugins/market-analysis/skills/earnings-preview -g -y

Use without installing

npx skills use himself65/finance-skills@earnings-preview

指定 Agent (Claude Code)

npx skills add himself65/finance-skills --skill earnings-preview -a claude-code -g -y

安装 repo 全部 skill

npx skills add himself65/finance-skills --all -g -y

预览 repo 内 skill

npx skills add himself65/finance-skills --list

SKILL.md

Frontmatter
{
    "name": "earnings-preview",
    "description": "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."
}

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:

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

ticker = yf.Ticker("AAPL")  # replace with actual ticker

# --- Core data ---
info = ticker.info
calendar = ticker.calendar
earnings_dates = ticker.get_earnings_dates(limit=8)  # report timestamps; the upcoming one has no Reported EPS yet
hist = ticker.history(period="1mo")                  # recent price performance

# --- 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
get_earnings_dates() Earnings Date (tz-aware timestamp), EPS Estimate, Reported EPS Report 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_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 (indexed by fiscal quarter-end, oldest first)
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

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.

Version History

  • 7fe9185 Current 2026-09-28 05:36

    优化提示词以适配Claude Opus 5.5最佳实践,精简描述文本,修正yfinance API使用及数据索引逻辑错误。

  • 81e1f50 2026-08-20 05:22

    修复跨Shell(Bash/PowerShell)动态探针回退机制,确保Python运行时探测兼容性与稳定性。

  • fa526ce 2026-07-25 10:59

Same Skill Collection

plugins/skill-creator/skills/skill-creator/SKILL.md
plugins/social-readers/skills/discord-reader/SKILL.md
plugins/social-readers/skills/linkedin-reader/SKILL.md
plugins/social-readers/skills/telegram-reader/SKILL.md
plugins/social-readers/skills/yc-reader/SKILL.md
plugins/data-providers/skills/finance-sentiment/SKILL.md
plugins/data-providers/skills/fintel-data/SKILL.md
plugins/data-providers/skills/funda-data/SKILL.md
plugins/data-providers/skills/hormuz-strait/SKILL.md
plugins/data-providers/skills/tradingview-mcp/SKILL.md
plugins/market-analysis/skills/company-valuation/SKILL.md
plugins/market-analysis/skills/earnings-recap/SKILL.md
plugins/market-analysis/skills/estimate-analysis/SKILL.md
plugins/market-analysis/skills/etf-premium/SKILL.md
plugins/market-analysis/skills/options-payoff/SKILL.md
plugins/market-analysis/skills/saas-valuation-compression/SKILL.md
plugins/market-analysis/skills/sepa-strategy/SKILL.md
plugins/market-analysis/skills/stock-correlation/SKILL.md
plugins/market-analysis/skills/stock-liquidity/SKILL.md
plugins/market-analysis/skills/yfinance-data/SKILL.md
plugins/social-readers/skills/opencli-reader/SKILL.md
plugins/social-readers/skills/twitter-reader/SKILL.md
plugins/startup-tools/skills/startup-analysis/SKILL.md
plugins/ui-tools/skills/generative-ui/SKILL.md
plugins/data-providers/skills/hyperliquid-reader/SKILL.md
plugins/data-providers/skills/tradingview-reader/SKILL.md

Metadata

Files
0
Version
7fe9185
Hash
180fed96
Indexed
2026-07-25 10:59

ホーム - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-02 02:35
浙ICP备14020137号-1