深度解析Python?yfinance的核心功能和高級用法
yfinance 深度解析教程 (Python)
yfinance
是一個非常流行的 Python 庫,允許用戶從 Yahoo Finance 下載金融市場數(shù)據(jù)。它提供了一種簡單方便的方式來獲取股票價格、歷史數(shù)據(jù)、基本面信息、期權數(shù)據(jù)等。本教程將深入探討 yfinance
的核心功能和高級用法。
1. 簡介與安裝
1.1 什么是 yfinance?
yfinance
是一個開源的 Python 庫,它最初是作為 pandas-datareader
庫修復雅虎財經(jīng) API 變化的解決方案而創(chuàng)建的,后來發(fā)展成為一個獨立且功能強大的庫,專門用于從 Yahoo Finance 獲取數(shù)據(jù)。
1.2 為什么選擇 yfinance?
- 免費: 無需 API 密鑰即可訪問大量金融數(shù)據(jù)。
- 易用: API 設計簡潔直觀。
- 功能豐富: 支持多種數(shù)據(jù)類型(歷史價格、基本面、期權等)。
- 與 Pandas 集成: 返回的數(shù)據(jù)通常是 Pandas DataFrame 或 Series 格式,方便后續(xù)分析。
1.3 安裝 yfinance
使用 pip 可以輕松安裝:
pip install yfinance --upgrade --no-cache-dir
建議加上 --upgrade --no-cache-dir
以確保安裝最新版本并避免緩存問題。
同時,我們通常需要 pandas
來處理數(shù)據(jù),如果未安裝,也一并安裝:
pip install pandas
2. 核心對象:Ticker
yfinance
的主要入口點是 Ticker
類。你需要為你想要獲取數(shù)據(jù)的每個金融工具(股票、ETF、指數(shù)等)創(chuàng)建一個 Ticker
實例。
2.1 創(chuàng)建 Ticker 對象
import yfinance as yf import pandas as pd # 通常會用到 pandas # 創(chuàng)建一個代表蘋果公司 (AAPL) 的 Ticker 對象 aapl = yf.Ticker("AAPL") # 創(chuàng)建一個代表微軟公司 (MSFT) 的 Ticker 對象 msft = yf.Ticker("MSFT") # 也可以獲取其他市場的股票,例如騰訊控股 (0700.HK) tencent = yf.Ticker("0700.HK") # 獲取指數(shù),例如標普 500 (^GSPC) sp500 = yf.Ticker("^GSPC") print(aapl) # 輸出類似: yfinance.Ticker object <AAPL>
這里的 “AAPL”, “MSFT”, “0700.HK”, “^GSPC” 就是所謂的 Ticker Symbol(股票代碼)。你需要知道你感興趣的金融工具在 Yahoo Finance 上的代碼。
2.2 獲取股票信息 (info)
info
屬性返回一個包含該股票大量信息的 Python 字典。
# 獲取蘋果公司的詳細信息 aapl_info = aapl.info # 查看信息字典中的部分內容 print(f"公司名稱: {aapl_info.get('longName', 'N/A')}") print(f"所在行業(yè): {aapl_info.get('industry', 'N/A')}") print(f"所在板塊: {aapl_info.get('sector', 'N/A')}") print(f"公司簡介: {aapl_info.get('longBusinessSummary', 'N/A')[:100]}...") # 只顯示前100個字符 print(f"市值: {aapl_info.get('marketCap', 'N/A')}") print(f"市盈率 (TTM): {aapl_info.get('trailingPE', 'N/A')}") print(f"遠期市盈率: {aapl_info.get('forwardPE', 'N/A')}") print(f"股息率: {aapl_info.get('dividendYield', 'N/A')}") # info 字典包含非常多的字段,你可以打印所有鍵來看看 # print(aapl_info.keys())
注意: info
字典中的字段并非對所有 Ticker 都完整可用,某些字段可能缺失(返回 None
或不存在)。使用 .get(key, default_value)
是更安全的訪問方式。
3. 獲取歷史市場數(shù)據(jù) (history)
這是 yfinance
最常用的功能之一,用于獲取 OHLCV(開盤價、最高價、最低價、收盤價、成交量)數(shù)據(jù)。
3.1 基本用法 (周期period)
history()
方法可以通過 period
參數(shù)指定獲取數(shù)據(jù)的時間跨度。
# 獲取蘋果公司過去一年的日線數(shù)據(jù) hist_1y = aapl.history(period="1y") print("過去一年的日線數(shù)據(jù) (前5條):") print(hist_1y.head()) # 可用的 period 值包括: "1d", "5d", "1mo", "3mo", "6mo", "1y", "2y", "5y", "10y", "ytd" (年初至今), "max" (所有可用數(shù)據(jù)) hist_max = aapl.history(period="max") print(f"\n獲取了 {len(hist_max)} 條歷史數(shù)據(jù) (從 {hist_max.index.min()} 到 {hist_max.index.max()})")
3.2 指定時間范圍 (start,end)
也可以使用 start
和 end
參數(shù)指定具體的開始和結束日期(格式通常為 “YYYY-MM-DD”)。
# 獲取 2023 年全年的日線數(shù)據(jù) hist_2023 = aapl.history(start="2023-01-01", end="2024-01-01") # end日期不包含 print("\n2023 年全年日線數(shù)據(jù) (后5條):") print(hist_2023.tail())
3.3 不同時間間隔 (interval)
interval
參數(shù)用于指定數(shù)據(jù)的時間頻率。
# 獲取過去 5 天的 1 分鐘 K 線數(shù)據(jù) # 注意:分鐘級別的數(shù)據(jù)獲取有時間范圍限制,通常只能獲取最近幾十天的數(shù)據(jù) hist_5d_1m = aapl.history(period="5d", interval="1m") print("\n過去 5 天的 1 分鐘 K 線數(shù)據(jù) (前5條):") print(hist_5d_1m.head()) # 可用的 interval 值包括: # 分鐘級別: "1m", "2m", "5m", "15m", "30m", "60m", "90m" # 小時級別: "1h" (注意: 60m 和 1h 可能略有不同) # 日線及以上: "1d", "5d", "1wk", "1mo", "3mo" # 獲取過去 6 個月的周線數(shù)據(jù) hist_6mo_wk = aapl.history(period="6mo", interval="1wk") print("\n過去 6 個月的周線數(shù)據(jù) (前5條):") print(hist_6mo_wk.head())
重要提示:
- 分鐘級別 (
1m
,2m
等) 的數(shù)據(jù)通常只能獲取最近 7 天(對于1m
)或 60 天(對于其他分鐘級別)的數(shù)據(jù)。 - 請求過于頻繁或數(shù)據(jù)量過大可能導致 Yahoo Finance 暫時阻止你的 IP。
3.4 數(shù)據(jù)格式 (Pandas DataFrame)
history()
方法返回的是一個 Pandas DataFrame,索引是日期(或時間戳),列包括:
Open
: 開盤價High
: 最高價Low
: 最低價Close
: 收盤價Volume
: 成交量Dividends
: 股息 (如果當天有派息)Stock Splits
: 股票分割比例 (如果當天有分割)
print("\n歷史數(shù)據(jù) DataFrame 的列名:") print(hist_1y.columns) print("\n歷史數(shù)據(jù) DataFrame 的索引類型:") print(type(hist_1y.index))
3.5 其他參數(shù) (如actions)
默認情況下,Dividends
和 Stock Splits
列包含在內。你也可以通過 actions=True
(默認) 或 actions=False
控制是否獲取這些信息。還有其他參數(shù)如 auto_adjust
(自動調整價格以反映股息和拆分,默認為 True
) 等,可以查閱文檔了解更多。
# 不獲取股息和拆分信息 hist_no_actions = aapl.history(period="1y", actions=False) print("\n不包含 actions 的列名:") print(hist_no_actions.columns) # 獲取未調整的價格 (會多出 'Adj Close' 列,表示前復權收盤價) hist_unadjusted = aapl.history(period="1y", auto_adjust=False) print("\n未自動調整價格的列名:") print(hist_unadjusted.columns) print(hist_unadjusted.head())
4. 獲取基本面數(shù)據(jù)
yfinance
提供了訪問公司財務報表和其他基本面數(shù)據(jù)的方法。
4.1 財務報表 (financials,balance_sheet,cashflow)
這些方法返回包含年度和季度財務報表的 Pandas DataFrame。
# 獲取年度損益表 (Income Statement) financials = aapl.financials print("\n年度損益表 (部分):") print(financials) # DataFrame 的列是年份或季度 # 獲取年度資產(chǎn)負債表 (Balance Sheet) balance_sheet = aapl.balance_sheet print("\n年度資產(chǎn)負債表 (部分):") print(balance_sheet.head()) # 獲取年度現(xiàn)金流量表 (Cash Flow Statement) cashflow = aapl.cashflow print("\n年度現(xiàn)金流量表 (部分):") print(cashflow.head())
4.2 盈利 (earnings)
這個屬性似乎已被整合或棄用,更常用的查看盈利信息的方式是通過 financials
或 calendar
/ earnings_dates
。舊版本可能有 aapl.earnings
。
4.3 季度數(shù)據(jù)
默認情況下,上述財務報表方法返回年度數(shù)據(jù)??梢酝ㄟ^相應的 quarterly_
屬性獲取季度數(shù)據(jù)。
# 獲取季度損益表 q_financials = aapl.quarterly_financials print("\n季度損益表 (部分):") print(q_financials) # 獲取季度資產(chǎn)負債表 q_balance_sheet = aapl.quarterly_balance_sheet print("\n季度資產(chǎn)負債表 (部分):") print(q_balance_sheet.head()) # 獲取季度現(xiàn)金流量表 q_cashflow = aapl.quarterly_cashflow print("\n季度現(xiàn)金流量表 (部分):") print(q_cashflow.head())
5. 獲取其他關鍵數(shù)據(jù)
Ticker
對象還提供了許多其他有用的屬性。
5.1 股票行為 (actions,dividends,splits)
actions
: 返回一個包含所有股息和股票分割記錄的 DataFrame。dividends
: 只返回股息記錄 (Series)。splits
: 只返回股票分割記錄 (Series)。
# 獲取所有歷史行為 actions = aapl.actions print("\n股票行為 (股息與拆分):") print(actions.tail()) # 顯示最近的行為 # 獲取股息歷史 dividends = aapl.dividends print("\n股息歷史 (最近 5 條):") print(dividends.tail()) # 獲取拆分歷史 splits = aapl.splits print("\n股票分割歷史:") print(splits)
5.2 持股信息 (major_holders,institutional_holders)
major_holders
: 主要股東信息 (通常是內部人士和持股比例較大的股東)。institutional_holders
: 機構持股者信息。
# 獲取主要股東信息 major_holders = aapl.major_holders print("\n主要股東:") print(major_holders) # 獲取機構持股者信息 inst_holders = aapl.institutional_holders print("\n機構持股者 (前 10):") print(inst_holders.head(10))
注意: 這些持股數(shù)據(jù)更新可能不及時,且并非對所有 Ticker 都可用。
5.3 推薦評級 (recommendations)
獲取分析師對該股票的推薦評級歷史。
recommendations = aapl.recommendations print("\n分析師推薦評級 (最近 10 條):") print(recommendations.tail(10))
DataFrame 通常包含日期、評級機構、評級變化(例如 從 Buy 到 Strong Buy)等信息。
5.4 公司日歷與盈利日期 (calendar,earnings_dates)
calendar
: 通常包含下一次盈利發(fā)布的日期范圍和相關事件。earnings_dates
: 提供歷史上的盈利公告日期、EPS 預期和實際值。
# 獲取公司日歷 (如下次財報日期) calendar = aapl.calendar print("\n公司日歷 (下次財報):") print(calendar) # 獲取歷史盈利日期信息 try: earnings_dates = aapl.earnings_dates print("\n歷史盈利日期 (最近幾次):") print(earnings_dates.tail()) except Exception as e: print(f"\n獲取盈利日期失敗: {e}") # 有時可能因數(shù)據(jù)不可用而出錯
5.5 ISIN 代碼 (isin)
獲取股票的國際證券識別碼 (ISIN)。
isin = aapl.isin print(f"\nAAPL 的 ISIN 代碼: {isin}") # 對于非美國股票,這個可能更有用 # tencent_isin = tencent.isin # print(f"0700.HK 的 ISIN 代碼: {tencent_isin}")
注意: isin
屬性有時可能返回 -
或空值,如果 Yahoo Finance 沒有提供該數(shù)據(jù)。
5.6 相關新聞 (news)
獲取與該 Ticker 相關的最新新聞標題和鏈接。
news = aapl.news print("\n相關新聞 (部分):") if news: # 檢查列表是否為空 for item in news[:5]: # 只顯示前 5 條 print(f"- 標題: {item.get('title')}") print(f" 發(fā)布者: {item.get('publisher')}") print(f" 鏈接: {item.get('link')}") # print(f" 發(fā)布時間: {pd.to_datetime(item.get('providerPublishTime'), unit='s')}") # 時間戳轉換 else: print("未能獲取到相關新聞。")
新聞列表包含字典,每個字典代表一條新聞,包含標題 (title
)、鏈接 (link
)、發(fā)布者 (publisher
)、發(fā)布時間 (providerPublishTime
- Unix時間戳) 等信息。
6. 獲取期權數(shù)據(jù)
yfinance
也可以用來獲取股票的期權鏈數(shù)據(jù)。
6.1 獲取期權到期日 (options)
options
屬性返回一個包含所有可用期權到期日的元組。
# 獲取蘋果公司所有可用的期權到期日 try: option_dates = aapl.options print("\n可用的期權到期日 (前幾個):") print(option_dates[:5]) except Exception as e: print(f"\n獲取期權到期日失敗 (可能該 Ticker 沒有期權): {e}")
6.2 獲取特定到期日的期權鏈 (option_chain)
使用 option_chain()
方法,并傳入一個到期日字符串,可以獲取該日期的看漲 (Calls) 和看跌 (Puts) 期權鏈。
if option_dates: # 確保我們獲取到了到期日 # 獲取第一個到期日的期權鏈 first_expiry = option_dates[0] opt_chain = aapl.option_chain(first_expiry) # 期權鏈對象包含 .calls 和 .puts 兩個 DataFrame calls = opt_chain.calls puts = opt_chain.puts print(f"\n{first_expiry} 到期的看漲期權 (部分):") print(calls.head()) # 顯示前幾行看漲期權數(shù)據(jù) print(f"\n{first_expiry} 到期的看跌期權 (部分):") print(puts.head()) # 顯示前幾行看跌期權數(shù)據(jù) # 查看期權 DataFrame 的列名,了解包含哪些信息 print("\n看漲期權數(shù)據(jù)列名:") print(calls.columns) # 通常包含: contractSymbol, lastTradeDate, strike, lastPrice, bid, ask, change, percentChange, volume, openInterest, impliedVolatility, inTheMoney, contractSize, currency
注意: 期權數(shù)據(jù)可能比較龐大,獲取時可能需要一些時間。
7. 處理多個 Ticker (Tickers)
如果你需要同時處理多個股票代碼,使用 Tickers
類比為每個代碼單獨創(chuàng)建 Ticker
對象更高效,尤其是在批量下載歷史數(shù)據(jù)時。
7.1 創(chuàng)建 Tickers 對象
將多個 Ticker Symbol 字符串(用空格分隔)或一個列表傳遞給 yf.Tickers()
。
# 創(chuàng)建包含多個股票代碼的 Tickers 對象 tickers_list = ["AAPL", "MSFT", "GOOG", "AMZN"] tickers = yf.Tickers(" ".join(tickers_list)) # 或者直接 yf.Tickers("AAPL MSFT GOOG AMZN") print(tickers) # 輸出類似: yfinance.Tickers object <AAPL,MSFT,GOOG,AMZN>
7.2 批量下載歷史數(shù)據(jù)
Tickers
對象的 history()
方法可以一次性下載所有 Ticker 的歷史數(shù)據(jù)。返回的 DataFrame 使用多層列索引 (MultiIndex),第一層是 Ticker Symbol,第二層是 OHLCV 等數(shù)據(jù)字段。
# 批量獲取過去一個月的數(shù)據(jù) multi_hist = tickers.history(period="1mo") print("\n批量獲取的歷史數(shù)據(jù) (部分):") print(multi_hist.head()) # 查看列索引結構 print("\n多層列索引:") print(multi_hist.columns) # 訪問特定股票的特定列數(shù)據(jù) print("\n訪問 AAPL 的收盤價:") print(multi_hist['AAPL']['Close'].head()) # 或者使用 stack() 方法轉換數(shù)據(jù)結構,更方便按 Ticker 分組處理 # stacked_hist = multi_hist.stack(level=0).reset_index().rename(columns={'level_1': 'Ticker'}) # print("\n轉換后的數(shù)據(jù)結構:") # print(stacked_hist.head())
7.3 訪問單個 Ticker 數(shù)據(jù)
Tickers
對象內部包含一個字典 tickers.tickers
,其鍵是 Ticker Symbol,值是對應的 Ticker
對象。你可以通過這個字典訪問單個 Ticker 的所有方法和屬性。
# 訪問 Tickers 對象中的 Google (GOOG) Ticker 對象 goog_ticker = tickers.tickers['GOOG'] # 獲取 Google 的 info goog_info = goog_ticker.info print(f"\nGoogle 的公司名稱: {goog_info.get('longName')}") # 獲取 Google 的財務數(shù)據(jù) goog_financials = goog_ticker.financials print("\nGoogle 的年度損益表 (部分):") print(goog_financials.head())
這種方式在需要獲取不同類型數(shù)據(jù)(如某些股票的歷史數(shù)據(jù),另一些股票的基本面信息)時很有用,但如果是統(tǒng)一獲取同一種數(shù)據(jù)(如所有股票的歷史收盤價),直接使用 Tickers
對象的批量方法通常更優(yōu)。
7.4 使用yf.download()批量下載
yfinance
還提供了一個便捷的頂層函數(shù) yf.download()
,專門用于批量下載歷史數(shù)據(jù),通常比 Tickers.history()
更常用且可能更穩(wěn)定。
# 使用 yf.download() 批量下載歷史數(shù)據(jù) data = yf.download("NVDA TSLA NFLX", start="2024-01-01", end="2024-04-01") print("\n使用 yf.download() 獲取的數(shù)據(jù) (部分):") print(data.head()) # download 返回的 DataFrame 默認按數(shù)據(jù)字段分組 (Open, High, Low, Close, Adj Close, Volume) print("\nyf.download() 返回的列索引:") print(data.columns) # 訪問特定字段的所有股票數(shù)據(jù) print("\n所有股票的收盤價:") print(data['Close'].head()) # 訪問特定股票的所有數(shù)據(jù) print("\nTSLA 的所有數(shù)據(jù):") print(data.xs('TSLA', level=1, axis=1).head()) # 使用 xs 進行跨層級選擇 # 也可以設置 group_by='ticker' 使列索引先按 Ticker 分組 data_grouped_by_ticker = yf.download("NVDA TSLA NFLX", start="2024-01-01", end="2024-04-01", group_by='ticker') print("\n按 Ticker 分組的數(shù)據(jù) (部分):") print(data_grouped_by_ticker.head()) print("\n按 Ticker 分組的列索引:") print(data_grouped_by_ticker.columns) print("\n訪問 TSLA 的收盤價 (按 Ticker 分組):") print(data_grouped_by_ticker['TSLA']['Close'].head())
yf.download()
是批量獲取歷史數(shù)據(jù)的推薦方式。
8. 高級技巧與注意事項
8.1 錯誤處理 (無效 Ticker)
當請求一個不存在或 Yahoo Finance 沒有數(shù)據(jù)的 Ticker 時,yfinance
可能會拋出錯誤或返回空數(shù)據(jù)。在處理用戶輸入或大量 Ticker 列表時,進行錯誤處理很重要。
invalid_ticker_symbol = "INVALIDTICKERXYZ" try: invalid_ticker = yf.Ticker(invalid_ticker_symbol) # 嘗試獲取數(shù)據(jù),這通常會失敗或返回空 info = invalid_ticker.info hist = invalid_ticker.history(period="1d") if not info and hist.empty: print(f"\nTicker '{invalid_ticker_symbol}' 似乎無效或沒有數(shù)據(jù)。") # 注意:某些情況下 info 可能返回 {},history 可能直接拋錯,具體行為可能變化 except Exception as e: print(f"\n處理 Ticker '{invalid_ticker_symbol}' 時發(fā)生錯誤: {e}") # 對于 yf.download(),它通常會打印錯誤消息但繼續(xù)下載其他有效的 Ticker data = yf.download("AAPL INVALIDTICKERXYZ GOOG", period="1d") print("\n嘗試下載包含無效 Ticker 的數(shù)據(jù):") # 查看下載結果,INVALIDTICKERXYZ 的數(shù)據(jù)列通常會是 NaN # print(data)
8.2 數(shù)據(jù)可視化 (簡單示例)
獲取的數(shù)據(jù)通常是 Pandas DataFrame,可以方便地使用 matplotlib
或 seaborn
進行可視化。
import matplotlib.pyplot as plt # 獲取微軟過去一年的數(shù)據(jù) msft_hist = msft.history(period="1y") # 繪制收盤價曲線 plt.figure(figsize=(10, 5)) msft_hist['Close'].plot(title='Microsoft (MSFT) Stock Price (Last Year)') plt.ylabel('Price (USD)') plt.xlabel('Date') plt.grid(True) plt.show() # 繪制成交量柱狀圖 plt.figure(figsize=(10, 3)) msft_hist['Volume'].plot(kind='bar', title='Microsoft (MSFT) Trading Volume (Last Year)') plt.ylabel('Volume') plt.xlabel('Date') # 由于日期標簽太多,可能需要調整顯示方式,例如只顯示部分標簽或按月聚合 # plt.xticks(rotation=45) # 旋轉標簽 plt.show()
8.3 代理設置 (Proxy)
如果在網(wǎng)絡受限的環(huán)境(如公司網(wǎng)絡)或因請求頻繁被暫時限制,可能需要設置代理。
# 示例:設置 HTTP 和 HTTPS 代理 # proxies = { # 'http': 'http://user:password@proxy.server.com:port', # 'https': 'https://user:password@proxy.server.com:port', # } # 在 Ticker 對象級別設置 (會話級別) # msft = yf.Ticker("MSFT") # msft.set_proxy(proxies) # hist = msft.history(period="1d") # 或者在 download 函數(shù)中設置 # data = yf.download("AAPL", period="1d", proxy=proxies) # 注意:代理設置的 API 可能會隨版本變化,請查閱最新文檔。 # 較新版本傾向于使用 Session 對象進行更底層的控制,但這超出了基礎教程范圍。 print("\n代理設置: 請參考 yfinance 文檔以獲取最新和最可靠的代理設置方法。")
8.4 請求頻率限制
Yahoo Finance 并未公開其確切的請求頻率限制,但過于頻繁的請求(尤其是在短時間內大量請求不同 Ticker 的多種數(shù)據(jù))可能導致 IP 被暫時封禁(通常返回 HTTP 403 或 429 錯誤)。
- 策略:
- 盡量使用
Tickers
對象或yf.download()
進行批量操作,而不是在循環(huán)中單獨請求每個 Ticker。 - 如果在循環(huán)中進行請求,請在每次請求后加入適當?shù)难舆t(例如
time.sleep(1)
)。 - 避免不必要的數(shù)據(jù)請求。
- 如果需要大量數(shù)據(jù),考慮分批次、在不同時間進行。
- 盡量使用
import time tickers_to_fetch = ["AAPL", "MSFT", "GOOG", "AMZN", "META", "NVDA", "TSLA"] # 示例列表 all_info = {} for symbol in tickers_to_fetch: try: print(f"正在獲取 {symbol} 的信息...") ticker = yf.Ticker(symbol) all_info[symbol] = ticker.info # 在每次請求后加入短暫延遲,避免過快請求 time.sleep(1) # 暫停 1 秒 except Exception as e: print(f"獲取 {symbol} 信息失敗: {e}") print("\n獲取到的部分信息:") # print(all_info.get("AAPL", {}).get("longName")) # print(all_info.get("MSFT", {}).get("longName"))
9. 總結
yfinance
是一個功能強大且易于使用的 Python 庫,用于從 Yahoo Finance 獲取金融數(shù)據(jù)。本教程涵蓋了其核心功能:
- 使用
Ticker
對象獲取單個金融工具的數(shù)據(jù)(info
,history
,financials
,options
,news
等)。 - 使用
Tickers
對象或yf.download()
高效處理多個金融工具。 - 了解了數(shù)據(jù)的格式 (Pandas DataFrame/Series) 和一些常用參數(shù)。
- 討論了錯誤處理、可視化基礎以及請求頻率等注意事項。
要進一步深入,建議:
- 閱讀官方文檔: 雖然
yfinance
的文檔可能不如一些大型庫詳盡,但仍然是獲取最新信息的主要來源。 - 實踐: 嘗試獲取不同類型 Ticker(股票、ETF、指數(shù)、加密貨幣等)的數(shù)據(jù),探索不同的參數(shù)組合。
- 結合其他庫: 將
yfinance
獲取的數(shù)據(jù)與pandas
進行深入分析,與matplotlib
/seaborn
/plotly
進行高級可視化,或與scikit-learn
等庫進行量化分析。
希望本教程能幫助你更好地理解和使用 yfinance
庫!
到此這篇關于 深度解析Python yfinance的核心功能和高級用法的文章就介紹到這了,更多相關python yfinance用法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Windows環(huán)境下如何使用Pycharm運行sh文件
這篇文章主要介紹了Windows環(huán)境下如何使用Pycharm運行sh文件,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-02-02淺談PyTorch的數(shù)據(jù)讀取機制Dataloader與Dataset
這篇文章主要介紹了淺談PyTorch的數(shù)據(jù)讀取機制Dataloader與Dataset,DataLoader的作用是構建一個可迭代的數(shù)據(jù)裝載器,每次執(zhí)行循環(huán)的時候,就從中讀取一批Batchsize大小的樣本進行訓練,需要的朋友可以參考下2023-07-07在PyTorch中自定義fit()函數(shù)中的操作代碼
當在進行有監(jiān)督學習時,我們可以使用fit()函數(shù)對模型進行訓練,通過迭代優(yōu)化模型的參數(shù),使其能夠更好地擬合訓練數(shù)據(jù),本文給大家介紹了在PyTorch中自定義fit()函數(shù)中的操作代碼,感興趣的同學可以跟著小編一起來看看2024-05-05Python實現(xiàn)郵件發(fā)送的詳細設置方法(遇到問題)
這篇文章主要介紹了Python實現(xiàn)郵件發(fā)送的詳細設置方法(遇到問題),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01