360 Secure SkillHub
360 安全技能中心

Yahoo Finance CLI

使用 yahoo-finance2 的 yf CLI 从 Yahoo Finance 获取股票实时报价、基本面摘要、分析师评级、历史 OHLCV、搜索和趋势数据;输出 JSON,可用 jq 过滤。需要 Node.js、jq 和 yf,命令通过 Bash/zsh 执行。

stuhorsman
stuhorsman
热度 98.57
最近更新 2026-05-11 15:51:08
分类:数据依赖:代码执行 / 第三方 API / 读写文件应用场景:财务 / 市场分析 / 数据处理 / 研究

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add yahoo-finance-cli
Metadata
name
yahoo-finance
description
This skill should be used when the user asks to "get stock prices", "check stock quotes", "look up earnings", "get financial data", "find trending stocks", or needs stock market data from Yahoo Finance.
metadata
{"clawdbot":{"requires":{"bins":["jq","yf"]},"install":[{"id":"brew","kind":"brew","package":"jq","bins":["jq"],"label":"Install jq (Homebrew)"},{"id":"npm","kind":"node","package":"yahoo-finance2","bins":["yahoo-finance"],"label":"Install Yahoo Finance CLI (npm)"},{"id":"link-yf","kind":"exec","command":"ln -sf $(npm bin -g)/yahoo-finance /usr/local/bin/yf","label":"Link yf binary"}]}}

Yahoo Finance CLI

A Node.js CLI for fetching comprehensive stock data from Yahoo Finance using the yahoo-finance2 library.

Requirements

  • Node.js
  • yahoo-finance2 installed globally or available as yf
  • jq

Install

brew install jq
npm install yahoo-finance2
sudo ln -s /opt/homebrew/bin/yahoo-finance /usr/local/bin/yf

Usage

The tool is available as yf. It outputs JSON, which can be piped to jq for filtering.

yf <module> <symbol> [queryOptions]

Modules

Quote (Real-time Price & Data)

Get real-time price, change, and basic data.

yf quote AAPL
yf quote AAPL | jq '.regularMarketPrice'

Quote Summary (Fundamentals & More)

Get detailed modules like earnings, financial data, and profiles.

# Get specific sub-modules
yf quoteSummary AAPL '{"modules":["assetProfile", "financialData", "defaultKeyStatistics"]}'

# Common modules to request:
# - assetProfile (Company info, sector)
# - financialData (Target price, margins, cash)
# - defaultKeyStatistics (Enterprise value, float, shares)
# - calendarEvents (Earnings dates)
# - earnings (History and trend)
# - recommendationTrend (Analyst ratings)
# - upgradeDowngradeHistory

Insights

Get technical and fundamental insights (valuation, outlook).

yf insights AAPL

Search

Search for symbols.

yf search "Apple"
yf search "BTC-USD"

Historical Data (Deprecated)

Get historical OHLCV data. Note: historical is deprecated; use chart instead.

# Deprecated - use chart instead
yf historical AAPL '{"period1":"2024-01-01","period2":"2024-12-31"}'

# Recommended: use chart
yf chart AAPL '{"period1":"2024-01-01","period2":"2024-12-31"}'

Trending

See what's trending.

yf trendingSymbols US

Examples

Quick Price Check

# Full JSON then filter with jq
yf quote NVDA | jq '{symbol: .symbol, price: .regularMarketPrice, changePct: .regularMarketChangePercent}'

Next Earnings Date

# Use single quotes around the JSON option in zsh/bash
yf quoteSummary TSLA '{"modules":["calendarEvents"]}' | jq '.calendarEvents.earnings.earningsDate'

Analyst Recommendations

yf quoteSummary AAPL '{"modules":["recommendationTrend"]}'

Company Profile

yf quoteSummary MSFT '{"modules":["assetProfile"]}'

Historical OHLCV

# Using chart (recommended)
yf chart AAPL '{"period1":"2024-01-01","period2":"2024-12-31","interval":"1d"}' | jq '.quotes[0:5]'

# Using historical (deprecated, but still works)
yf historical AAPL '{"period1":"2024-01-01","period2":"2024-12-31","interval":"1d"}' | jq '.[0:5]'

Search for Symbols

yf search 'Apple'
yf search 'BTC-USD'

Trending Symbols (US)

yf trendingSymbols US

Insights (valuation, outlook)

yf insights AAPL

Troubleshooting

  • Cookies: The tool automatically handles cookies (stored in ~/.yf2-cookies.json). If you encounter issues, try deleting this file.
  • JSON Output: The output is pure JSON. Use jq to parse it for scripts or readability.

Additional tips:

  • If you see authentication or parsing errors, delete the cookie file and retry:
rm -f ~/.yf2-cookies.json
yf quote AAPL
  • On macOS with zsh, prefer single quotes around JSON option arguments and use double quotes inside (see examples above).
  • If you want a compact numeric value only (no jq), use a short jq filter, e.g.:
yf quote AAPL | jq -r '.regularMarketPrice'