efinance
配套媒体
本页对应的 PPT 与演示视频
下载没反应?点这里复制直链
侧边栏预览窗口(Electron webview)会拦截下载,把下面的链接复制到 Chrome / Edge 地址栏打开即可保存。
../../efinance-recommend.mp4本文目录
📌 核心价值:一行 pip 安装,免费拉取 A 股 / 基金 / 期货全市场行情,无需注册、无需 Token、开箱即用。
做量化、写策略、搞复盘,第一步永远是“拿数据”。efinance 让你用最朴素的 Python 代码,直接把东方财富的真实行情搬回本地 DataFrame。

🚀 什么是 efinance?
efinance 是一个由个人开发者 Micro-sheep 维护的免费开源 Python 库(MIT 协议,约 4000 Star),底层数据源为东方财富。它把“获取股票、基金、债券、期货数据”这件原本需要对接多个接口、申请各种 Token 的麻烦事,压缩成了统一、简洁的 ef.xxx.get_xxx() 调用。
它的定位非常清晰:回测与量化交易的好帮手。无论你是想做股票分析、基金研究,还是搭建自己的量化交易系统,efinance 都能帮你把第一步——数据获取——以最低成本跑通。
项目地址:Micro-sheep/efinance 官方文档:efinance.readthedocs.io
✨ 核心功能一览
efinance 覆盖四大类金融数据,调用风格高度一致,几乎“换模块名就能换数据源”:

- 股票:A 股 / 港股 / 美股历史 K 线、分钟级 K 线、沪深实时行情、龙虎榜、主力资金流向
- 基金:历史净值、公开持仓、多只基金基础信息
- 债券:可转债实时行情、单只可转债 K 线
- 期货:四大交易所合约基础信息、期货历史行情
- ETF:通过股票模块直接拉取(如中概互联网 ETF 513050)
亮点:返回结果全部是 Pandas DataFrame,拿到手就能直接用 Pandas / NumPy 做分析和回测,没有中间转换成本。
🛠️ 快速上手:5 分钟跑通示例
安装
pip install efinance
# 升级到最新版
pip install efinance --upgrade
零配置、零注册。装完即可用,这是它对比很多“先注册再积分”的数据接口最大的体验优势。
核心代码示例
1)单只股票历史日 K 线(以贵州茅台为例)
import efinance as ef
# 股票代码
stock_code = '600519'
df = ef.stock.get_quote_history(stock_code)
print(df.head())
返回包含开盘、收盘、最高、最低、成交量、成交额、振幅、涨跌幅、换手率等 13 个字段的 DataFrame,上市以来的全部日 K 线一次到位。
2)多只股票批量获取
# 同时拉取茅台与宁德时代
data = ef.stock.get_quote_history(['600519', '300750'])
print(data['600519'].shape, data['300750'].shape)
3)沪深全市场实时快照
# 一次拿回全 A 实时行情(4600+ 只)
all_stocks = ef.stock.get_realtime_quotes()
print(all_stocks.head())
4)基金净值与持仓
import efinance as ef
# 招商中证白酒指数历史净值
nav = ef.fund.get_quote_history('161725')
print(nav.head())
# 最新公开持仓
positions = ef.fund.get_invest_position('161725')
print(positions.head())
注意:efinance 官方声明仅供学习交流使用,不得用于商业用途;调用时建议设置合理请求间隔,避免频繁请求。
💡 适用场景(真实数据演示)
efinance 返回的就是真实行情,下面两张图是实际拉取后由 matplotlib 渲染的可视化结果。
场景一:A 股历史 K 线分析

功能说明:ef.stock.get_quote_history('600519') 直接返回茅台自上市以来的全部日 K 数据。
输入要求:股票代码(支持 A 股代码、美股代码如 AAPL、甚至中文名称如 微软)。
输出效果:标准化 DataFrame,可直接接入均线、MACD 等指标计算。
适用场景:个股复盘、技术指标验证、历史回测数据准备。
场景二:基金净值跟踪

功能说明:ef.fund.get_quote_history('161725') 拉取基金历史单位净值与累计净值。
输入要求:场内 / 场外基金代码。
输出效果:净值时间序列,便于做定投收益测算、回撤分析。
适用场景:基金定投复盘、组合净值归因。
📊 与 tushare / akshare 对比
很多人会问:免费数据接口这么多,为什么选 efinance?

efinance 的核心差异点:完全开箱即用,不依赖任何 Token。 相比之下,tushare 需要注册并积累积分才能解锁高频接口;akshare 虽也免费,但 efinance 的 API 风格更统一、返回更规范,对个人量化入门尤其友好。
三者并非互斥——很多实战方案是 akshare 做多源聚合、tushare 做深度因子、efinance 做轻量快速验证。efinance 胜在“随手就能跑”。
🔧 核心 API 速查
一张表记住最常用的调用方式:

进阶能力还包括:龙虎榜 ef.stock.get_daily_billboard()、主力资金流向 ef.stock.get_history_bill('300750')、上市公司季度财务 ef.stock.get_all_company_performance()、前十大股东 ef.stock.get_top10_stock_holder_info('600519')。
💡 实战工作流
配合 Pandas 与 matplotlib,efinance 能快速搭起一条个人量化流水线:

典型链路:efinance 取数 → Pandas 清洗与指标计算 → matplotlib / plotly 可视化 → 本地回测。

很多教程还会把它接入实时监控脚本:定时拉取自选股实时行情,触发异动提醒,全程无需商业数据订阅。**
💰 定价方案
- 价格:完全免费、开源(MIT 协议)
- Token / 注册:不需要,pip 安装即用
- 限制:官方声明仅供学习交流,不得商用;高频请求需自行做限流与缓存
💡 新用户福利:零成本起步——只要本地有 Python 环境,一条 pip install efinance 就能把 A 股 / 基金 / 期货数据接到你的笔记本上。
🎯 总结
efinance 不是功能最全的金融数据终端,但它是入门门槛最低、上手最快的那一个。当你只想快速验证一个想法、拉一段历史数据做回测、或者给学生演示“量化第一步怎么走”时,它的价值尤为突出。
推荐指数: ⭐⭐⭐⭐☆(满分 5 星,扣一星因数据源单一依赖东方财富、高频场景需自行限流)
适合人群: 个人量化爱好者、Python 数据分析新手、高校金融实验课、轻量策略验证
立即体验: efinance GitHub
数据截至 2026-09-01,最新信息请以官网为准。