在前一篇 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 等)。
try:
detail = yf.Ticker(tickers)
提取不同的財務指標 (下一個部分)
except: pass
yf.Ticker(tickers)
建立一個 detail
物件來提取指定股票的資料。except
部分會捕捉錯誤並跳過,不執行任何操作(pass
),從而避免程式無法繼續執行而中斷。bookvalue_per_share = detail.info.get('bookValue')
forwardEps = detail.info.get('forwardEps')
trailingEps = detail.info.get('trailingEps')
closed = detail.info.get('previousClose')
priceToBook = detail.info.get('priceToBook')
earningsGrowth = detail.info.get('earningsGrowth')
trailingPE = detail.info.get('trailingPE')
forwardPE = detail.info.get('forwardPE')
trailingPegRatio = detail.info.get('trailingPegRatio')
currentPrice = detail.info.get('currentPrice')
targetMedianPrice = detail.info.get('targetMedianPrice')
totalRevenue = detail.info.get('totalRevenue')
revenuePerShare = detail.info.get('revenuePerShare')
revenueGrowth = detail.info.get('revenueGrowth')
operatingMargins = detail.info.get('operatingMargins')
totalCashPerShare = detail.info.get('totalCashPerShare')
averageVolume10day = detail.info.get('averageVolume10day')
averageDailyVolume10Day = detail.info.get('averageDailyVolume10Day')
這些變數都是從 detail.info
中提取的特定財務指標。幾個重要指標包括:
定義好函式後,下篇會講解利用Par1 撈取的df_878 + 本篇的函式開始逐筆(股號)填入計算本益比所需指標。
謝謝您花時間將此篇文章讀完,若覺得對您有幫助可以幫忙按個讚、分享來或是珍藏喔!也歡迎Follow我的Threads/ FB,持續追蹤生產力工具、商業分析、商業英文的實用範例,提升自己的職場力喔!