Yahoo Finance CLI 是一个面向终端用户的股票数据查询工具,基于 Python 与 yfinance 库,从 Yahoo Finance 获取行情与基本面信息,无需 API key。
用途与主要能力
该工具通过一个 yf 命令行脚本提供多种查询能力:
- 价格:yf AAPL 或 yf price AAPL,快速查看当前价格。
- 详细报价:yf quote MSFT。
- 基本面:yf fundamentals NVDA,展示 PE 比率、EPS、市值、利润率、ROE/ROA、分析师目标价。
- 财报:yf earnings TSLA,展示下次财报日期、EPS 预估、含意外幅度的历史财报。
- 公司概况:yf profile GOOGL,展示板块、行业、员工数、网站、地址、业务描述。
- 股息:yf dividends KO,展示股息率/收益率、除息日、派息比率、近期股息历史。
- 分析师评级:yf ratings AAPL,展示买入/持有/卖出分布、平均评级、近期评级上调/下调。
- 期权链:yf options SPY,展示近价看涨与看跌期权的行权价、买卖价、成交量、未平仓量、隐含波动率。
- 历史行情:yf history GOOGL 1mo、yf history TSLA 1y、yf history BTC-USD 5d;支持区间 1d、5d、1mo、3mo、6mo、1y、2y、5y、10y、ytd、max。
- 对比:yf compare AAPL,MSFT,GOOGL 或 yf compare RELIANCE.NS,TCS.NS,INFY.NS,并排展示价格、涨跌、52 周区间、市值。
- 搜索:yf search "reliance industries"、yf search "bitcoin"、yf search "s&p 500 etf",用于确认代码。
代码格式
支持美股(如 AAPL、MSFT、GOOGL、TSLA)、印度 NSE(如 RELIANCE.NS、TCS.NS、INFY.NS)、印度 BSE(如 RELIANCE.BO、TCS.BO)、加密货币(如 BTC-USD、ETH-USD)、外汇(如 EURUSD=X、GBPUSD=X)、ETF(如 SPY、QQQ、VOO)。
安装与使用方式
要求 Python 3.11+ 与 uv。若未安装 uv,可按平台选择:macOS/Linux 使用 curl -LsSf https://astral.sh/uv/install.sh | sh;macOS 也可用 brew install uv;Windows 使用 powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex";任意平台可用 pip install uv。安装后重启终端或执行 source ~/.bashrc(macOS 可为 ~/.zshrc)。
脚本本身使用 PEP 723 内联脚本元数据,首次运行会自动安装依赖(yfinance、rich)到 uv 缓存,约 5 秒,之后运行即时完成。使用前可执行 chmod +x /path/to/skills/yahoo-finance/yf 赋予执行权限,也可选择性创建软链接:ln -sf /path/to/skills/yahoo-finance/yf /usr/local/bin/yf。
适用场景
适合在终端快速查询或比较证券行情、估值、财报、股息、评级和期权信息,也可用于确认股票代码。
限制与排错
若提示 command not found: uv,需先按上述方式安装 uv。Yahoo Finance 可能对过多请求限流,遇到限流或连接错误时可等待几分钟后重试。若某代码显示“No data”,可用 yf search "company name" 验证代码是否存在;部分证券的期权、股息等数据并非全部可用。工具会对 NaN/None 值进行容错回退,rich 库用于输出彩色格式化表格。