控小工具)
3步上手pysnowball用Python快速搭建A股行情監(jiān)控小工具【免費下載鏈接】pysnowball雪球股票數(shù)據(jù)接口 python edition項目地址: https://gitcode.com/gh_mirrors/py/pysnowball小林是個剛入門的量化愛好者每天收盤后都要手動打開雪球網(wǎng)頁把自選股的現(xiàn)價、漲跌幅一個個抄進表格。上周他盯的股票尾盤突然拉升等他刷新頁面時行情已經回落氣得直拍大腿要是能有個程序替我盯著該多好。他搜遍了網(wǎng)上教程發(fā)現(xiàn)要么讓你從零去啃網(wǎng)頁接口要么就得掏錢買商業(yè)數(shù)據(jù)服務。直到他遇到了 pysnowball——一個把雪球股票數(shù)據(jù)接口封裝成幾十行Python調用的開源工具包讓自動盯盤、自動匯總、自動提醒這件事變得像查字典一樣簡單。一句話說清pysnowball 是什么pysnowball 是雪球數(shù)據(jù)的 Python 封裝庫安裝后只需import pysnowball as ball就能調用實時行情、K線、財務三大報表、資金流向、基金凈值、融資融券等十余類數(shù)據(jù)接口。它替你處理了網(wǎng)絡請求、請求頭、Cookie 等瑣碎細節(jié)你唯一要做的就是喂給它一個 token然后像調用本地函數(shù)一樣把數(shù)據(jù)拿回來。為什么不用網(wǎng)頁爬蟲也要選它第一它省掉了最臟最累的活。自己寫爬蟲你得分析接口參數(shù)、模擬登錄、處理 Cookie 過期、應對反爬策略光調試請求頭就能耗掉一個周末。pysnowball 把這些全部封裝在[utls.py](https://link.gitcode.com/i/826a7218a79c6c93d63aecafff61437e)里你看到的只是干凈的函數(shù)簽名。第二覆蓋面遠超行情兩個字。你以為它只能查股價翻一翻[fund.py](https://link.gitcode.com/i/332d9dd2105d5dfbbefabc5728267431)和[finance.py](https://link.gitcode.com/i/308a21b5f067241767857c96afb414f2)基金凈值歷史、基金經理、資產配置、利潤表、資產負債表、現(xiàn)金流、機構評級、大宗交易……從盤中分筆到年度財報一個包全部搞定。第三返回值是現(xiàn)成的 JSON。每個接口都返回結構化的字典配合json或pandas直接就能二次加工不需要你手寫解析器對新手極度友好??焖偕鲜秩昼娕芡ǖ谝粋€接口第一步安裝pip install pysnowball沒有任何額外依賴配置裝完即可 import。第二步配置訪問令牌雪球接口需要 Cookie 鑒權。登錄雪球網(wǎng)頁版在瀏覽器開發(fā)者工具里找到xq_a_token和u兩個值拼成字符串調用set_token即可獲取細節(jié)見倉庫內的 how_to_get_token.mdimport pysnowball as ball ball.set_token(xq_a_token你的令牌值;u你的用戶ID)注意set_token實際是把值寫進了環(huán)境變量XUEQIUTOKEN后續(xù)所有請求都會自動帶上你不需要再操心。第三步跑通最小示例# 查一只股票的實時行情這個接口連 token 都不需要 quote ball.quotec(SH600519) print(quote[data][0][current]) # 現(xiàn)價 # 拉取最近30天的日K數(shù)據(jù) k ball.kline(SH600519, day, 30) print(k[data][item][:2])看到控制臺輸出數(shù)字的那一瞬間你就已經摸到金融數(shù)據(jù)的門了。實戰(zhàn)案例收盤后自動生成自選股簡報現(xiàn)在我們把零散的調用串成一個真實可用的場景每天收盤后程序自動遍歷自選股打印行情摘要再順帶看一眼某只基金的凈值表現(xiàn)。import pysnowball as ball from datetime import datetime ball.set_token(xq_a_token你的令牌值;u你的用戶ID) def daily_report(codes, fund_code): print(f {datetime.now():%Y-%m-%d} 收盤簡報 ) for code in codes: q ball.quotec(code)[data][0] print(f{code} 現(xiàn)價 {q[current]:8} 漲跌 {q[percent]:.2f}%) info ball.fund_info(fund_code)[data] d info[fund_derived] print(f{info[fd_name]} 凈值 {d[unit_nav]} 日漲跌 {d[nav_grtd]}%) daily_report([SH600519, SZ000858, SH600036], 008975)把這段腳本扔進系統(tǒng)的定時任務每天收盤后自動跑一遍你的手工抄表生涯就此結束。想再進一步把輸出追加到 CSV 文件里一周后你就擁有一份自己的凈值記錄。進階技巧三個新手最容易踩的坑1. 用裝飾器統(tǒng)一加請求重試免費接口偶爾會抖動給調用包一層重試邏輯比每次寫 try/except 省心得多from time import sleep from functools import wraps def retry(times3): def deco(fn): wraps(fn) def wrapper(*args, **kw): for i in range(times): try: return fn(*args, **kw) except Exception: if i times - 1: raise sleep(2) return wrapper return deco retry() def safe_quote(code): return ball.quotec(code)2. 批量抓取時主動限速爬太多接口太頻繁容易觸發(fā)風控。批量遍歷股票時在循環(huán)里加一句sleep(0.3)用時間換穩(wěn)定夠用了。3. 時間戳別忘除以 1000雪球返回的時間多是毫秒時間戳如1638860400000直接用會得到 1970 年的日期。統(tǒng)一處理from datetime import datetime dt datetime.fromtimestamp(ts / 1000).strftime(%Y-%m-%d)周邊生態(tài)和誰搭配更好用pysnowball 拿回的是干凈 JSON天然適合搭配pandas做表格化分析與滾動均值計算配合matplotlib畫凈值走勢圖也毫不費力。如果你想長期積累數(shù)據(jù)把行情寫進SQLite或 CSV 再定期回看就是一個簡易的數(shù)據(jù)倉庫。項目的接口文檔按模塊拆分得很清楚實時行情、財務、基金、資金流等分別記錄在 APIs/ 目錄下每個接口的入?yún)⒑头祷亟Y構都有示例照著抄就能用。作者還維護了微信群方便大家交流使用問題和新需求從今天開始讓數(shù)據(jù)替你打工回到小林的故事他現(xiàn)在每天只需瞄一眼程序生成的簡報盯盤提醒交給代碼省下的時間用來研究策略本身。pysnowball 能帶給你的正是這種把數(shù)據(jù)獲取變成三行代碼的掌控感。動手吧——pip install pysnowball設置 token跑通你的第一行行情代碼。十分鐘后你就會發(fā)現(xiàn)原來通往金融數(shù)據(jù)的路可以這么平?!久赓M下載鏈接】pysnowball雪球股票數(shù)據(jù)接口 python edition項目地址: https://gitcode.com/gh_mirrors/py/pysnowball創(chuàng)作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考