ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

实时股票行情怎么拿免费数据?easyquotation 快速上手实战指南

实时股票行情怎么拿免费数据?easyquotation 快速上手实战指南 实时股票行情怎么拿免费数据easyquotation 快速上手实战指南【免费下载链接】easyquotation实时获取免费股票行情支持新浪 / 腾讯(港股) / 集思录项目地址: https://gitcode.com/gh_mirrors/ea/easyquotation做量化分析的朋友大多经历过这样的尴尬想验证一个策略想法第一件事就是找行情数据结果要么是商业数据源价格劝退要么是自己写爬虫折腾两天最后发现接口已经变了。如果你也卡在这一步easyquotation 这个开源库值得花五分钟了解一下——它专门解决免费、快速、稳定地获取实时股票行情这件事一条命令安装两行代码出数据。先看它解决了什么问题easyquotation 是一个 Python 行情获取库核心定位是实时获取免费股票行情目前覆盖新浪A股全市场、腾讯港股实时与日K线、集思录ETF、可转债、QDII以及中行汇率等数据源。它把拼接请求地址、处理返回文本、解析字段、处理超时重试这些脏活全部封装好你只需要关心业务逻辑。为什么值得用而不是自己写三个原因第一它内置了 A 股股票代码库自动判断每只股票属于上海、深圳还是北交所免去你维护代码前缀的麻烦第二抓取用了多线程全市场行情一次拉取大约只需要 200 多毫秒第三数据源统一成字典结构字段名规范清晰换数据源不需要改业务代码。环境准备与安装一行命令搞定运行环境要求很简单Python 3.6 以上需要能访问外网因为数据来自新浪财经、腾讯财经的公开接口。项目依赖 requests 库安装 easyquotation 时会自动带上。pip install easyquotation安装完成后可以顺手验证一下版本python -c import easyquotation; print(easyquotation.__version__)如果能看到版本号输出说明环境就绪可以进入下一步了。最小可用示例十秒钟看到第一份行情先别急着看复杂功能我们用最短的代码跑通一个完整流程获取平安银行深市 000001的实时行情。import easyquotation # 第一步选择数据源sina 表示新浪行情 quotation easyquotation.use(sina) # 第二步获取单只股票实时行情 data quotation.real(000001) print(data)运行后你会看到类似这样的输出{ 000001: { name: 平安银行, open: 11.20, close: 11.15, # 昨日收盘价 now: 11.28, # 当前价格 high: 11.35, low: 11.18, buy: 11.27, sell: 11.28, volume: 185774656.0, # 成交金额 date: 2026-08-18, time: 13:25:00 } }到这里你已经完成了实时股票行情的首次获取。几个关键点先记住use(sina)创建行情对象real()负责按代码查询返回的是以股票代码为键的字典。第一次跑通后我们再深入看看这个库的完整能力。核心能力逐点击破一次拿全市场market_snapshot 全市场快照如果你要做全市场扫描比如筛选异动股票、统计涨跌家数用real()一只只查显然不现实。这时用market_snapshot()方法quotation easyquotation.use(sina) snapshot quotation.market_snapshot(prefixTrue)返回结果是一个大字典键是带市场前缀的股票代码如sh600519、sz000001值就是上面那种完整行情数据。注意这里的prefixTrue参数——它决定返回的键是否带sh/sz/bj前缀。不带前缀时000001这样的键无法区分上证指数还是平安银行所以当你同时关注指数和股票时务必把prefix设为True。这个方法的底层逻辑在easyquotation/basequotation.py里内置代码库会被分批每批最多 800 只交给线程池并行请求这也是全市场拉取能这么快的原因。精准取数real 的单只与批量查询大多数场景下你只需要盯住自选股real()的灵活性就在这里体现# 单只股票自动识别市场 quotation.real(600519) # 贵州茅台自动识别为沪市 # 多只股票混合市场 quotation.real([000001, 600519, 162411]) # 同时获取指数和股票同名代码必须开 prefix quotation.real([sh000001, sz000001], prefixTrue)这里有个贴心设计代码识别是自动的。你写裸代码600519库会通过内置规则easyquotation/helpers.py中的get_stock_type判断它是沪市、深市还是北交所也可以直接写带前缀的代码如sh600519它就直接按前缀走不再猜测。需要注意北交所代码以 43、83、87、92 开头会被识别为bj市场如果你拿到的是6开头的沪市基金或5开头的沪市ETF也都能正确归入sh。行情字段怎么看一个字典里的完整盘口新浪返回的行情字典里除了名称、开高低收、现价、成交量这些基础字段还包含完整的五档买卖盘口bid1到bid5买一到买五价格、ask1到ask5卖一到卖五价格以及对应的挂单量bid1_volume、ask1_volume等。如果你做盘口分析或者盯盘预警这些字段直接拿来用就行解析工作库已经替你完成了。字段解析的具体逻辑在easyquotation/sina.py的format_response_data中用正则从接口返回文本里提取 33 个字段。想了解每个字段含义直接对照README.md里的返回示例最直观。不只是A股港股与可转债数据源easyquotation 的价值在于数据源可切换。想拿港股实时行情换一个数据源即可hk easyquotation.use(hkquote) print(hk.real([00700, 00001])) # 腾讯控股、长和想要港股日 K 线数据用daykline数据源返回按日期排列的开高低收和成交量列表画 K 线图的数据基础就有了quotation easyquotation.use(daykline) data quotation.real([00700])关注可转债和 ETF 套利jsl数据源对接集思录可以查指数 ETF、QDII 和可转债数据还支持按溢价率、成交量过滤——这个能力在后续实战里会用到。注意集思录部分接口可能需要设置 Cookie 才能拿到完整数据quotation easyquotation.use(jsl) quotation.set_cookie(从浏览器复制的集思录Cookie)综合实战做一个 60 秒轮询的涨跌监控小工具把上面的知识串起来我们写一个完整的迷你项目监控自选股每分钟刷新一次当涨幅超过设定阈值时打印提醒。这个工具可以用来验证核心能力部分的所有知识点。import time import easyquotation # 自选股A股 港股混合 watchlist [600519, 000001, 162411] THRESHOLD 2.0 # 涨幅阈值% def monitor(): quotation easyquotation.use(sina) hk easyquotation.use(hkquote) while True: # 拉取A股行情 a_data quotation.real(watchlist, prefixTrue) for code, info in a_data.items(): # 涨跌幅 (现价 - 昨收) / 昨收 * 100 pct (info[now] - info[close]) / info[close] * 100 if pct THRESHOLD: print(f[提醒] {info[name]}({code}) 涨幅 {pct:.2f}%) # 拉取港股行情 hk_data hk.real([00700]) for code, info in hk_data.items(): print(f[港股] {info[name]} 现价 {info[price]}) print(--- 本轮刷新完成 ---) time.sleep(60) if __name__ __main__: monitor()这个小工具有几个值得留意的设计A股和港股用各自的数据源对象互不干扰A股查询开启了prefixTrue避免000001这类代码产生歧义涨跌幅用(now - close) / close手算因为新浪接口不直接返回涨跌幅字段。把它跑起来你就拥有了一个实时盯盘的小助手。避坑指南常见问题排查清单实战中你可能会遇到下面这些坑提前列出来省得踩报NotImplementedErroruse()传入的数据源名写错了。合法值是sina、jsl、qq/tencent、boc、daykline、hkquote注意拼写。返回空字典网络不通或者代码格式不对。先确认代码是字符串库内部对代码类型有断言非字符串会直接报错再确认能访问外网。指数和股票数据混在一起000001既是上证指数也是平安银行。同时取两者时prefix必须为True否则键冲突会丢数据。集思录数据不全部分接口需要登录态从浏览器复制 Cookie 后调用set_cookie()再查询。长时间运行被限制免费接口有访问频率限制轮询间隔别太短60 秒以上比较稳妥正式应用建议做本地缓存。进阶扩展还能往哪走性能优化方面如果你只需要自选股别用market_snapshot()拉全市场一次real()请求带上几十只股票就够了代码库会按市场批量切分请求本身是并行的你不需要自己再开线程。新股票不断上市内置代码库可能滞后记得定期更新import easyquotation easyquotation.update_stock_codes()update_stock_codes()会从远端拉取最新的全市场代码表并写回本地配置文件easyquotation/stock_codes.conf保证全市场扫描不漏新股。get_stock_codes(realtimeTrue)则可以在不落盘的情况下直接获取最新代码列表。想深入研究的开发者建议按这个顺序读源码easyquotation/basequotation.py基类与多线程抓取框架→easyquotation/sina.py新浪字段解析→easyquotation/tencent.py腾讯字段解析返回字段更丰富含市值、PE、PB 等→easyquotation/jsl.py集思录数据过滤逻辑。腾讯数据源的字段比新浪多不少如果你想拿估值类数据tencent是更好的选择。扩展方向也很多把行情数据接进你的回测框架做实时策略用daykline数据源攒历史 K 线画图用boc数据源监控美元汇率走势——这些都能基于现有代码快速搭起来。写在最后回顾一下今天的内容easyquotation 用一条命令解决了免费实时股票行情怎么拿的难题use()选数据源、real()查自选、market_snapshot()扫全市场、update_stock_codes()保新鲜五分钟内就能从零跑通一个能用的监控工具。免费的公开接口是宝贵资源趁它还稳定动手跑一遍上面的代码把数据握在自己手里后面的分析才有得玩。【免费下载链接】easyquotation实时获取免费股票行情支持新浪 / 腾讯(港股) / 集思录项目地址: https://gitcode.com/gh_mirrors/ea/easyquotation创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表