yfinance完全指南:从安装到精通的4个关键步骤
一、项目长什么样?核心目录轻松懂
你好呀!今天咱们来聊聊一个超实用的开源项目——yfinance。如果你想玩股票数据分析,又不想自己写复杂的爬虫,那这个工具可太适合你了。先看看它的"骨架"长啥样吧!
yfinance的核心目录主要有这么几个:
- yfinance/:这是项目的"心脏",所有核心代码都在这里面,比如怎么从雅虎财经拿数据、怎么处理数据都藏在这里。
- tests/:放测试代码的地方,保证项目代码质量的"质检员"。
- doc/:项目说明书就在这儿,想深入了解功能看这里准没错。
Tips:刚接触项目时,先看看这几个核心目录,能帮你快速对项目有个整体印象哦!
二、怎么用起来?3个场景带你上手
光知道目录结构还不够,咱们得知道怎么把它用起来才行。yfinance是个Python库,不是那种点一下就能打开的软件,得写几行代码调用它。别担心,很简单!
场景1:获取单只股票数据
比如咱们想看看微软(股票代码MSFT)最近一个月的股价,这样写:
import yfinance as yf
# 创建股票对象,就像拿到了微软股票的"身份证"
msft = yf.Ticker("MSFT")
# 获取最近一个月的历史数据
hist = msft.history(period="1mo")
# 打印出来看看
print(hist)
场景2:获取多只股票数据
要是想同时看微软和苹果(AAPL)的数据,也有办法:
import yfinance as yf
# 一次性下载多只股票数据,这里是微软和苹果,时间设为1年
data = yf.download("MSFT AAPL", period="1y")
print(data)
场景3:查看股票基本信息
除了股价,还能看公司的基本情况,比如市值、市盈率这些:
import yfinance as yf
msft = yf.Ticker("MSFT")
# 获取公司信息
info = msft.info
# 打印市值和市盈率
print("市值:", info.get("marketCap"))
print("市盈率:", info.get("trailingPE"))
Tips:记不住参数没关系,用的时候看看官方文档,或者在代码里打个问号(比如msft.history?),很多IDE会显示提示哦!
三、核心功能解析:它到底能干嘛?
前面简单试了几个功能,现在咱们来好好说说yfinance到底有哪些厉害的本事,这可是它的"重头戏"!
获取历史市场数据
这是最常用的功能啦,可以拿到股票的开盘价、收盘价、最高价、最低价、成交量这些数据,还能自己选时间范围,比如1天、1个月、1年,甚至可以指定具体的开始和结束日期。
查看公司基本面数据
除了股价,像公司的财务报表(资产负债表、利润表、现金流量表)、主要股东、股息分红情况这些基本面信息,它也能帮你弄到。
实时数据获取
虽然不是像专业软件那样毫秒级更新,但对于普通分析来说,它提供的实时数据已经够用了,可以帮你看到股票当前的价格变动。
多市场支持
不光是美股,很多其他国家和地区的股市数据它也能获取,比如港股、A股(部分)等,不过不同市场的数据可能会有差异哦。
Tips:如果获取数据失败,先检查一下网络,有时候雅虎财经的服务器也会"闹脾气",过一会儿再试试可能就好了。
四、能自己调整吗?配置那些事儿
用别人的工具,总想着能不能按照自己的习惯改改设置。yfinance虽然没有专门的配置文件,但也能进行一些个性化调整。
默认配置对照表
| 配置项 | 默认情况 | 说明 |
|---|---|---|
| 缓存位置 | 本地目录 | 会把一些数据临时存在你电脑上,加快下次访问速度 |
| 超时时间 | 有默认时长 | 连接雅虎财经服务器的等待时间 |
| 数据频率 | 按请求参数定 | 比如你要1天的数据,它就返回每天的价格 |
怎么改配置?
虽然没有配置文件,但可以用代码来改。比如想改缓存数据的位置:
import yfinance as yf
# 把缓存位置改到"my_cache"文件夹
yf.set_tz_cache_location("my_cache")
配置常见问题
- 改了配置不生效? 可能是代码写的位置不对,要在获取数据之前改配置哦。
- 不知道有哪些配置可以改? 可以看看yfinance的官方文档,或者在Python里用help(yf)命令找找相关方法。
Tips:如果不是特别需要,建议先用默认配置,等熟悉了项目再慢慢调整,避免改出问题。
五、使用注意事项:这些坑要避开
用开源工具,有些注意事项得提前知道,免得走弯路。
API使用限制
yfinance是用雅虎财经公开的API来拿数据的,雅虎对这些API的使用有规定,比如不能商用,只能自己研究学习用。而且如果频繁大量请求数据,可能会被暂时禁止访问。
数据准确性
虽然yfinance尽力保证数据准确,但它毕竟不是雅虎官方的工具,有时候数据可能会有延迟或者错误。如果用这些数据做重要决策,最好多找几个来源核对一下。
项目更新维护
开源项目的更新全靠开发者和社区贡献,说不定哪天开发者没时间维护了,项目可能就不更新了。所以要关注一下项目的最新动态,看看有没有新版本发布,修复了哪些问题。
Tips:使用时如果发现bug或者有新需求,可以去项目的代码仓库看看有没有人提过类似问题,也可以尝试自己贡献代码哦!开源项目就是大家一起帮忙才会越来越好的。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin08
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00