yfinance-data

使用 yfinance Python 库获取金融和市场数据。只要用户询问股票价格、历史数据、财务报表、期权链、股息、财报、分析师建议,或任何市场数据,就使用此技能。触发条件包括:任何提及股票价格、股票代码(AAPL、MSFT、TSLA 等)、“get me the financials(给我财务数据)”“show earnings(展示财报)”“what's the price of(某某的价格是多少)”“download stock data(下载股票数据)”“options chain(期权链)”“dividend history(股息历史)”“balance sheet(资产负债表)”“income statement(利润表)”“cash flow(现金流)”“analyst targets(分析师目标价)”“institutional holders(机构持仓)”“compare stocks(比较股票)”“screen for stocks(筛选股票)”,或任何涉及 Yahoo Finance 数据的请求。即使用户只提供股票代码,也要根据上下文推断意图,并始终使用此技能。

安装

热度:1

下载并解压到你的 skills 目录

复制命令,发送给 OpenClaw 自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=himself65-skills-yfinance-data&locale=zh&source=copy
name:yfinance-datadescription:>Triggers include:any mention of stock price, ticker symbol (AAPL, MSFT, TSLA, etc.),

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 "import yfinance; print('yfinance ' + yfinance.__version__ + ' installed')" 2>/dev/null || echo "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.Screener + yf.EquityQuery
Sector/industry dataMarket datayf.Sector / yf.Industry
NewsNewsticker.news


Step 3: Write and Execute the Code

General pattern

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

import yfinance as yf

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

Key rules

  • Always wrap in try/except — Yahoo Finance may rate-limit or return empty data

  • Use yf.download() for multi-ticker comparisons — it's faster with multi-threading

  • For options, list expiration dates first with ticker.options before calling ticker.option_chain(date)

  • For quarterly data, use quarterly_ prefix: ticker.quarterly_income_stmt, ticker.quarterly_balance_sheet, ticker.quarterly_cashflow

  • For large date ranges, be mindful of intraday limits — 1m data only goes back ~7 days, 1h data ~730 days

  • Print DataFrames clearly — use .to_string() or .to_markdown() for readability, or select key columns
  • 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

    After fetching data, present it clearly:

  • Summarize key numbers in a brief text response (current price, market cap, P/E, etc.)

  • Show tabular data formatted for readability — use markdown tables or formatted DataFrames

  • Highlight notable items — earnings beats/misses, unusual volume, dividend changes

  • Provide context — compare to sector averages, historical ranges, or analyst consensus when relevant
  • If the user seems to want a chart or visualization, combine with an appropriate visualization approach (e.g., generate an HTML chart or describe the trend).


    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.