home / skills / gracefullight / stock-checker / yahoo-finance
/.agent/skills/yahoo-finance
This skill helps you fetch stock data and insights from Yahoo Finance via a Python CLI, delivering prices, fundamentals, and historical context.
npx playbooks add skill gracefullight/stock-checker --skill yahoo-financeReview the files below or copy the command above to add this skill to your agents.
---
name: yahoo-finance
description: Get stock prices, quotes, fundamentals, earnings, options, dividends, and analyst ratings using Yahoo Finance. Uses yfinance library - no API key required.
---
# Yahoo Finance CLI
A Python CLI for fetching comprehensive stock data from Yahoo Finance using yfinance.
## Requirements
- Python 3.11+
- uv (for inline script dependencies)
## Installing uv
The script requires `uv` - an extremely fast Python package manager. Check if it's installed:
```bash
uv --version
```
If not installed, install it using one of these methods:
### macOS / Linux
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
### macOS (Homebrew)
```bash
brew install uv
```
### Windows
```powershell
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
### pip (any platform)
```bash
pip install uv
```
After installation, restart your terminal or run:
```bash
source ~/.bashrc # or ~/.zshrc on macOS
```
## Installation
The `yf` script uses PEP 723 inline script metadata - dependencies are auto-installed on first run.
```bash
# Make executable
chmod +x /path/to/skills/yahoo-finance/yf
# Optionally symlink to PATH for global access
ln -sf /path/to/skills/yahoo-finance/yf /usr/local/bin/yf
```
First run will install dependencies (yfinance, rich) to uv's cache. Subsequent runs are instant.
## Commands
### Price (quick check)
```bash
yf AAPL # shorthand for price
yf price AAPL
```
### Quote (detailed)
```bash
yf quote MSFT
```
### Fundamentals
```bash
yf fundamentals NVDA
```
Shows: PE ratios, EPS, market cap, margins, ROE/ROA, analyst targets.
### Earnings
```bash
yf earnings TSLA
```
Shows: Next earnings date, EPS estimates, earnings history with surprises.
### Company Profile
```bash
yf profile GOOGL
```
Shows: Sector, industry, employees, website, address, business description.
### Dividends
```bash
yf dividends KO
```
Shows: Dividend rate/yield, ex-date, payout ratio, recent dividend history.
### Analyst Ratings
```bash
yf ratings AAPL
```
Shows: Buy/hold/sell distribution, mean rating, recent upgrades/downgrades.
### Options Chain
```bash
yf options SPY
```
Shows: Near-the-money calls and puts with strike, bid/ask, volume, OI, IV.
### History
```bash
yf history GOOGL 1mo # 1 month history
yf history TSLA 1y # 1 year
yf history BTC-USD 5d # 5 days
```
Ranges: 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max
### Compare
```bash
yf compare AAPL,MSFT,GOOGL
yf compare RELIANCE.NS,TCS.NS,INFY.NS
```
Side-by-side comparison with price, change, 52W range, market cap.
### Search
```bash
yf search "reliance industries"
yf search "bitcoin"
yf search "s&p 500 etf"
```
## Symbol Format
- **US stocks:** AAPL, MSFT, GOOGL, TSLA
- **Indian NSE:** RELIANCE.NS, TCS.NS, INFY.NS
- **Indian BSE:** RELIANCE.BO, TCS.BO
- **Crypto:** BTC-USD, ETH-USD
- **Forex:** EURUSD=X, GBPUSD=X
- **ETFs:** SPY, QQQ, VOO
## Examples
```bash
# Quick price check
yf AAPL
# Get valuation metrics
yf fundamentals NVDA
# Next earnings date + history
yf earnings TSLA
# Options chain for SPY
yf options SPY
# Compare tech giants
yf compare AAPL,MSFT,GOOGL,META,AMZN
# Find Indian stocks
yf search "infosys"
# Dividend info for Coca-Cola
yf dividends KO
# Analyst ratings for Apple
yf ratings AAPL
```
## Troubleshooting
### "command not found: uv"
Install uv using the instructions above.
### Rate limiting / connection errors
Yahoo Finance may rate limit excessive requests. Wait a few minutes and try again.
### "No data" for a symbol
- Verify the symbol exists: `yf search "company name"`
- Some data (options, dividends) isn't available for all securities
## Technical Notes
- Uses PEP 723 inline script metadata for uv dependencies
- Rich library provides colored, formatted tables
- First run installs deps to uv cache (~5 seconds)
- Subsequent runs are instant (cached environment)
- Handles NaN/None values gracefully with fallbacks
This skill fetches comprehensive market data from Yahoo Finance using the yfinance Python library. It pulls prices, quotes, fundamentals, earnings, options chains, dividends, and analyst ratings without requiring an API key. Outputs are formatted for quick CLI review and can be exported to CSV for daily reporting.
The tool queries Yahoo Finance via yfinance for one or multiple tickers, normalizes returned fields, and calculates key indicators such as PE, EPS, market cap, and recent performance. It presents results in readable tables (via rich) and can generate daily CSV exports. The script handles missing values gracefully and supports a range of symbol formats (stocks, ETFs, crypto, forex, regional exchanges).
Do I need an API key to use this skill?
No. It uses the yfinance library to pull public data from Yahoo Finance without an API key.
Which Python version and dependencies are required?
Python 3.11+ is recommended. Dependencies (yfinance, rich) are installed automatically by the script on first run via the uv installer.
What symbol formats are supported?
US stocks (AAPL), regional exchanges (RELIANCE.NS, RELIANCE.BO), crypto (BTC-USD), forex (EURUSD=X), and ETFs (SPY). Use yf search to find correct tickers.