想像你是一位探險家,探索充滿神秘的金融世界。在這裡,股市就像一座變化莫測的山脈,股價每天都在起起伏伏。這時,yfinance套件就像你手中的萬能探險工具,讓你能輕鬆獲取雅虎財經(Yahoo Finance)上的股市數據,包括股票價格、歷史數據、公司資料等。無論是想分析特斯拉的股價走勢,還是比較蘋果和微軟的財報,yfinance都能助你一臂之力。對於那些渴望用程式操盤的金融探險家來說,學習如何使用yfinance,就像掌握了一把開啟股市寶藏的鑰匙!
yfinance
是一個 Python 套件,它提供了一種簡單的方法來從 Yahoo 財經獲取金融數據。這個套件非常適合那些需要進行股票市場分析、財務數據探索或建立投資策略的程式開發人員和數據分析師。
以下是一些 yfinance
的主要功能:
yfinance
也允許用戶獲取實時交易數據(雖然可能有輕微的延遲)。yfinance
的 API 設計得非常直觀,方便用戶快速上手。它允許您使用簡單的函數調用來獲取所需的數據。安裝 yfinance
的方法非常簡單,只需要使用 Python 的包管理器 pip:
pip install yfinance
使用 yfinance
獲取數據的一個基本示例:
import yfinance as yf
# 獲取 Apple 股票的數據
apple = yf.Ticker("AAPL")
# 獲取 Apple 股票的歷史價格
hist = apple.history(period="1mo")
# 顯示數據
print(hist)
這個示例將顯示過去一個月內 Apple 股票的歷史價格數據。您可以調整 period
參數來獲取不同時間範圍的數據。
在 yfinance
套件中,history
方法是用來獲取股票或其他金融工具的歷史市場數據的主要方式。這個方法返回一個包含了選定時間範圍內的市場數據的 Pandas DataFrame。這些數據通常包括開盤價、最高價、最低價、收盤價和交易量。
以下是 history
方法的基本用法:
import yfinance as yf
# 創建一個股票對象
stock = yf.Ticker("股票代碼")
# 使用 history 方法獲取歷史數據
historical_data = stock.history(period="1mo", interval="1d", start=None, end=None, actions=True, auto_adjust=True, back_adjust=False)
這裡是 history
方法的參數說明:
例如,若要獲取台積電(代碼 "2330.TW")過去三個月的每日股票數據,您可以這樣做:
taiwan_2330 = yf.Ticker("2330.TW")
data = taiwan_2330.history(period="3mo")
# 畫出收盤價圖片
data['Close'].plot()
這段代碼將返回一個 DataFrame,其中包含台積電在過去三個月內每天的開盤價、最高價、最低價、收盤價和交易量。這些數據可用於進行股票市場分析和決策制定。
在 yfinance
套件中,download
方法是一種非常有用的功能,它允許用戶批量下載多個股票的歷史市場數據。這對於需要一次性分析多個股票或資產的用戶來說特別方便。
使用 download
方法的基本語法如下:
import yfinance as yf
data = yf.download(tickers, start=None, end=None, interval="1d", group_by='ticker', auto_adjust=False, prepost=False, threads=True, proxy=None)
這裡是參數的簡要說明:
例如,如果您想下載蘋果公司(AAPL)、微軟公司(MSFT)和谷歌(GOOGL)從 2020 年 1 月 1 日到 2020 年 12 月 31 日的每日股票數據,您可以這樣寫:
data = yf.download(["AAPL", "MSFT", "GOOGL"], start="2020-01-01", end="2020-12-31")
此方法會返回一個包含所選股票在指定時間範圍內的歷史數據的 Pandas DataFrame。這是一個非常強大的功能,因為它讓收集和分析多個股票的數據變得非常簡單和高效。
當使用 yfinance
的 download
方法下載股票數據時,返回的資料通常是一個 Pandas DataFrame。這個 DataFrame 包含了若干列,每列代表不同的市場數據。以下是這些列的一般說明:
列名稱 | 說明 |
---|---|
Date | 日期,表明數據點的具體日期。 |
Open | 開盤價,指股票在該交易日開市時的價格。 |
High | 最高價,指股票在該交易日的最高交易價格。 |
Low | 最低價,指股票在該交易日的最低交易價格。 |
Close | 收盤價,指股票在該交易日結束時的價格。 |
Adj Close | 調整後收盤價,將股票分割和股息等因素考慮進去後的收盤價。 |
Volume | 交易量,表示在該交易日內買賣該股票的總股數。 |
如果您下載多個股票的數據,DataFrame 會稍有不同。在這種情況下,數據通常會按股票代碼進行分組,每個股票代碼下會有上述的數據列。
說明如何使用 yfinance
下載台灣 2330 (台積電) 的股票數據並繪製 K 線圖。您可以在您自己的 Python 環境中運行此程式。
首先,您需要安裝 yfinance
和 mplfinance
套件。mplfinance
是一個用於財經數據視覺化的套件,特別適用於繪製 K 線圖。您可以使用 pip 進行安裝:
pip install yfinance mplfinance
然後,您可以使用以下腳本來下載台灣 2330 股票數據並繪製 K 線圖:
import yfinance as yf
import mplfinance as mpf
# 下載台灣 2330 (台積電) 的股票數據
taiwan_2330 = yf.Ticker("2330.TW")
df = taiwan_2330.history(period="1mo")
# 檢查數據是否成功下載
if df.empty:
print("股票數據下載失敗或沒有數據。")
else:
# 繪製 K 線圖
mpf.plot(df, type='candle', style='charles', title='2330', volume=True)
這段腳本將從 Yahoo 財經下載過去一個月的台積電股票數據,然後使用 mplfinance
套件繪製 K 線圖。您可以根據需要調整 period
參數來改變數據的時間範圍。請在您的本地 Python 環境中運行這段腳本來獲取結果。
yfinance
模組的資料來源是從 Yahoo財經上面的的股票資訊,資料包括開盤價、最高價、最低價、收盤價和交易量等重要信息。結合 pandas 的強大數據處理能力和配合繪圖庫,如 matplotlib 或 mplfinance,用戶可以方便地生成圖表,如 K 線圖,這對於視覺化分析和呈現市場趨勢來說非常的好用。
分享所學貢獻社會
[Python教學]開發工具介紹
[開發工具] Google Colab 介紹
[Python教學] 資料型態
[Python教學] if判斷式
[Python教學] List 清單 和 Tuple元組
[Python教學] for 和 while 迴圈
[Python教學] Dictionary 字典 和 Set 集合
[Python教學] Function函示
[Python教學] Class 類別
[Python教學] 例外處理
[Python教學] 檔案存取
[Python教學] 實作密碼產生器
[Python教學] 日期時間
[Python教學] 套件管理
[Python爬蟲] 網路爬蟲
[Python爬蟲] 分析目標網站
[Python爬蟲] 發送請求與解析網站內容
[Python爬蟲] Requests 模組
[Python爬蟲] Beautiful Soup 模組
[Python爬蟲] Selenium 模組
[Python爬蟲] Pandas模組
我們推出電子報拉,歡迎大家訂閱免費電子報,會接收到分享的程式文章,
透過閱讀文章,今天比昨天進步一點,每天的一小步,就是未來的一大步。
訂閱免費電子報
Facebook 粉絲頁 - TechMasters 工程師養成記
同步分享到部落格