1105_4.1 Deviation Chart 偏差圖

1105_4.1 Deviation Chart 偏差圖

這張圖展示了各家半導體公司在 2025-09-19 相較於 2023 年年初市值變動(Market Cap Deviation),數據單位是 十億美元(Billion USD)。這些變動數值顯示每家公司在這段時間內的市值增減情況。

圖表解釋:

  1. Y 軸:表示市值的變動值,以 十億美元 為單位。正值代表公司市值增加,負值代表公司市值下降。
    • 例如,NVIDIA(NVDA)的市值增加了超過 4,156 億美元(4T USD 即 兆美元),這表明該公司在 2025 年的市場表現極其強勁。
    • 其他公司如 TSMC 和 Broadcom(AVGO)也有較顯著的增長,但相比 NVIDIA,增幅較小。
  2. X 軸:表示各家公司。每家公司都以其簡稱(如 NVDA、TSMC、AVGO 等)表示。
    • 公司如 NVIDIA(NVDA)台積電(TSMC) 在這段時間內市值大幅增長。
    • 反之,英特爾(INTC) 顯示了負的市值偏差,這意味著其市值在 2024 年減少了。
  3. 數值標籤:每個柱狀圖上方顯示的數字是對應公司的市值偏差,單位是 十億美元(Billion USD)。這些標籤能清楚地告訴你各家公司市值變動的具體數字。
    • 例如,NVIDIA 增加了大約4.16兆美元,而 Intel 減少了約 1125 億美元

整體解讀:

  • 表現最佳的公司:NVIDIA 是這段時間市值增長最為顯著的公司,市值增加超過 4兆美元,顯示了其強勁的市場需求和技術領先。
  • 其他增長公司:台積電(TSMC)和 Broadcom 也有顯著的增長,市值分別增加了幾百億美元。
  • 表現較弱的公司:Intel 顯示了市值減少 1125億的情況,這表明該公司在市場上面臨挑戰,可能由於競爭加劇或技術落後等因素導致其市值下降。

使用這張圖的意義:

這張圖可以幫助你快速分析各家公司在 2020 年初至 2025年 09 月 19 日這段時間內的市場表現。你可以根據市值增減來判斷哪些公司在市場中取得了成功,哪些公司可能面臨挑戰。

Source Code

# 處理欄位

import pandas as pd

# 掛載 Google Drive(如果還沒有掛載)
from google.colab import drive
drive.mount('/content/drive')

# 讀取 CSV 文件
input_file = '/content/drive/My Drive/Semicon_Analysis/semiconductor_merged_09231.csv'
df = pd.read_csv(input_file)

# 定義公司簡稱字典
company_abbr = {
    'ASML Holding N.V.': 'ASML',
    'Advanced Micro Devices, Inc.': 'AMD',
    'Analog Devices, Inc.': 'ADI',
    'Applied Materials, Inc.': 'AMAT',
    'Arm Holdings plc': 'ARM',
    'Broadcom Inc.': 'AVGO',
    'Intel Corporation': 'INTC',
    'KLA Corporation': 'KLA',
    'Lam Research Corporation': 'LRCX',
    'Marvell Technology, Inc.': 'MRVL',
    'MediaTek Inc.': 'MTK',
    'Micron Technology, Inc.': 'MU',
    'NVIDIA Corporation': 'NVDA',
    'QUALCOMM Incorporated': 'QCOM',
    'SK hynix Inc.': 'SKH',
    'Samsung Electronics Co., Ltd.': 'SEC',
    'Synopsys, Inc.': 'SNPS',
    'Taiwan Semiconductor Manufacturing Company Limited': 'TSMC',
    'Texas Instruments Incorporated': 'TXN',
    'Tokyo Electron Limited': 'TEL'
}

# 添加公司簡稱欄位
df['company_abbr'] = df['Company Name'].map(company_abbr)

# 檢查是否有任何公司名稱沒有找到對應的簡稱
missing_abbr = df[df['company_abbr'].isna()]['Company Name'].unique()
if len(missing_abbr) > 0:
    print("下列公司名稱沒有找到對應的簡稱:")
    print(missing_abbr)

# 將新的數據集存回到 CSV 文件
output_file = '/content/drive/My Drive/Semicon_Analysis/semiconductor_merged_1017.csv'
df.to_csv(output_file, index=False)

print(f'新檔案已保存至: {output_file}')
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.ticker as mtick

# === 讀取 CSV 文件 ===
df = pd.read_csv('/content/drive/My Drive/Semicon_Analysis/semiconductor_merged_09232.csv')

# 確保日期格式正確
df['Date'] = pd.to_datetime(df['Date'])

# === 設定基準年 ===
baseline_year = 2020

# 取出基準年年初的市值(1月第一筆交易資料)
baseline_market_cap = (
    df[(df['Date'].dt.year == baseline_year) & (df['Date'].dt.month == 1)]
      .sort_values(by='Date', ascending=True)
      .groupby(['Ticker'])
      .first()
      .reset_index()[['Ticker', 'Market Cap (USD)']]
)
baseline_market_cap.rename(columns={'Market Cap (USD)': f'{baseline_year} Start Market Cap (USD)'}, inplace=True)

# 將基準年市值合併回原始 df
df = df.merge(baseline_market_cap, on='Ticker', how='left')

# 計算市值偏差 = 當前市值 - 基準年年初市值
df['Market Cap Deviation'] = df['Market Cap (USD)'] - df[f'{baseline_year} Start Market Cap (USD)']

# === 選擇最新日期的數據 ===
latest_date = df['Date'].max()
latest_df = df[df['Date'] == latest_date]

# === 繪製柱狀圖 ===
plt.figure(figsize=(12, 6))
bars = plt.bar(latest_df['company_abbr'], latest_df['Market Cap Deviation'])

# 設定圖表標題與軸標籤
plt.title(f'Market Cap Deviation on {latest_date.strftime("%Y-%m-%d")} from {baseline_year}', fontsize=14)
plt.xlabel('Company', fontsize=12)
plt.ylabel('Market Cap Deviation (Billion USD)', fontsize=12)

# 格式化 Y 軸為十億單位
plt.gca().yaxis.set_major_formatter(mtick.FuncFormatter(lambda x, _: f'{x*1e-9:.1f}B'))

# 旋轉 X 軸標籤避免重疊
plt.xticks(rotation=90)

# 在每個柱狀圖上方添加數值標籤(轉換為 Billion 顯示)
for bar in bars:
    yval = bar.get_height()
    plt.text(bar.get_x() + bar.get_width()/2, yval, f'{yval*1e-9:.1f}B',
             ha='center', va='bottom', fontsize=9)

plt.tight_layout()
plt.show()