一文读懂量化数据efinance

该文章已生成可运行项目,

简介

  • efinance 是一个用于获取股票、基金、期货、债券数据的免费开源 Python 库。从源代码可以看出,其主要基于东方财富网的api获取数据。虽然本身并没有提供数据服务,但其提供的功能已经比较多了,包括同时支持多股票请求,支持日k、周k、月k、60分钟、30分钟、15分钟、5分钟、1分钟k线数据等。

使用pip安装或更新:

pip install efinance

更新

pip install efinance --upgrade

安装后在命令行运行python -c "import efinance as ef” ,不报错则表明安装成功。

常见用法

使用前需要"import efinance as ef” 导入efinance库才能正常使用该库的各种功能

获取股票数据

  1. 获取A股历史日 K 线数据。支持同时获取多股票数据,支持日k、周k、月k、60分钟、30分钟、15分钟、5分钟、1分钟k线数据等

ef.stock.get_quote_history(stock_codes=['600519','300750'], beg='20220901', end='20221015', klt=60)
  1. 获取港美股的股票 K 线数据(支持输入股票名称以及代码)

ef.stock.get_quote_history('AAPL')
ef.stock.get_quote_history('微软')
ef.stock.get_quote_history('腾讯')
  1. 获取 ETF K 线数据,以中概互联网 ETF 为例说明

ef.stock.get_quote_history('513050')
  1. 沪深市场 A 股最新状况

ef.stock.get_realtime_quotes()
  1. 股票龙虎榜

ef.stock.get_daily_billboard()
  1. 沪深 A 股股票季度表现。默认为最新季度,也可以指定季度

ef.stock.get_all_company_performance()
  1. 股票历史单子流入数据(日级)

>>> import efinance as ef
>>> ef.stock.get_history_bill('300750')
  1. 股票最新一个交易日单子流入数据(分钟级)

>>> import efinance as ef
>>> ef.stock.get_today_bill('300750')

获取期货数据

  • 获取交易所期货基本信息: ef.futures.get_futures_base_info()

  • 获取期货历史行情: ef.futures.get_quote_history('115.ZCM')

获取基金数据

  • 获取基金历史净值信息: ef.fund.get_quote_history('161725')

  • 获取基金公开持仓信息: ef.fund.get_invest_position('161725')

  • 同时获取多只基金基本信息: ef.fund.get_base_info(['161725','005827'])

获取可转债数据

  • 获取可转债整体行情:ef.bond.get_realtime_quotes()

  • 获取全部可转债信息:ef.bond.get_all_base_info()

  • 获取指定可转债 K 线数据:ef.bond.get_quote_history('128053')

结论

efinance是一个用于获取股票、基金、期货、债券数据的免费开源的 Python 库, 其功能非常强大:

  • 支持股票数据获取。可以同时获取多股票数据,支持日k、周k、月k、60分钟、30分钟、15分钟、5分钟、1分钟k线数据等; 支持获取港美股的股票 K 线数据(支持输入股票名称以及代码);支持获取 ETF K 线数据;支持获取沪深市场 A 股最新状况等

  • 支持期货数据获取。 可以获取交易所期货基本信息和期货历史行情

  • 支持获取基金数据。可以获取基金历史净值信息,基金公开持仓信息等

  • 支持获取可转债数据。可以获取可转债整体行情,可转债 K 线数据等

当然,我们也可以根据自己需要对efinance进行改造,增加更多有用的功能。

交流

关注微信公众号:诸葛说talk,获取更多相关内容。同时还能获取邀请加入量化投资研讨群, 与众多从业者、技术大牛一起交流、切磋,名额有限,不要错过。

写文章不易,觉得本文对你有帮助的话,帮忙点赞转发赞赏,让笔者有坚持写好文章的动力。

参考

本文章已经生成可运行项目
`efinance` 库目前主要支持的行情数据粒度最小为 **1 分钟 K 线(klt=1)**,并不直接提供 **3 秒级交易数据(Tick 数据)**。如果你需要获取更细粒度的数据(如 3 秒成交明细),通常需要使用专业的金融数据平台或券商 API,例如: - **Tushare Pro** - **聚宽(JoinQuant)** - **掘金量化(MyQuant)** - **通达信金融终端** - **东方财富 Level-2 行情** --- ### 使用 `efinance` 获取最接近 3 秒数据的方式 虽然无法获取真正的 3 秒数据,但可以尝试获取 **1 分钟 K 线** 来近似分析短期波动: ```python import efinance as ef # 获取股票代码为 600519 的 1 分钟 K 线数据(即分时数据) df = ef.stock.get_quote_history('600519', klt=1) print(df.tail()) ``` 输出字段包括: - `c`: 收盘价 - `o`: 开盘价 - `h`: 最高价 - `l`: 最低价 - `v`: 成交量 - `amount`: 成交额 - `t`: 时间戳 --- ### 如何获取真正的 3 秒交易数据? 你可以考虑以下方式: #### ✅ 推荐方案: ```python # 示例:使用 Tushare 获取逐笔成交数据(Tick 数据) import tushare as ts pro = ts.pro_api('你的token') df = pro.tick(ts_code='600519.SH', trade_date='20241008') print(df.head()) ``` --- ### 总结 | 方式 | 是否支持 3 秒数据 | 是否免费 | 备注 | |------|------------------|----------|------| | `efinance` | ❌ 不支持 | ✅ 免费 | 只支持 1 分钟以上 K 线 | | `Tushare` | ✅ 支持 | ⚠️ 部分付费 | 需申请高级权限 | | `聚宽 JoinQuant` | ✅ 支持 | ⚠️ 部分付费 | 需在策略环境中调用 | | `掘金量化 MyQuant` | ✅ 支持 | ⚠️ 部分付费 | 提供实时行情推送 | ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值