1105_4.1 Deviation Chart 偏差圖

1105_4.1 Deviation Chart 偏差圖

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

圖表解釋:

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

整體解讀:

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

使用這張圖的意義:

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

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_1016.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_1017.csv')

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

# 提取年份
df['Year'] = df['Date'].dt.year

# 提取每年年初的市值(以1月1日為基準)
# 如果公司在1月1日沒有交易,我們取年初最近的一天作為基準
year_start_market_cap = df[df['Date'].dt.month == 1].groupby(['Ticker', 'Year']).first().reset_index()[['Ticker', 'Year', 'Market Cap (USD)']]
year_start_market_cap.rename(columns={'Market Cap (USD)': 'Year Start Market Cap (USD)'}, inplace=True)

# 將年初市值與當前市值合併
df = df.merge(year_start_market_cap, on=['Ticker', 'Year'], how='left')

# 計算市值偏差 (當前市值 - 年初市值)
df['Market Cap Deviation'] = df['Market Cap (USD)'] - df['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 2023')
plt.xlabel('Company Name')
plt.ylabel('Market Cap Deviation (Billion USD)')

# 格式化 Y 軸以顯示十億(Billions)為單位
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() * 1e-9  # 將值轉換為十億
    plt.text(bar.get_x() + bar.get_width()/2, bar.get_height(), f'{yval:.1f}B', 
             ha='center', va='bottom', fontsize=10)

# 顯示圖表
plt.tight_layout()
plt.show()