Member-only story

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

DigNo Ape
1 min readOct 16, 2024

--

本篇我們會繼續討論從Part 1 撈取的 df_878 中提取股票代碼,並使用先前Part 2 定義的 get_info_yfinance 函式來獲取 Yahoo Finance 上的財務資料,接著將這些資料貼回 df_878 的相應欄位中。

以下是此程式碼的逐步解說:

  • df_878 中的每一列資料中,獲取ticker
i = 1
for row in df_878.to_records(index=False):
ticker = str(row[0]).strip() + '.TW'
  1. 提取當前行的股票代碼,去除多餘的空白並加上 .TW,以符合 Yahoo Finance 的台灣股票代碼格式。
  2. print(ticker) 用於顯示當前處理的股票代碼,方便檢查。
  • 使用 get_info_yfinance 函式取得財務資料
data = get_info_yfinance(ticker)

將結果儲存在 data 變數中。data 包含多個財務指標的數值。

  • 將取得的財務資料寫入 df_878 的指定欄位
df_878.loc[i, 'eps_trailing'] = data[0]
df_878.loc[i, 'eps_forward'] = data[1]
df_878.loc[i, 'bookvalue_per_share'] = data[2]
df_878.loc[i, 'previousClose'] = data[3]
df_878.loc[i, 'priceToBook'] = data[4]
df_878.loc[i, 'earningsGrowth'] = data[5]
df_878.loc[i, 'trailingPE'] = data[6]
df_878.loc[i, 'forwardPE'] = data[7]
df_878.loc[i, 'trailingPegRatio'] = data[8]
df_878.loc[i, 'currentPrice'] = data[9]
df_878.loc[i, 'targetMedianPrice'] = data[10]
df_878.loc[i, 'totalRevenue'] = data[11]
df_878.loc[i, 'revenuePerShare'] = data[12]
df_878.loc[i, 'revenueGrowth'] = data[13]
df_878.loc[i, 'operatingMargins'] = data[14]
df_878.loc[i, 'totalCashPerShare'] = data[15]
df_878.loc[i…

--

--

DigNo Ape
DigNo Ape

Written by DigNo Ape

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

No responses yet