Generated banner for Yfinance Data
Generated logo for Yfinance Data

Yfinance Data

Alex YangCommunityCreated by Alex Yang

  • Skill
  • Tool integration
  • Data and AI
  • MIT
  • Low risk

From the author

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.
— the description by Alex Yang

AutoGineer summary

Written by AutoGineer from the skill’s own files, not by the author

The yfinance-data skill provides a structured interface for retrieving financial and market data from Yahoo Finance. It enables users to access a wide range of information, including historical price data, financial statements, corporate actions, options chains, and analyst estimates. The skill is designed to integrate with Python environments, allowing for programmatic data extraction and analysis of stock market information.

What it does

  • Retrieves current stock quotes and historical price data.
  • Fetches financial statements including income statements, balance sheets, and cash flow.
  • Accesses corporate actions such as dividends and stock splits.
  • Provides options chain data, including calls and puts.
  • Retrieves analyst estimates, price targets, and institutional holdings.
  • Supports bulk data downloads for multi-ticker comparisons.

When to use it

  • When you need to perform research on stock market data.
  • When you require financial statement data for company analysis.
  • When you need to compare historical price performance across multiple tickers.
  • When you are building financial models that require external market data.

Advantages

  • Provides a standardized way to access diverse financial data points.
  • Supports both single-ticker lookups and bulk data downloads.
  • Integrates directly into Python workflows for automated data processing.
  • Includes methods for both annual and quarterly financial reporting data.

Usage examples

“Get the latest income statement for AAPL.”
The agent will use the yfinance library to fetch and display the annual income statement data for Apple Inc.
“Compare the historical price data for MSFT and TSLA over the last year.”
The agent will use yf.download to retrieve and present the historical price performance for both tickers for the requested period.

Install

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/himself65/yfinance-data/download
  2. Unzip it into the cross-client skills folder of your project:

    mkdir -p .agents/skills && unzip yfinance-data.zip -d .agents/skills

Documentation by Alex Yang

yfinance Data Skill

If your host has not already executed the shell probes below (for example, in Codex), run the commands inside the ! wrappers with its shell tool before choosing a setup path. Use the actual output; if shell access is unavailable, report that limitation.

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 RequestData CategoryPrimary Method
Stock price, quoteCurrent priceticker.info or ticker.fast_info
Price history, chart dataHistorical OHLCVticker.history() or yf.download()
Balance sheetFinancial statementsticker.balance_sheet
Income statement, revenueFinancial statementsticker.income_stmt
Cash flowFinancial statementsticker.cashflow
DividendsCorporate actionsticker.dividends
Stock splitsCorporate actionsticker.splits
Options chain, calls, putsOptions dataticker.option_chain()
Earnings, EPSAnalysisticker.earnings_history
Analyst price targetsAnalysisticker.analyst_price_targets
Recommendations, ratingsAnalysisticker.recommendations
Upgrades/downgradesAnalysisticker.upgrades_downgrades
Institutional holdersOwnershipticker.institutional_holders
Insider transactionsOwnershipticker.insider_transactions
Company overview, sectorGeneral infoticker.info
Compare multiple stocksBulk downloadyf.download()
Screen/filter stocksScreeneryf.screen() + yf.EquityQuery
Sector/industry dataMarket datayf.Sector / yf.Industry
NewsNewsticker.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
Periods1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max
Intervals1m, 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.

Files

README.md

yfinance-data

Fetch financial and market data using the yfinance Python library.

What it does

Retrieves a wide range of financial data from Yahoo Finance, including:

  • Current prices & quotes — real-time stock prices, market cap, P/E

  • Historical OHLCV — price history with configurable period and interval

  • Financial statements — balance sheet, income statement, cash flow (annual & quarterly)

  • Corporate actions — dividends, stock splits

  • Options data — full options chains with greeks

  • Analysis — earnings history, analyst price targets, recommendations, upgrades/downgrades

  • Ownership — institutional holders, insider transactions

  • Screener — filter stocks using yf.screen() and yf.EquityQuery

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

Triggers

  • Any mention of a ticker symbol (AAPL, MSFT, TSLA, etc.)

  • "what's the price of", "get me the financials", "show earnings"

  • "options chain", "dividend history", "balance sheet", "income statement"

  • "analyst targets", "compare stocks", "screen for stocks"

Prerequisites

  • Python 3.8+

  • The skill auto-installs yfinance via pip if not already present

Platform

Works on all platforms (Claude Code, Claude.ai with code execution, etc.).

Setup

# Choose finance-market-analysis when prompted.
npx plugins add himself65/finance-skills

# Or install just this skill
npx skills add himself65/finance-skills --skill yfinance-data

See the main README for more installation options.

Reference files

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

Requirements and compatibility

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta

“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.

Needs: Needs Python

Security

What our scanner noticed· Low risk

  • Instructions that use the network

A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.

Attribution and licence

Created by
Alex Yang
Publisher
Alex Yang (Community)
Source
himself65/finance-skills · plugins/market-analysis/skills/yfinance-data · commit a085078
Licence
MIT License (redistribution allowed)
  • LICENSE (added by AutoGineer from LICENSE)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Alex Yang or Alex Yang.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download yfinance-data.zip