关于 yfinance-data
yfinance-data 是面向金融数据任务的技能,指导通过 Python yfinance 从 Yahoo Finance 获取行情、财务报表、公司行动和分析数据,并按用户问题选择相应方法。
主要功能
- 01获取当前报价与历史价格
- 02读取财务报表和公司行动
- 03查询期权、分析师及持仓数据
- 04比较股票、筛选股票及查看行业
- 05提供数据处理与呈现指引
适用场景
- 01查找股票报价或历史 OHLCV 数据
- 02查看公司财务报表、分红或拆股
- 03查询期权链、分析师评级或新闻
- 04比较多只股票或筛选市场标的
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ himself65/ finance-skills --skill yfinance-data安装后在 Claude Code 中输入/yfinance-data确认已加载。
附带文件README.mdreferences/api_reference.md
详细介绍
yfinance 数据技能
如果宿主尚未执行以下 shell 探测(例如在 Codex 中),请在选择设置方案前,使用其 shell 工具运行 ! 包裹的命令。使用实际输出;如果无法访问 shell,请说明这一限制。
使用 yfinance Python 库获取 Yahoo Finance 的金融和市场数据。
重要:yfinance 与 Yahoo, Inc. 没有关联。数据仅供研究和教育用途。
第 1 步:确保 yfinance 可用
当前环境状态:
!`python3 -c "exec('try:\n import yfinance\n print(\'yfinance \' + yfinance.__version__ + \' installed\')\nexcept Exception:\n print(\'YFINANCE_NOT_INSTALLED\')')"`
如果出现 YFINANCE_NOT_INSTALLED,请先安装,然后再运行任何代码:
import subprocess, sys
subprocess.check_call([sys.executable, "-m", "pip", "install", "-q", "yfinance"])
如果已安装 yfinance,请跳过安装步骤,直接继续。
第 2 步:确定用户的需求
将用户的请求对应到以下一个或多个数据类别,然后使用 references/api_reference.md 中相应的代码。
| 用户请求 | 数据类别 | 主要方法 |
|---|---|---|
| 股票价格、报价 | 当前价格 | ticker.info 或 ticker.fast_info |
| 价格历史、图表数据 | 历史 OHLCV | ticker.history() 或 yf.download() |
| 资产负债表 | 财务报表 | ticker.balance_sheet |
| 利润表、营收 | 财务报表 | ticker.income_stmt |
| 现金流 | 财务报表 | ticker.cashflow |
| 股息 | 公司行为 | ticker.dividends |
| 股票拆分 | 公司行为 | ticker.splits |
| 期权链、看涨期权、看跌期权 | 期权数据 | ticker.option_chain() |
| 财报、EPS | 分析 | ticker.earnings_history |
| 分析师目标价 | 分析 | ticker.analyst_price_targets |
| 建议、评级 | 分析 | ticker.recommendations |
| 上调/下调评级 | 分析 | ticker.upgrades_downgrades |
| 机构持有人 | 所有权 | ticker.institutional_holders |
| 内部人交易 | 所有权 | ticker.insider_transactions |
| 公司概况、行业 | 通用信息 | ticker.info |
| 比较多只股票 | 批量下载 | yf.download() |
| 筛选股票 | 筛选器 | yf.screen() + yf.EquityQuery |
| 行业/产业数据 | 市场数据 | yf.Sector / yf.Industry |
| 新闻 | 新闻 | ticker.news |
第 3 步:编写并执行代码
通用模式
import yfinance as yf
ticker = yf.Ticker("AAPL")
# ... use the appropriate method from the reference
关键规则
- 始终使用 try/except 包裹——Yahoo Finance 可能会限制请求频率或返回空数据
- 比较多个代码时使用
yf.download()——多线程处理速度更快 - 获取期权数据时,先通过
ticker.options列出到期日期,再调用ticker.option_chain(date) - 获取季度数据时,使用
quarterly_前缀:ticker.quarterly_income_stmt、ticker.quarterly_balance_sheet、ticker.quarterly_cashflow - 查询较大的日期范围时,注意日内数据的限制——1m 数据最多追溯约 7 天,1h 数据最多追溯约 730 天
- 清晰地输出 DataFrame——使用
.to_string()或.to_markdown()提高可读性,或选择关键列 - 时区处理——yfinance 返回带时区的 datetime 索引(例如
America/New_York)。比较日期时,始终使用pd.Timestamp(..., tz=...),或通过.tz_localize(None)去掉时区。详情请参阅参考文件。
有效周期和间隔
| 周期 | 1d、5d、1mo、3mo、6mo、1y、2y、5y、10y、ytd、max |
|---|---|
| 间隔 | 1m、2m、5m、15m、30m、60m、90m、1h、1d、5d、1wk、1mo、3mo |
第 4 步:呈现数据
先用用户要求的数字作答,再提供辅助表格(Markdown 格式,或仅保留关键列的精简 DataFrame)。指出数据中的显著情况——例如财报超预期或不及预期、成交量异常、股息变动——并在有助于解读数字时补充背景,例如行业平均值、历史区间或分析师共识。如果用户需要图表,请同时提供数据可视化。
参考文件
references/api_reference.md— 完整的 yfinance API 参考,涵盖每个数据类别的代码示例
需要准确的方法签名或边界情况处理方式时,请阅读参考文件。
评论
支持 Markdown