Member-only story
在前一篇 Part 1中,我們成功地將國泰永續高股息ETF (代號00878)的持倉內容(股名、股數)撈出,本篇會介紹如何定義函式來撈取相關盈餘、股價等資訊,輸入股票代碼後回傳預估EPS。
forward EPS
這裡我們要研究一下什麼欄位會回傳forward EPS & forward PE。我們可以先到Yahoo Finance 搜尋 3231.TW (緯創),可以看到明年EPS預測值(forward EPS)為$8.57。
使用yahoo_fin.stock_info函式庫模組,使用以下程式碼撈取3231的forward PE & EPS。
detail = yf.Ticker('3231.TW')
detail.info.get('forwardPE')
detail.info.get('forwardEps')
你也可以使用detail.info.get(‘trailingPE’)撈取跟去過去12個月的EPS算出的PE,但這樣算出的ETF 本益比就會是根據個股過去EPS所算出的PE。
定義函式
- 導入所需的模組
import yfinance as yf
- 定義函式
def get_info_yfinance(tickers):
定義了一個名為 get_info_yfinance
的函式,參數 tickers
表示股票代碼(如 AAPL、GOOG、2330.TW 等)。
- 嘗試從 Yahoo Finance 取得資料
try:
detail = yf.Ticker(tickers)
提取不同的財務指標 (下一個部分)
except: pass
- 使用
yf.Ticker(tickers)
建立一個detail
物件來提取指定股票的資料。 - 在提取資料過程中,如果出現錯誤(例如股票代碼無效或資料不可用),
except
部分會捕捉錯誤並跳過,不執行任何操作(pass
),從而避免程式無法繼續執行而中斷。