ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

免费股票行情数据获取实战:用 easyquotation 从零搭建实时行情脚本

免费股票行情数据获取实战:用 easyquotation 从零搭建实时行情脚本 免费股票行情数据获取实战用 easyquotation 从零搭建实时行情脚本【免费下载链接】easyquotation实时获取免费股票行情支持新浪 / 腾讯(港股) / 集思录项目地址: https://gitcode.com/gh_mirrors/ea/easyquotation写量化策略时最头疼的往往不是策略本身而是数据从哪来。付费行情接口动辄几千一年免费接口又散落在各个网页里抓回来还要自己处理编码、解析字段、应对反爬。有没有一条更省事的路easyquotation 这个开源 Python 库就是干这个的它把新浪、腾讯、集思录的免费行情接口统一封装好一条命令安装几百毫秒就能拉回全市场行情本文带你从零跑通全流程。这节解决什么问题先搞清楚这个库能替你做掉哪些脏活easyquotation 的核心价值是封装。你不需要知道新浪接口的 URL 长什么样、返回的字符串怎么切分、五档盘口字段排在哪个位置这些它都处理好了你拿到手的直接就是结构化的 Python 字典。库内部默认支持三种数据通道新浪A股实时行情、腾讯港股实时行情与日K线、集思录指数ETF、可转债、QDII后两者会在文末扩展介绍。第一步安装并完成最小可用配置安装只需要一条命令依赖只有 requests非常轻量pip install easyquotation然后初始化行情对象这一行代码就完成了选择数据源的配置import easyquotation # 指定新浪接口返回一个行情操作对象 quotation easyquotation.use(sina)如果想从源码跑最新版也可以把仓库克隆到本地再安装git clone https://gitcode.com/gh_mirrors/ea/easyquotation。第二步用三段代码覆盖 90% 的行情需求2.1 全市场快照一次请求拿回所有股票调用market_snapshot()会基于库内置的全市场股票代码表发起批量请求返回一个字典键是带市场前缀的股票代码值是包含名称、现价、开高低收、五档买卖盘口、成交量的完整行情。实测网络正常时全程约 200~300 毫秒# prefixTrue 表示返回的字典键带 sh/sz/bj 前缀避免指数和股票代码混淆 market_data quotation.market_snapshot(prefixTrue) print(market_data[sh000001])2.2 定点查询只要某几只股票的数据如果只想看自选股用real()方法单只、多只都支持代码列表和带前缀的代码混着传也没问题# 单只传入字符串多只传入列表 single quotation.real(000001) # 平安银行 multi quotation.real([000001, 162411]) # 股票 基金 mixed quotation.real([sh000001, sz000001], prefixTrue) # 指数与股票同取这里有个细节值得注意sh000001是上证指数sz000001是平安银行两者代码数字相同所以同时取时必须把prefixTrue打开否则两个键会互相覆盖。2.3 更新股票代码表让新上市股票不漏掉库内置了一份全市场股票代码清单stock_codes.conf行情接口依赖它做批量请求。新股上市后这份清单会过期定期执行下面这行即可同步最新代码easyquotation.update_stock_codes()第三步理解背后的智能代码识别避免踩市场归属的坑你可能会问传000001时库怎么知道它是深市还是沪市答案在helpers.py的get_stock_type()里它内置了一套市场判断规则比如以 6、5、9、110 等开头归为沪市以 0、2、3 开头归为深市以 43、83、87 开头归为北交所如果代码本身带了sh/sz/bj前缀则直接采用前缀。所以你的输入可以永远是纯数字代码库会自动补全前缀去请求。顺带说明批量请求的机制新浪接口单次请求最多承载 800 只股票basequotation.py里的max_num 800超过的部分会被自动分组并用线程池并发发起多组请求这就是全市场快照也能毫秒级完成的原因。第四步扩展到腾讯与集思录把数据版图补齐除了新浪这个库还覆盖另外两类常见需求港股easyquotation.use(hkquote)拿港股实时行情easyquotation.use(daykline)拿腾讯港股前复权日K线代码直接传五位数字如00700即可。集思录easyquotation.use(jsl)可查询指数ETF含指数PE/PB、溢价率、可转债和QDII数据接口还支持按溢价率区间过滤方便做折溢价套利筛选部分接口对未登录用户有限制可通过quotation.set_cookie(...)传入浏览器 Cookie 解除。常见报错与解决办法NotImplementedErroruse()里传了不支持的来源名可用的只有sina、tencent/qq、jsl、boc、daykline、hkquote。返回空字典多半是网络环境访问不了hq.sinajs.cn或股票代码市场归属判断有误先用带前缀的代码如sz000001验证一遍。代码表太旧取不到新股运行easyquotation.update_stock_codes()后再重新初始化行情对象。下一步行动清单跑通market_snapshot()与real()两个核心方法确认返回字段结构。把update_stock_codes()加进定时任务每周执行一次。按需接入hkquote或jsl补齐港股与ETF数据。参考源码加深理解接口统一入口在 easyquotation/api.py基类批量请求逻辑在 easyquotation/basequotation.py新浪字段解析在 easyquotation/sina.py市场归属判断在 easyquotation/helpers.py完整用法可查阅 README.md。至此一条免费、毫秒级、免维护的行情数据链路就搭好了接下来你可以把market_data直接喂给策略回测或监控脚本剩下的交给行情本身。【免费下载链接】easyquotation实时获取免费股票行情支持新浪 / 腾讯(港股) / 集思录项目地址: https://gitcode.com/gh_mirrors/ea/easyquotation创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表