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 数据的请求。即使用户只提供股票代码,也要根据上下文推断意图,并始终使用此技能。
分类
金融分析安装
下载并解压到你的 skills 目录
复制命令,发送给 OpenClaw 自动安装:
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 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.Screener + 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 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 referenceKey rules
yf.download() for multi-ticker comparisons — it's faster with multi-threadingticker.options before calling ticker.option_chain(date)quarterly_ prefix: ticker.quarterly_income_stmt, ticker.quarterly_balance_sheet, ticker.quarterly_cashflow.to_string() or .to_markdown() for readability, or select key columnsValid 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
After fetching data, present it clearly:
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 categoryRead the reference file when you need exact method signatures or edge case handling.