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

资讯详情

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

10分钟上手pysnowball:用Python免费搭建A股行情与基金数据管道

10分钟上手pysnowball:用Python免费搭建A股行情与基金数据管道 10分钟上手pysnowball用Python免费搭建A股行情与基金数据管道【免费下载链接】pysnowball雪球股票数据接口 python edition项目地址: https://gitcode.com/gh_mirrors/py/pysnowball做Python金融数据分析最耗时间的往往不是写模型而是找数据。pysnowball这个开源库把雪球平台的行情、财务、基金、资金流向等接口封装成几十个函数一条命令装好几行代码就能拿到A股实时行情和基金净值数据而且完全免费尤其适合新手快速验证想法。装好就跑60秒拿到第一份A股行情先别急着谈架构我们把第一步压缩到60秒。第1步安装pip install pysnowball第2步准备tokentoken可以理解为雪球发给你的通行证——它来自登录雪球网页版后浏览器开发者工具里Cookie中的xq_a_token。拿到后调用set_token完成初始化import pysnowball as ball ball.set_token(xq_a_token你的token;u你的用户id)小提示基础行情接口quotec不需要token就能访问适合用来先验证网络与环境是否就绪data ball.quotec(SZ002027) print(data[data][0][current]) # 最新价如果这一步输出了价格恭喜你的第一条金融数据管道已经通了。后续需要鉴权的接口则统一通过set_token设置、用get_token从环境变量读取token的生命周期和业务代码互不干扰。两条高频数据管道行情快照与基金体检日常分析里用得最多的是两条管道股票的实时行情和基金的净值业绩。它们恰好覆盖了A股与场外基金这两大最常见的分析对象也正好是realtime与fund两个模块的主场。管道一股票的体检报告想知道一只股票当下什么价位、估值贵不贵quote_detail一次调用就能拿到几十个字段现价、涨跌幅、换手率、市盈率、市净率、总市值……detail ball.quote_detail(SH600104) quote detail[data][quote] print(quote[name], quote[current], quote[percent]) print(PE_TTM:, quote[pe_ttm], PB:, quote[pb])要回看历史走势用kline拿K线周期支持日、周、月以及60分、30分、1分钟klines ball.kline(SH600519, periodday, count30)返回的item数组里时间戳、开高低收、成交量一应俱全正好喂给后面的Pandas分析。如果还想看盘口或资金流向pankou、capital_flow、capital_history也已经备好。管道二基金的体检报告基金投资者的痛点在于信息分散净值在APP里持仓要翻季报经理变动靠搜索。pysnowball把fund_info、fund_nav_history、fund_detail、fund_manager等接口集中在一起一次fund_info就能把净值、日涨跌、近1月/3月/1年收益全部拉出来info ball.fund_info(008975) derived info[data][fund_derived] print(info[data][fd_name], derived[unit_nav]) print(近1月:, derived[nav_grl1m], 近1年:, derived[nav_grl1y])而fund_nav_history提供分页的历史净值fund_detail里则有资产配置与重仓股列表配合fund_asset和fund_manager足够支撑一个基础的基金监控面板。先避开三个坑再谈性能优化工具顺手但用不好依然会翻车。下面三个坑新人几乎必踩。坑一把token写死在代码里token会过期写死在脚本里意味着过期后要全文搜索去替换。更稳的做法是放进环境变量用get_token读取把token的生命周期和代码彻底解耦。坑二循环里裸奔请求批量拉几十只股票时很多人直接for循环狂发请求很快触发服务端频率限制表现为偶发超时或异常。解法是限流——把请求想象成排队买奶茶一次只放几个人进去队伍才不乱。坑三把缺字段当成数据坏了接口返回的字段并非永远齐全停牌股没有成交数据次新股可能没有市盈率。None不等于报错先判断字段存在与否再取值程序会健壮得多。进阶一步给数据管道装上冰箱和红绿灯想从能跑走向能持续跑两个小机制必不可少缓存与重试限流。缓存把24小时内的数据留在本地行情数据变化快但基金净值一天只更新一次完全没必要反复请求。用一个本地文件缓存24小时内直接读缓存既快又省import json, os, time def cached_fetch(key, ttl86400, fetch): path fcache/{key}.json if os.path.exists(path) and time.time() - os.path.getmtime(path) ttl: return json.load(open(path)) data fetch() os.makedirs(cache, exist_okTrue) json.dump(data, open(path, w)) return data用法很简单cached_fetch(fund_008975, fetchlambda: ball.fund_info(008975))第二次调用就会命中本地缓存。重试与限流像排队一样优雅给请求包一层重试退避逻辑失败后等待几秒再试再用令牌桶思想控制每分钟请求数避免触发服务端限制import time def retry(func, tries3, delay1): for i in range(tries): try: return func() except Exception as e: if i tries - 1: raise time.sleep(delay)这两段代码加起来不到30行却能让你的数据管道从demo升级为可持续运行的服务。数据到手之后Pandas、SQLite、图表一条龙获取只是起点。pysnowball返回的结构化JSON几乎可以无缝对接Python生态Pandas把kline的item按列名组装成DataFrame就能算均线、算波动率、做回测SQLite建一张stock_quotes表每次抓取INSERT OR REPLACE长期积累成自己的历史库图表DataFrame交给Matplotlib或pyecharts净值走势图、收益分布图几分钟就能画出来。组合起来就是一条完整的数据管道获取 → 清洗 → 存储 → 分析 → 可视化。这正是pysnowball真正的价值——它帮你省掉了最难的那一环剩下的由你发挥。为什么选它以及它还能陪你走多远一句话概括它的优点数据覆盖面广、上手成本低、零费用。从实时行情、K线、资金流向到三大财务报表、基金净值、指数、债券与港股通数据都在它的模块清单里realtime、finance、fund、capital、index、hkex、bond、f10……。开源项目的好处是你能看到全貌数据怎么抓、字段怎么解析都在源码里摊开出了问题可以自己排查。项目维护了微信交流群遇到使用问题或想提新需求都能找到同路人随着社区持续迭代未来也有望整合更多数据源、加入内置的分析指标把数据获取进一步推向数据洞察。从第一行代码开始 不必等学完所有接口再动手。克隆项目仓库、装上依赖、把token填进去先跑通quotec再跑fund_info你的第一个金融数据小工具已经在路上了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),仅供参考
返回列表