尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
yfinance 完全教程:3 行代码抓行情数据,还能自动修复价格错误
yfinance 完全教程3 行代码抓行情数据还能自动修复价格错误【免费下载链接】yfinanceDownload market data from Yahoo! Finances API项目地址: https://gitcode.com/GitHub_Trending/yf/yfinance抓股票数据时你有没有遇到过这种糟心事拉出来的历史价格中间断档一天、某段时间价格突然翻了一百倍、或者分红日之后调整价Adj Close压根没变这些不是你的 bug是数据源的问题。yfinance 不仅能从 Yahoo! Finance 免费拉取行情和基本面数据还内置了一套价格修复机制能把这些脏数据自动修干净。一句话定位yfinance 是什么yfinance 是一个 Python 库封装了 Yahoo! Finance 的公开 API让你用几行代码拿到 K 线、成交量、分红拆分、财务报表、分析师目标价等数据结果直接是 pandas DataFrame接进任何分析流程都不用转换。它值得用的原因有两个零 API Key、零费用且对雅虎返回的脏数据做了兜底修复拿到的数更可信。最小上手路径安装后 3 分钟看到输出一条命令装好依赖 pandas、numpy 会自动带上pip install yfinance跑通第一个例子拿到微软最近 1 个月的日线数据import yfinance as yf msft yf.Ticker(MSFT) hist msft.history(period1mo) print(hist.head())hist是一个带时间索引的 DataFrame包含 Open / High / Low / Close / Volume 等列直接可以画图或算指标。想先看公司层面的信息用msft.info拿一个字典里面有longName公司名、currentPrice现价、marketCap市值等字段。任务拆解三个高频场景的最小写法任务一拉历史行情并算一条均线任务要一只票过去一年的日线并算出 20 日均线。做法Ticker.history()传period和interval然后直接在 DataFrame 上滚动计算hist msft.history(period1y, interval1d) hist[MA20] hist[Close].rolling(window20).mean() print(hist[[Close, MA20]].tail())结果hist每行一个交易日MA20前 19 行为空窗口不足之后逐行输出均线值。任务二一次下载多只股票按票分列任务同时下载 SPY 和 AAPL 做对比不想循环写两次请求。做法用模块级的yf.download()group_byticker让返回结果以票号为一级列名data yf.download([SPY, AAPL], period6mo, group_byticker, progressFalse) print(data[AAPL][Close].tail())结果多级列的 DataFramedata[AAPL]、data[SPY]各自是独立的 OHLCV 表方便做相对强弱之类对比。批量下载默认多线程几十只票也不用等太久。任务三记不全代码先搜票再取数任务只知道公司名或中文/模糊关键词要拿到准确 ticker。做法用yf.Search()先查报价列表quotes yf.Search(apple, max_results10).quotes for q in quotes: print(q[symbol], q.get(shortname))结果打印出候选票符如AAPL和名称确认后再交给yf.Ticker(...)取数避免拿错代码。核心机制深挖repairTrue 是怎么修数据的yfinance 最有差异化的能力是价格修复history()和download()都接受repairTrue参数让库自动检测并修复雅虎返回的价格错误。开启后结果会多一列Repaired?标记哪些行被修过hist yf.Ticker(0316.HK).history(period1y, repairTrue) print(hist[hist[Repaired?] True])它具体处理四类问题分红调整缺失数据里有分红记录但前一日Adj Close和Close相等没调手动按分红比例补调整拆分调整缺失发生拆股但历史价格没跟着缩库会主动应用拆分比例需要日期范围包含拆股日后一天用于校准缺行/缺成交量某天价格数据明显缺失或损坏时用更细粒度如 1 小时的数据重新拼装出缺失的日线100 倍货币错位雅虎偶尔把美元/美分、英镑/便士搞混导致一段价格恰好差 100 倍散点式的偏差用 scipy 检测整段错位的则整体换算。为什么这个设计好用修复全部发生在本地不依赖雅虎改数据被标记的行可审计不用信任也没成本货币错位修完后真实币种要看Ticker.history_metadata[currency]而不是info里的字段。完整规则和修复案例含修正前后对照数据见文档 doc/source/advanced/price_repair.rst修复逻辑主体在 yfinance/utils.py想验证行为可以看 tests/data/ 里几十组坏数据 vs 修复后的真实对照 CSV。避坑与配置要点场景现象处理方式返回空表代码写错、市场休市或代码不存在先用yf.Search()核对 ticker确认start/end有交易日日内数据只覆盖最近 60 天拉1m~1h数据发现历史部分为空雅虎的限制非 yfinance 的 bug更长的历史只能用1d及以上价格突然放大 100 倍某段时间 OHLC 整体偏大开repairTrue修完核对history_metadata[currency]请求超时网络不稳时批量下载中断yf.download(..., timeout30)批量任务建议传progressFalse降噪走代理默认直连被限流yf.config.network.proxy http://127.0.0.1:7890缓存位置想改时区缓存默认写在系统临时目录yf.set_tz_cache_location(./my_cache)指到项目目录内周线/月线分红调整怪雅虎对多日区间的分红调整算法有缺陷用repairTrue拉多日区间库会先取 1d 数据修复再重采样顺带修正此问题下一步到这里从安装、取数、批量下载到脏数据修复你已经覆盖了 yfinance 日常使用的主干路径。接下来可以往三个方向走用msft.quarterly_income_stmt、msft.balance_sheet把基本面数据拉进同一个工作流用yf.screen()加EquityQuery做条件选股或者研究tests/test_price_repair.py的断言方式学会为修复逻辑写回归测试。完整文档源文件doc/source/核心源码yfinance/修复功能回归用例tests/data/【免费下载链接】yfinanceDownload market data from Yahoo! Finances API项目地址: https://gitcode.com/GitHub_Trending/yf/yfinance创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Transformers 任务全景指南:用 pipeline 三行代码打通音频、视觉、NLP 与多模态任务

Transformers 任务全景指南:用 pipeline 三行代码打通音频、视觉、NLP 与多模态任务

Transformers 任务全景指南:用 pipeline 三行代码打通音频、视觉、NLP 与多模态任务 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multi…

📅 2026/10/8 16:03:45
微信小程序超市购物系统毕业设计:从架构到实现的完整指南

微信小程序超市购物系统毕业设计:从架构到实现的完整指南

简介:这是一套高完成度的微信小程序超市购物系统毕设项目源码,面向计算机、电子信息工程等专业本科生,解决毕业设计选题难、实战经验缺、代码调试繁三大痛点,适用于毕设开发、课程设计及期末大作业场景。资源包共1609个文件&#…

📅 2026/10/18 18:18:48
从零参与 10.5GHz 开源相控阵雷达:PLFM_RADAR 值不值得投入,以及从哪里下手

从零参与 10.5GHz 开源相控阵雷达:PLFM_RADAR 值不值得投入,以及从哪里下手

从零参与 10.5GHz 开源相控阵雷达:PLFM_RADAR 值不值得投入,以及从哪里下手 【免费下载链接】PLFM_RADAR Open-source, low-cost 10.5 GHz PLFM phased array RADAR system 项目地址: https://gitcode.com/GitHub_Trending/pl/PLFM_RADAR PLFM_RA…

📅 2026/9/21 12:30:24
MORE NEWS

更多资讯

📰

多模态AI技术解析:跨模态学习与工业应用

1. 多模态技术全景解读:当AI学会"眼观六路耳听八方"去年测试某款智能客服系统时,我让用户同时发送语音和图片描述问题。传统单模态系统要么转文字处理语音,要么用CV分析图片,而这个系统竟能结合语音中的情绪波动和图片里…

📰

YOLOv11颜色增强模块CEM:雾天目标检测的创新方案

1. 项目概述在计算机视觉领域,目标检测一直是核心研究方向之一。YOLO系列作为实时目标检测的代表性算法,其最新迭代版本YOLOv11在多模态融合和复杂环境适应性方面做出了重要改进。本文将重点解析其颜色增强模块CEM(Color Enhancement Module)的创新设计&…

📰

VC2008运行库SP1安装指南:解决msvcr90.dll缺失与架构兼容问题

简介:本资源是微软官方发布的Visual C 2008 SP1运行库完整安装包,专为Windows平台下C/C程序的兼容性运行提供底层支持,面向软件开发者、系统维护人员及普通用户,解决因缺失CRT、ATL、MFC、OpenMP等关键动态链接库导致的“dll文件丢…

📰

AgentScope 2.0 多智能体协作框架与 FastAPI 后端整合实战

1. 为什么 AgentScope 2.0 值得单独拿出来聊Agent 框架这两年井喷式增长,从最早的 LangChain 到后来的 AutoGen、CrewAI,再到国内阿里系开源的 AgentScope,每个框架都在试图回答同一个问题:怎么让多个大模型角色协同完成一件复杂的…

📰

CLion配置GDAL开发环境:预编译二进制+CMake免编译实践

CLion 下配置 GDAL 开发环境这件事,几乎每个做遥感影像、矢量数据处理的 C 开发者都会遇到。我第一次弄这玩意儿是在一个读 GeoTIFF 瓦片的小工具上,当时想当然地以为“下个库、加个头文件路径”就完了,结果从源码编译 GDAL 卡了整整一个下午…

📰

数字孪生三维可视化平台选型与实施指南

1. 数字孪生三维可视化平台的核心价值当工业4.0遇上元宇宙,数字孪生技术正在重塑传统行业的运营模式。作为物理世界的数字镜像,一个优秀的三维可视化平台能让你在虚拟环境中实时操控实体设备、预测系统故障、优化生产流程。去年某汽车工厂通过部署数字孪…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬