home / skills / gracefullight / stock-checker / yahoo-finance

yahoo-finance skill

/.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.

This is most likely a fork of the yahoo-finance skill from openclaw
npx playbooks add skill gracefullight/stock-checker --skill yahoo-finance

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
3.9 KB
---
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

Overview

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.

How this skill works

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).

When to use it

  • Quick price checks for single or multiple tickers
  • Detailed fundamental analysis or valuation snapshots
  • Earnings calendar checks and historical earnings surprises
  • Inspecting options chains near the money
  • Generating daily CSV reports for portfolio tracking
  • Comparing several tickers side-by-side

Best practices

  • Use exact exchange suffixes for regional symbols (e.g., .NS, .BO) to avoid ambiguous matches
  • Limit bulk requests to avoid rate limiting from Yahoo Finance
  • Run compare or history queries on market hours or after close for consistent results
  • Use the built-in search when a symbol returns no data to discover correct tickers
  • Export CSV on a schedule for consistent historical tracking and backup

Example use cases

  • Run yf AAPL for a quick intraday price and change
  • yf fundamentals NVDA to get valuation metrics and analyst targets before a meeting
  • Schedule a daily job that runs yf compare for your watchlist and appends a CSV row
  • Use yf earnings TSLA to see next earnings date, consensus EPS, and historical surprises
  • Check yf options SPY to review near-the-money calls and puts with IV and open interest

FAQ

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.