Member-only story

Python 解鎖 :如何計算 ETF 的PE Ratio? (以00878為例) Part 2

DigNo Ape
Oct 5, 2024

--

在前一篇 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
  1. 使用 yf.Ticker(tickers) 建立一個 detail 物件來提取指定股票的資料。
  2. 在提取資料過程中,如果出現錯誤(例如股票代碼無效或資料不可用),except 部分會捕捉錯誤並跳過,不執行任何操作(pass),從而避免程式無法繼續執行而中斷。

--

--

DigNo Ape
DigNo Ape

Written by DigNo Ape

我們秉持著從原人進化的精神,不斷追求智慧的累積和工具的運用來提升生產力。我們相信,每一個成員都擁有無限的潛力,透過學習和實踐,不斷成長和進步。

No responses yet