yfinance 股票数据获取快速上手:3 行代码拿到第一份 K 线 📅 发布时间:2026/9/16 11:24:12 👁 浏览次数: yfinance 股票数据获取快速上手3 行代码拿到第一份 K 线【免费下载链接】yfinanceDownload market data from Yahoo! Finances API项目地址: https://gitcode.com/GitHub_Trending/yf/yfinanceyfinance 是一个免费的 Python 库从 Yahoo! Finance 公开接口抓取股票数据几行代码拿到历史行情、基本面和批量报价。它适合投资爱好者、数据分析师和量化初学者。边界先说清它不存储任何数据每次调用都实时请求 Yahoo只做个人研究工具别拿去当生产交易系统的数据源。先跑起来2 分钟拿到 AAPL 最近 5 天行情这一节的目标是用最少的代码跑出一份能用的数据。pip install yfinanceimport yfinance as yf # 下载 AAPL 最近 5 个交易日的日线 df yf.download(AAPL, period5d) print(df.tail())输出是一个 pandas 表格含 Open、High、Low、Close、Adj Close、Volume 六列索引是交易日。这就是后续算收益率、做回测的原料。能力地图一张表看懂 yfinance 能做什么这张表把 yfinance 的核心入口列全你知道每个功能解决什么问题就不用翻文档找 API。入口功能解决什么问题yf.download()批量下载历史行情一次拿多只股票数据横向对比yf.Ticker()单只股票详情行情、基本面、财报、分红拆股事件yf.Search()/yf.Lookup()代码与新闻查找不知道准确代码时按关键词搜yf.screen()EquityQuery条件筛选股票按市值、市盈率等批量筛股池yf.WebSocket实时行情订阅推送式获取报价不用轮询yf.config网络与本地化配置代理、重试、缓存位置、locale直说局限yfinance 不是数据库本地不留任何数据用了就得再请求没有 SLAYahoo 接口不保证长期稳定还会偶发限频。拿它学习和做研究没问题直接上生产要自己兜底。跟着任务学3 个最常用的场景拉一整年的 TSLA 周线做个股中期趋势时日线太密周线更看得清方向。tsla yf.Ticker(TSLA) # 2024 年以来、每周收盘的周线数据 hist tsla.history(start2024-01-01, interval1wk) print(hist[[Close, Volume]].tail(10))返回的每一行是一周Close 取该周最后一个交易日。坑点1h小时级数据只支持最近 730 天区间拉太长会返回空。批量下载 4 只股票一次对比对比一组股票时把代码写成列表就能一次拉完不用循环。data yf.download( [MSFT, GOOGL, AMZN, AAPL], start2024-01-01, end2024-12-31, group_byticker ) print(data[MSFT][Close].head())group_byticker后列结构是股票代码 → 字段用data[MSFT][Close]直接取。坑点非美股代码必须带交易所后缀如1810.HK港交所、7203.T东京。给不稳定的网络配上重试和缓存网络抖动是请求失败的头号原因两行配置就能让 yfinance 更抗造。脚本开头写yf.config.network.retries 2瞬断时按指数退避自动重试再用yf.set_tz_cache_location(my_cache)把时区、cookie 缓存指到自定义目录减少重复请求。全部配置项见 配置说明。坑点缓存只存时区和 cookie 这类元数据不存行情别指望离线也能出数。遇到问题先查这里 ⚠️现象可能原因怎么处理download返回空 DataFrameYahoo 限频、超时或代码/区间非法设yf.config.network.retries检查代码是否带交易所后缀报错被吞掉看不到异常debug.hide_exceptions默认 True设为 False 再看真实报错收盘价突然翻倍、整行缺失分红/拆股复权错误或数据源漏报先用Ticker.calendar核对分红拆股日期再对照复权前后价格公司名等字段显示英文默认 locale 是 en-US会话开始设yf.config.locale.lang和region且只有该地区原生上市的股票才返回翻译值实时价比交易所慢Yahoo 数据有分钟级延迟对延迟敏感改用yf.WebSocket订阅并自行核对延迟范围跑通之后接下来值得试三件事用yf.screen()配EquityQuery按市值、市盈率批量筛股票池用WebSocket/AsyncWebSocket搭一条实时行情推送管道把行情落到本地数据库再结合 pandas 做回测。行情抓取的核心逻辑在 yfinance/scrapers/history.py缓存机制的完整说明在 doc/source/advanced/caching.rst想深入时看这两处就够。现在就打开终端跑一遍上面那 5 行代码确认输出有六列数据然后把 AAPL 换成你真正关注的代码——跑通这一步后面全是顺路的事。【免费下载链接】yfinanceDownload market data from Yahoo! Finances API项目地址: https://gitcode.com/GitHub_Trending/yf/yfinance创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考