Agent Skills › himself65/finance-skills › yfinance-data

yfinance-data

GitHub

基于yfinance库获取Yahoo金融数据,支持股价、财报、期权及新闻等。自动处理依赖安装,提供多场景代码模板与异常处理规范,适用于股票研究与分析任务。

plugins/market-analysis/skills/yfinance-data/SKILL.md himself65/finance-skills

Trigger Scenarios

查询股票当前价格或历史行情 获取公司财务报表(利润表/资产负债表) 查看期权链、股息或分析师评级 进行多股票对比或筛选

Install

npx skills add himself65/finance-skills --skill yfinance-data -g -y
More Options

Non-standard path

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

Use without installing

npx skills use himself65/finance-skills@yfinance-data

指定 Agent (Claude Code)

npx skills add himself65/finance-skills --skill yfinance-data -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": "yfinance-data",
    "description": "Fetch financial and market data with the yfinance Python library (Yahoo Finance). Use this skill whenever the user wants stock data: current quotes and price history, financial statements (income statement, balance sheet, cash flow), options chains, dividends and splits, earnings and analyst estimates, price targets and ratings, institutional and insider holdings, news, multi-ticker comparisons, stock screens, or sector and industry data. Use it even when the user gives only a ticker symbol (AAPL, MSFT, TSLA) and the intent has to be inferred. For earnings previews or recaps, estimate revisions, valuation, correlation, liquidity, or ETF premium analysis, prefer the dedicated skill."
}

yfinance Data Skill

Fetches financial and market data from Yahoo Finance using the yfinance Python library.

Important: yfinance is not affiliated with Yahoo, Inc. Data is for research and educational purposes.


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 before running any code:

import subprocess, sys
subprocess.check_call([sys.executable, "-m", "pip", "install", "-q", "yfinance"])

If yfinance is already installed, skip the install step and proceed directly.


Step 2: Identify What the User Needs

Match the user's request to one or more data categories below, then use the corresponding code from references/api_reference.md.

User Request Data Category Primary Method
Stock price, quote Current price ticker.info or ticker.fast_info
Price history, chart data Historical OHLCV ticker.history() or yf.download()
Balance sheet Financial statements ticker.balance_sheet
Income statement, revenue Financial statements ticker.income_stmt
Cash flow Financial statements ticker.cashflow
Dividends Corporate actions ticker.dividends
Stock splits Corporate actions ticker.splits
Options chain, calls, puts Options data ticker.option_chain()
Earnings, EPS Analysis ticker.earnings_history
Analyst price targets Analysis ticker.analyst_price_targets
Recommendations, ratings Analysis ticker.recommendations
Upgrades/downgrades Analysis ticker.upgrades_downgrades
Institutional holders Ownership ticker.institutional_holders
Insider transactions Ownership ticker.insider_transactions
Company overview, sector General info ticker.info
Compare multiple stocks Bulk download yf.download()
Screen/filter stocks Screener yf.screen() + yf.EquityQuery
Sector/industry data Market data yf.Sector / yf.Industry
News News ticker.news

Step 3: Write and Execute the Code

General pattern

import yfinance as yf

ticker = yf.Ticker("AAPL")
# ... use the appropriate method from the reference

Key rules

  1. Always wrap in try/except — Yahoo Finance may rate-limit or return empty data
  2. Use yf.download() for multi-ticker comparisons — it's faster with multi-threading
  3. For options, list expiration dates first with ticker.options before calling ticker.option_chain(date)
  4. For quarterly data, use quarterly_ prefix: ticker.quarterly_income_stmt, ticker.quarterly_balance_sheet, ticker.quarterly_cashflow
  5. For large date ranges, be mindful of intraday limits — 1m data only goes back ~7 days, 1h data ~730 days
  6. Print DataFrames clearly — use .to_string() or .to_markdown() for readability, or select key columns
  7. Timezone handling — yfinance returns tz-aware datetime indices (e.g., America/New_York). When comparing dates, always use pd.Timestamp(..., tz=...) or strip timezones with .tz_localize(None). See the reference file for details.

Valid periods and intervals

Periods 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max
Intervals 1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 1d, 5d, 1wk, 1mo, 3mo

Step 4: Present the Data

Answer with the numbers the user asked for first, then the supporting table (markdown, or a trimmed DataFrame with the key columns). Call out anything notable in the data — an earnings beat or miss, unusual volume, a dividend change — and add context such as sector averages, historical ranges, or analyst consensus where it changes how the numbers read. If the user wants a chart, pair the data with a visualization.


Reference Files

  • references/api_reference.md — Complete yfinance API reference with code examples for every data category

Read the reference file when you need exact method signatures or edge case handling.

Version History

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

    根据Claude Opus 5.5提示最佳实践重构技能描述,精简文本并明确意图边界;修复yf.Screener已废弃问题,改用yf.screen()配合EquityQuery;优化其他相关技能的代码逻辑与示例准确性。

  • 81e1f50 2026-08-20 05:23

    修复跨Shell环境(Bash和PowerShell)的动态探针回退机制,确保Python运行时探测在有效try/except块中处理失败情况。

  • fa526ce 2026-07-25 11:00

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-preview/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/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
258750d5
Indexed
2026-07-25 11:00

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