據(jù)的快速上手教程)
yfinance終極指南5分鐘免費獲取雅虎財經完整數(shù)據(jù)的快速上手教程【免費下載鏈接】yfinanceDownload market data from Yahoo! Finances API項目地址: https://gitcode.com/GitHub_Trending/yf/yfinance你是不是也想拉一份股票歷史數(shù)據(jù)做分析結果要么被商業(yè) API 的年費勸退要么得注冊一堆平臺、填半天申請表單是不是照著網上的零散教程折騰一下午最后連一份干凈的行情都跑不出來如果你的答案是是那 yfinance 就是為你準備的答案——這個開源 Python 庫只需幾行代碼就能免費拿到雅虎財經的股票價格、財務報表、期權鏈等幾乎全部公開數(shù)據(jù)裝上即用零配置、零密鑰。一句話定位yfinance 本質上是雅虎財經數(shù)據(jù)的翻譯官把網頁背后那些沒人看得懂的公開接口翻譯成你順手就能用的 Pandas 表格。它不是什么神秘的量化引擎也不是需要付費訂閱的金融服務——它就是一個免費、開源、安裝即用的數(shù)據(jù)下載器。為什么偏偏是它傳統(tǒng)方案 vs yfinance對比維度傳統(tǒng)方案自寫爬蟲 / 商業(yè) APIyfinance上手成本注冊、申請密鑰、啃接口文檔pip install一條命令數(shù)據(jù)完整度只拿得到自己費力爬的那一塊價格/財報/分紅/期權全覆蓋數(shù)據(jù)格式五花八門清洗就得大半天標準化 Pandas DataFrame數(shù)據(jù)修復拆股、除息錯位全靠手寫邏輯內置repair智能修復實時數(shù)據(jù)往往要額外付費開通內置 WebSocket 實時訂閱yfinance 打破了金融數(shù)據(jù)的獲取壁壘它把數(shù)據(jù)是力量這件事免費交到了每個人手里。上面這張圖展示的是 yfinance 的招牌能力當某幾天的價格連續(xù)出現(xiàn) 0.15 這種明顯異常值時紅色框內開啟數(shù)據(jù)修復后它會自動識別異常區(qū)間并還原為合理價格讓你拿到的每一份數(shù)據(jù)都干凈可用。新手第一步如何用 yfinance 下載股票歷史數(shù)據(jù)安裝就是一行命令裝完立刻能跑pip install yfinance這段代碼在做什么創(chuàng)建一只股票的句柄然后抓取它最近一個月的日線行情。import yfinance as yf aapl yf.Ticker(AAPL) # 拿到蘋果股票的句柄 hist aapl.history(period1mo) # 拉取最近一個月的日線數(shù)據(jù) print(hist.head()) # 看一眼數(shù)據(jù)長什么樣運行預期你會得到一張帶 Open / High / Low / Close / Volume 的標準表格每一行是一個交易日直接就能丟進 pandas 做分析。? 第一份數(shù)據(jù)到手全程不超過 30 秒。進階實戰(zhàn)如何批量獲取多只股票數(shù)據(jù)單只股票夠用了但做投資組合分析時你可能想一次拉幾十只。別用循環(huán)一只只請求——那樣又慢又容易被限流yfinance 提供了一鍵批量下載import yfinance as yf # group_byticker 讓多只股票的數(shù)據(jù)按股票名分塊組織 data yf.download([AAPL, MSFT, GOOGL], period6mo, group_byticker) print(data.columns) # 順手看看基本面 aapl yf.Ticker(AAPL) info aapl.get_info() # 公司概況、估值指標都在里面 print(info[longName], info.get(trailingPE))運行預期data是一個多層列結構的 DataFrame可以直接用data[AAPL][Close]取出某只股票的收盤價get_info()返回一個字典市盈率、市值、股息率等關鍵指標隨手可取。財務三表也一樣簡單aapl.get_financials()、aapl.get_balance_sheet()、aapl.get_cashflow()全都是規(guī)整的 DataFrame。高手玩法數(shù)據(jù)修復與期權鏈分析到了高手階段你該學會跟臟數(shù)據(jù)打交道了。金融數(shù)據(jù)里最常見的問題是公司除息或拆股后歷史價格沒被正確調整導致數(shù)據(jù)斷層。yfinance 的repairTrue參數(shù)就是為了解決這個痛點而生的import yfinance as yf # 開啟 repair讓 yfinance 自動修復異常價格、除息與拆股錯位 hist yf.download(AAPL, period1y, repairTrue) # 期權鏈也一樣簡單 aapl yf.Ticker(AAPL) dates aapl.options # 所有可交易的到期日 chain aapl.option_chain(dates[0]) # 第一個到期日的完整期權鏈 print(chain.calls.head()) # 看認購期權行權價、買價賣價、隱含波動率上圖演示了拆股場景公司公告 1:10 拆股后yfinance 會自動把拆股前的歷史價格按比例調整保證整條曲線連續(xù)可比不會出現(xiàn)斷崖式跳空。而上面這張則展示了除息調整發(fā)放股息當天repair機制會正確處理價格回落的假象避免你誤以為股價真的跌了。記住一句話數(shù)據(jù)到手先開 repair。?? 高頻踩坑點清單坑 1批量下載時拿了空數(shù)據(jù)現(xiàn)象data里全是 NaN。根因查詢時間在盤中休市或開盤前后該時段本就沒有交易。解決data yf.download(AAPL, period1d, interval1m, prepostTrue) # 包含盤前盤后坑 2repairTrue搭配周線/月線直接報錯現(xiàn)象報錯Yahoos interval 5d is nonsense。根因價格修復機制暫不支持周線及以上粒度。解決需要修復時用日線或更小粒度周線數(shù)據(jù)自行校驗???3時區(qū)錯亂日期對不上現(xiàn)象拿到的日期和當?shù)亟灰讜r間差出好幾個小時。根因數(shù)據(jù)默認按交易所時區(qū)返回。解決打印hist.index.tz確認時區(qū)需要時用hist.index hist.index.tz_convert(Asia/Shanghai)轉成你熟悉的時區(qū)。 中國市場代碼記得帶后綴比如騰訊是0700.HK、茅臺是600519.SS。小項目演示用 yfinance 自動生成投資組合周報把前面所有知識點串起來做一個小工具讀取你的持倉自動拉數(shù)據(jù)、算漲跌、輸出周報。import yfinance as yf portfolio {AAPL: 10, MSFT: 5, GOOGL: 3} # 你的持倉 data yf.download(list(portfolio), period1mo, repairTrue, group_byticker) # 批量修復 for t in portfolio: closes data[t][Close].dropna() # 取該股票的收盤序列 change (closes.iloc[-1] / closes.iloc[0] - 1) * 100 print(f{t}: 近一月漲跌 {change:.2f}%)運行預期終端依次打印每只股票近一個月的漲跌幅。把這 15 行代碼掛到定時任務里你就擁有了一臺自動生成持倉報告的小機器人。 想深入研究的讀者推薦精讀這幾個文件yfinance/ticker.py單只股票封裝、yfinance/multi.py批量下載邏輯、yfinance/scrapers/history.py價格修復核心。常見問題速查Q1yfinance 真的完全免費嗎是的無需注冊、無需 API 密鑰數(shù)據(jù)來自雅虎財經的公開接口。不過它僅供個人學習與研究使用請遵守雅虎財經的使用條款不要用于商業(yè)抓取。Q2數(shù)據(jù)更新頻率如何歷史數(shù)據(jù)通常 T1 更新實時行情走 WebSocket 訂閱基本實時推送適合做盤中監(jiān)控。Q3支持哪些市場全球主要市場都支持美股直接寫代碼AAPL、港股帶.HK0700.HK、A 股帶.SS/.SZ600519.SS、000001.SZ、歐股帶交易所后綴。Q4repairTrue會篡改真實數(shù)據(jù)嗎不會。它只修正明顯違背價格規(guī)律的異常區(qū)間不動的數(shù)據(jù)保持原樣你也可以先用repairFalse拉原始數(shù)據(jù)對比觀察。結語3 個值得記住的點yfinance 免費 零配置幾行代碼就能拿到雅虎財經的全量公開數(shù)據(jù)是新手學數(shù)據(jù)分析最好的起點。能力階梯很清晰新手用history()拿行情進階用get_info()看基本面高手用repair修數(shù)據(jù)、用option_chain玩期權。數(shù)據(jù)到手先開repair再注意時區(qū)和盤中時段你的數(shù)據(jù)質量就已經超過 90% 的爬蟲黨。最好的學習方式永遠是動手?,F(xiàn)在打開你的終端輸入pip install yfinance把你最關心那只股票的數(shù)據(jù)抓下來看看吧——屬于你的金融數(shù)據(jù)分析之旅從這一行命令開始。【免費下載鏈接】yfinanceDownload market data from Yahoo! Finances API項目地址: https://gitcode.com/GitHub_Trending/yf/yfinance創(chuàng)作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考