尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

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

用Python免费搞定A股行情与基金净值,pysnowball雪球API实战上手

用Python免费搞定A股行情与基金净值,pysnowball雪球API实战上手 用Python免费搞定A股行情与基金净值pysnowball雪球API实战上手【免费下载链接】pysnowball雪球股票数据接口 python edition项目地址: https://gitcode.com/gh_mirrors/py/pysnowball上周一个做基金定投的朋友跑来问我能不能写个脚本每天早上自动拉一遍自己持仓基金的净值跌破某个价位就提醒他我说可以但数据从哪来是个问题——付费接口太贵免费的又经常悄悄改版失效。后来我想起自己一直在用的 pysnowball它封装了雪球平台的股票与基金数据接口装上就能用从实时行情、K线盘口到财务报表、资金流向、基金净值几乎全覆盖。这篇文章就把我从零上手的过程完整讲一遍跟着走你也能在半小时内跑通自己的第一个金融数据脚本。 先弄明白pysnowball 到底约等于什么你可以把它理解成一个数据搬运工。它做的事很纯粹把你手工在雪球网页上点来点去才能看到的行情、财务、资金数据通过几十个现成的 Python 函数一次性取回来返回标准的 JSON 字典直接就能扔给 Pandas 处理。它有几个让我很舒服的特点接口统一所有函数都长一个样传股票代码进去拿 dict 出来没有乱七八糟的登录流程覆盖全面实时行情、K线、盘口、财务报表、机构评级、资金流向、融资融券、基金数据一应俱全体积小依赖少核心依赖只有 requests 和 beautifulsoup4装起来不折腾部分接口免 token比如最常用的实时报价quotec连 token 都不用配就能用️ 开工准备装库 拿到你的雪球 token安装只有一行命令pip install pysnowball接下来是唯一有点门槛的环节配置 token。为什么需要它因为雪球的部分数据接口要求携带登录凭证pysnowball 把凭证直接塞进请求头里替你省了所有麻烦。token 怎么拿登录雪球网页版打开浏览器开发者工具F12在网络面板里随便点开一个请求找到请求头 Cookie 中的xq_a_token和u两个值拼成下面这个格式就行import pysnowball as ball # 把下面引号里的内容换成你自己的 token ball.set_token(xq_a_token你的token值;u你的用户id)这里有个很贴心的设计set_token其实是把 token 写进环境变量XUEQIUTOKEN所以你也可以直接在命令行里export XUEQIUTOKEN...再运行程序脚本里就不必写死凭证了更安全。⚡ 跑通第一个功能一句代码拿实时行情环境配好先来点有成就感的。获取某只股票的最新报价就一行import pysnowball as ball # quotec 支持一次传多个代码用逗号隔开 data ball.quotec(SZ002027,SZ000001) print(data[data][0])返回的字典里current是最新价percent是涨跌幅volume是成交量amount是成交额timestamp是行情时间戳。你甚至不用配 token 就能跑通这一段非常适合用来验证环境是否装好。想看得更细用quote_detail它连市盈率、市净率、总市值、换手率、涨跌停价这些深度的字段都给你# quote_detail 需要 token detail ball.quote_detail(SH600104) quote detail[data][quote] print(quote[name], quote[current], PE:, quote[pe_ttm], PB:, quote[pb])️ 逛一逛数据超市财务、资金、评级都有货跑通第一个接口后你会忍不住想看看这个库到底能取多少东西。我把仓库源码翻了一遍大致可以分成这么几类财务数据finance.pyincome利润表、balance资产负债表、cash_flow现金流量表、indicator业绩指标、business主营业务构成都支持按年报或季度筛选资金数据capital.pycapital_flow当日资金流向、capital_history历史资金流向、capital_assort资金成交分布、blocktrans大宗交易、margin融资融券评级与预告report.pyreport机构评级、earningforecast业绩预告股东与高管f10.pytop_holders十大股东、holders股东持股、bonus分红送转等基金数据fund.pyfund_info基本信息、fund_nav_history净值历史、fund_growth业绩表现等其他pankou实时盘口、klineK线、指数与债券、港股通持股等每个模块都是一两行就能调参数命名也很直白。比如财务接口都带is_annals只取年报和count返回条数两个可选参数记忆成本很低。 实战环节30分钟搭一个基金净值监控小工具光看接口不过瘾回到开头那个需求——做一个能批量查看基金信息的脚本。基金接口走的是蛋卷基金的数据源好消息是不需要雪球 token。先看怎么拿一只基金的基本情况import pysnowball as ball # 008975 是华泰柏瑞的一只基金也是项目测试用例用的代码 info ball.fund_info(008975) print(info[data][fd_name]) # 基金名称 print(info[data][fund_derived]) # 净值、涨跌幅等衍生数据再拉它的净值历史注意fund_nav_history是分页的page和size控制每页条数history ball.fund_nav_history(008975, page1, size30) items history[data][items] # 每一期净值的列表 print(len(items), 条净值记录)把两者组合起来就能写一个真正能用的监控小函数了。下面这段代码解决的是批量检查多只基金的当日净值变化这个具体问题import pysnowball as ball def check_funds(fund_codes): 批量打印基金最新净值与涨跌情况 for code in fund_codes: try: info ball.fund_info(code) # 基本信息 nav info[data][fund_derived] # 净值数据 name info[data][fd_name] # 基金名称 # get() 取不到字段时返回 None避免程序崩溃 print(f{name}({code}) 净值:{nav.get(unit_nav)} f日涨跌:{nav.get(nav_grtd)}%) except Exception as e: print(f{code} 获取失败: {e}) check_funds([008975, 110022])跑起来你的终端里就会滚动出每只基金的最新净值和当日涨跌。往深了做你完全可以把这些数据存进 SQLite、定时抓取、跌破阈值就发提醒——数据底座已经齐了。️ 踩坑复盘新手最容易撞上的三个报错我一开始也摔过几跤把最常见的坑提前告诉你省得走弯路。报错一未设置TOKEN原因很直白你调用了需要凭证的接口比如quote_detail、cash_flow但没调set_token。解决办法就是先执行ball.set_token(...)或者提前设好XUEQIUTOKEN环境变量。报错二token 过期返回的不是 JSON雪球的 token 有效期不是永久的过期后请求会返回错误页面而不是数据。这时重新登录网页版再取一遍 Cookie 里的xq_a_token和u更新即可。这也是为什么建议把 token 配置集中在一个配置文件里方便统一替换。报错三时间戳看不懂接口返回的时间戳是毫秒级的 Unix 时间戳直接打印会得到一长串数字看着像乱码。处理办法是除以 1000 再转换from datetime import datetime ts 1541486940000 # 接口返回的原始时间戳 print(datetime.fromtimestamp(ts / 1000)) # 转成正常日期时间 还能往哪走进阶方向与文档地图如果你不满足于能调通这个项目还留了不少可以深挖的空间K线与技术指标kline支持日、周、月以及 1/30/60 分钟多种周期参数period和count控制周期与数量配合 Pandas 的 rolling 函数均线、波动率都能自己算实时盘口pankou返回十档买卖盘口数据做短线盯盘脚本很合适读文档项目根目录的README.md对每个接口都有示例和返回结果APIs/目录下还有基金净值、K线等接口的更详细说明遇到拿不准的字段就去翻一翻比猜字段名快得多自己加接口核心请求逻辑都在utls.py里想扩展新接口照着realtime.py或fund.py的模式加一个函数即可门槛不高✅ 最后说两句pysnowball 适合谁我觉得有三类人最该试试想拿真实行情做量化研究的开发者、需要批量管理基金持仓的投资者、以及所有想用 Python 处理金融数据但不想折腾爬虫的普通玩家。它把最麻烦的请求封装、字段解析都做完了你要做的只是写业务逻辑。如果你的目标和我那位朋友一样只是想要一个稳定的免费数据源那就别再犹豫了。把项目克隆下来装上依赖配置好 token然后从ball.quotec(SH000001)这一行开始你的金融数据分析之旅git clone https://gitcode.com/gh_mirrors/py/pysnowball cd pysnowball pip install -r requirements.txt数据不会自己跑到你面前但 pysnowball 已经把路修到了门口剩下的就看你打算用它造出什么了。【免费下载链接】pysnowball雪球股票数据接口 python edition项目地址: https://gitcode.com/gh_mirrors/py/pysnowball创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表