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

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

更新於 發佈於 閱讀時間約 5 分鐘

ETF (exchange-traded funds) 近年已逐漸成為投資人青睞的投資工具,透過指數證券化,投資人可以以相對低廉的門檻參與追蹤的指數,在一些被動型的股票ETF,投資人更能透過買進一籃子股票做到某種程度的避險。與此同時,儘管長期以被動型的股票ETF追蹤大盤指數既省心又能獲取不錯的報酬,我們要如何評估現在的ETF價格是否在上緣或是有被低估的可能呢?

本益比

本益比 (PE Ratio) 經常用來評估一檔股票是便宜或是昂貴常用的工具,公式是 股價 ÷ 每股盈餘 (或市值÷總盈餘)。

我們可以使用相同原理對一檔股票型ETF進行PE估值:

1. 撈取一檔ETF所有的持倉股票清單。

2. 每檔股票持有股數

3. 每檔股票的EPS

4. 計算每檔股票的總盈餘

5. ETF的總市值: 可以使用ETF股價乘上其流通股數或每檔持倉股票的股價乘上持有股數

6. ETF的總市值 / ETF的總盈餘 得到此ETF的本益比。

在此篇我們會以國泰永續高股息ETF (代號00878)為例,在Google Colab使用Python計算其PE比例。


持倉股票清單

國泰提供ETF相關持倉和股數的下載連結。將下載檔案預存成data.xlsx。

  • 導入所需的模組
import urllib from openpyxl 
import load_workbook
import pandas as pd
  1. urllib 用於處理 URL 的請求,這裡用來下載檔案。
  2. openpyxl 用於操作 Excel 檔案,支援 .xlsx 格式。
  3. pandas 用於資料分析,將資料存入 DataFrame。


  • 下載 Excel 檔案
dls = "https://cwapi.cathaysite.com.tw/api/ETF/DownloadETFWeightExcel?FundCode=CN&SearchDate=2024/10/01"
urllib.request.urlretrieve(dls, "data.xlsx")
  1. 這裡 dls 是 Excel 檔案的下載連結。
  2. urllib.request.urlretrieve(dls, "data.xlsx") 會從指定的 URL 下載檔案,並將其儲存為 data.xlsx


  • 讀取 Excel 檔案
wb = load_workbook(filename='data.xlsx', read_only=True)
ws = wb['Sheet0']
  1. 使用 openpyxlload_workbook 函式載入 data.xlsx,設定為唯讀模式(read_only=True)。
  2. ws 是 Excel 檔案中的工作表,這裡選擇 Sheet0


  • 提取指定範圍的資料後轉換為 Pandas DataFrame
data_rows = []
for row in ws['A1':'D47']:
data_cols = []
for cell in row:
data_cols.append(cell.value)
data_rows.append(data_cols)

df_878 = pd.DataFrame(data_rows)

df_878.columns = df_878.iloc[0]
df_878 = df_878[1:]


如此我們就將最新的持倉細節、權重撈到手了 (如下圖),下篇會講解定義函式來撈取相關盈餘、股價等資訊。


raw-image




謝謝您花時間將此篇文章讀完,若覺得對您有幫助可以幫忙按個讚、分享來或是珍藏喔!也歡迎Follow我的Threads/ FB,持續追蹤生產力工具、商業分析、商業英文的實用範例,提升自己的職場力喔!

avatar-img
DigNo Ape 數遊原人
49會員
118內容數
我們秉持著從原人進化的精神,不斷追求智慧的累積和工具的運用來提升生產力。我們相信,每一個成員都擁有無限的潛力,透過學習和實踐,不斷成長和進步。
留言
avatar-img
留言分享你的想法!
DigNo Ape 數遊原人 的其他內容
根據 h1bdata info 整理的資料顯示,雇主於2024 提交H1B簽證所包含的薪資訊息,以關鍵字Data Analyst 的1700多條紀錄為例: - 薪資中位數是$85000. - 約有2%介於$150K到$200K - 21% 介於$100K到$150K - 以中位數來看近三年數
使用Python 於valuesider網站爬取巴菲特(波克夏 海瑟威)13F報告,並製作成動態barchart,數據更新至FY24Q3。
根據 h1bdata info 整理的資料顯示,雇主於2024 提交H1B簽證所包含的薪資訊息,以關鍵字Data Analyst 的1700多條紀錄為例: - 薪資中位數是$85000. - 約有2%介於$150K到$200K - 21% 介於$100K到$150K - 以中位數來看近三年數
使用Python 於valuesider網站爬取巴菲特(波克夏 海瑟威)13F報告,並製作成動態barchart,數據更新至FY24Q3。
本篇參與的主題活動
搞懂季度再平衡+債券對沖,實務上應該如何操作並注意哪些重點 重點摘要:為什麼要認識這組能穿越牛熊的長期投資組合 如何由《財星500強》大企業選股,打造的實證長期投資策略方法 從你的長線投資組合如何選股一個跨科技、消費、金融、能源的『全產業核心組合』,而非單壓科技或熱門題材。但又輕鬆的方法
前言 好不容易太座的帶狀泡疹稍微康復,上周開始,又輪到學徒我咳到腦瓜子疼,連整組心肝肺都快被淘出來了,實在沒辦法好好寫文章,在此跟各位讀者致歉。聽說小孩子的感冒病毒傳染給大人都特別的慘烈,這次我相信了。 紐西蘭南島短暫的夏天都到家門口了,望著屋外漂亮的景致,卻沒有精氣神好好出門踏青旅遊,
被巿場視為無風險利率的商品:短天期美債,竟然讓我在四個交易日嚐到了1.27%的跌幅,這究竟是怎麼回事呢!  
搞懂季度再平衡+債券對沖,實務上應該如何操作並注意哪些重點 重點摘要:為什麼要認識這組能穿越牛熊的長期投資組合 如何由《財星500強》大企業選股,打造的實證長期投資策略方法 從你的長線投資組合如何選股一個跨科技、消費、金融、能源的『全產業核心組合』,而非單壓科技或熱門題材。但又輕鬆的方法
前言 好不容易太座的帶狀泡疹稍微康復,上周開始,又輪到學徒我咳到腦瓜子疼,連整組心肝肺都快被淘出來了,實在沒辦法好好寫文章,在此跟各位讀者致歉。聽說小孩子的感冒病毒傳染給大人都特別的慘烈,這次我相信了。 紐西蘭南島短暫的夏天都到家門口了,望著屋外漂亮的景致,卻沒有精氣神好好出門踏青旅遊,
被巿場視為無風險利率的商品:短天期美債,竟然讓我在四個交易日嚐到了1.27%的跌幅,這究竟是怎麼回事呢!