投資教室💼 投資組合你以為你分散了?用相關係數檢查真相
💼 投資組合6 分鐘閱讀

你以為你分散了?用相關係數檢查真相

買很多檔不等於分散投資。相關係數告訴你哪些持股其實是同一筆投資,用平均 ρ 與高相關警示找出偽分散。

你以為你分散了?用相關係數檢查真相

本文採用本站四段式教學結構:概念 / 本站怎麼算 / 怎麼看數字 / 注意事項。

1. 概念

「不要把雞蛋放在同一個籃子」是投資界最老的格言。但什麼叫做「不同籃子」

答案不是「買很多檔」,而是「買低相關幾檔」。

假設你買了:

  • 台積電(2330)
  • 聯電(2303)
  • 日月光投控(3711)
  • 矽力-KY(6415)

看起來是 4 檔不同公司。但它們是半導體產業的 4 個不同環節 —— 景氣好一起漲、景氣差一起跌。實質上等於買了一檔「放大版半導體 ETF」

**相關係數(Correlation Coefficient)**就是量化「兩檔股票的走勢有多像」:

  • ρ = +1 完全同步漲跌
  • ρ = 0 毫無關係
  • ρ = −1 完全相反

理想的分散投資組合:平均 ρ 接近 0 甚至為負

2. 本站怎麼算

資料源

  • 自選 / 投組內的個股
  • 日收盤價 → 算日報酬率(pct_change)
  • 過去 252 個交易日(可自訂)

雙指標同時計算

指標特性優勢
Pearson ρ線性相關、假設常態分布業界標準,好溝通
Spearman ρ等級相關、不假設分布對極端值(如閃崩)更穩健

兩者同時呈現。若兩者差距很大,代表資料有非線性或極端值,需額外留意。

關鍵產出

  • 相關矩陣(n × n,對稱矩陣,對角線為 1)
  • 平均相關係數 = 上三角所有 pair 的平均(排除對角線)
  • 分散度評分
    • 平均 ρ < 0.3 → 🟢
    • 0.3 ≤ 平均 ρ < 0.6 → 🟠
    • 平均 ρ ≥ 0.6 → 🔴
  • 高相關警示:任一 pair ρ ≥ 0.85 即列入警示
  • 最高 / 最低 pair

跨市場不合算

台股、美股分兩張表呈現。原因:

  • 交易時段不同(台股 9:00–13:30 / 美股深夜台灣時區)
  • 幣別不同
  • 交易日曆不同(國定假日)

混算會產生時區偏誤,與真實相關性脫鉤。

前端快取

  • 相同組合 15 分鐘內不重算(模組層單例快取)
  • 手動新增股票會立即重算

3. 怎麼看數字

自選頁:分散度徽章

摘要列會出現一顆小徽章:

分散度 [高 / 中 / 低]  [⚠ 3]
  • 中間的等級是「平均 ρ」結論
  • 右側紅點 + 數字 = 有幾組 pair 是高相關警示(ρ ≥ 0.85)
  • 點擊徽章展開細節:平均 ρ、樣本日數、高相關 pair 列表、最高/最低 pair

投組頁:完整熱力圖

投組頁下方新增「相關性矩陣」區塊:

熱力圖配色

  • 深紅 → 正相關強
  • 深綠 → 負相關強(罕見但極有價值)
  • 灰 → 接近 0(理想的分散)

四象限實戰判讀

你在熱力圖上找的是綠色與灰色格子,而不是紅色:

  • 一片紅 → 整組高度連動,實質沒分散
  • 有紅有灰 → 部分分散
  • 全灰或有綠 → 真正的分散

高相關警示列表

投組頁熱力圖下方會列出所有 ρ ≥ 0.85 的 pair,並用紅色標示。這代表這兩檔幾乎等於同一筆投資,建議:

  • 移除其中一檔
  • 或把兩檔視為單一部位,調整權重

典型情境

狀態意義建議
分散度 高 + 無警示真分散維持
分散度 中 + 1–2 組警示部分重疊檢查重疊 pair 是否同產業/同 ADR
分散度 低 + 多組警示偽分散重新配置,加入不同產業 / 不同資產類別

4. 注意事項

⚠️ Pearson 的兩個假設常被違反

Pearson 假設:

  1. 線性關係
  2. 常態分布

股票報酬常常兩個都違反(厚尾、偏態、極端事件)。所以本站同時提供 Spearman 作穩健性檢查。兩者差距大就提高警覺,那是指報酬分布有尾部事件。

⚠️ 樣本長度影響極大

  • N < 60 日:相關性估計極不穩定,UI 標 ⚠ 樣本少於 60 日 紅色警示
  • N = 252 日:業界標準,可靠度足夠
  • N > 500 日:可能涵蓋結構性變化(併購、業務轉型),反而稀釋近期關聯

本站預設 252 日,也允許調整。

⚠️ 相關性不是因果關係

高相關不代表「A 漲所以 B 漲」。可能是:

  • 同產業:景氣循環一起帶動
  • 同 ADR:台積電(2330)vs TSM,其實是同一家公司不同交易所
  • 同因子:兩檔都受美元指數影響

找到原因才能決策。兩檔高相關但原因是「同 ADR」→ 當然要拿掉一檔;若原因是「都吃某經濟指標」→ 可能需要對沖而非拿掉。

⚠️ 高維度多重檢定

當你投組有 20 檔,就有 C(20,2) = 190 對 pair。即使兩兩完全獨立,統計學上平均也會有 ~10 組看起來高相關(α = 0.05 下的偶然)。所以:

  • 1–2 組高相關警示可能是雜訊
  • 超過 5 組就該重新檢視配置

目前本站不做多重檢定校正(Bonferroni 等),這是未來的進階優化。

⚠️ 這不是完整的風險分析

相關性告訴你「同步性」,但沒告訴你

  • 波動度(一檔日波動 1%、一檔 5%,相關係數一樣)
  • 尾部風險(極端事件可能讓所有股票相關性趨近 1,即「相關性崩潰」)
  • 基本面偏誤(兩檔都體質差,ρ 再低也不分散風險)

相關性是分散投資的必要條件,不是充分條件。


延伸閱讀

  • 〈Sharpe Ratio:衡量你的投資效率〉
  • 〈Beta 值與波動度:一張圖看懂個股風險〉
  • 〈CVaR:真的踩到最差 5% 會虧多少〉(Phase 1C 即將推出)

動手試試看

  • 打開 自選頁 看摘要列的「分散度」徽章,點擊展開
  • 打開 投組頁,捲到下方看相關性矩陣熱力圖
  • 點 📐 查看完整公式與本站參數

學完了?自己動手試試看

用 CTSstock 的工具實際操作一次,加深理解

打開投組頁查看相關性矩陣