【資產配置】黃金和美國國債的投資組合

討論黃金和美債之間的相關性,以及如何建構避險投資組合

Hayden海頓君
data-driven-investment
8 min readFeb 25, 2020

--

原創不易,若轉載請先告知,本人保有法律追訴權

警語:本文為學術目的探討,不表示任何實質投資建議,本部落格也不為投資損益負責,投資人須自負盈虧。

Abstract

本篇文章為針對M平方網站的論點: 黃金和美國國債與通膨率的相關性是相反的 (【操盤人必看】觀察美債,需要用到哪些指標 (下)) 進行討論,發現文中所說的論述是錯的!正確來說是有時為相同有時為相反。此外,更深入討論在股市下檔時如何以黃金和美債作資產配置,建立一個能達到避險效果的投資組合,最後找出該投資組合的效率前緣。

Price Series of Gold v.s. Treasury

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import quandl
quandl.ApiConfig.api_key = "YOUR-KEY-HERE"
start_date, end_date = "1985-01-01", "2020-02-20"
assets = {'Notes':'CHRIS/CME_TY1', # U.S. 10y notes futures
'GLD':'WGC/GOLD_DAILY_USD' # U.S. Gold futures
}
FIGSIZE = (15, 10)
Notes = quandl.get(assets['Notes'], start_date=start_date, end_date=end_date)
GLD = quandl.get(assets['GLD'], start_date=start_date, end_date=end_date)
data_p = (pd.merge(Notes[['Open']], GLD[['Value']], left_index=True, right_index=True, how='inner')
.rename(columns={'Open':'Notes', 'Value':'GLD'})
)

我們從Quandl拿到1985到2020期間美國10年期公債期貨和黃金期貨的日收盤資料,下圖右軸為10年期公債期貨價格,左軸為黃金期貨。

png
png

收益率分析

1. 時間序列不具有穩定的相關性

ret = (data_p.to_period(freq='W')
.pct_change()
.dropna()
.assign(spread = lambda df: df.iloc[:,0]-df.iloc[:, 1])
)
ret[['Notes', 'GLD', 'spread']].plot(subplots=True, figsize=FIGSIZE)

由於價格的序列一般不具有stationary,這裡採用價格一階差分後的收益率作為主要分析對象,此外,為了簡化分析,這裡取週頻率的資料進行討論。將兩者的週收益率做一階差分(spread)後發現並沒有何者具有更穩定的報酬,也就是說黃金和美債有時黃金漲比較多,有時美債漲比較多。

png
png

接著我試著將資料平滑化,想看是否能有顯著差異,但很遺憾的不論是在10週,30週,60週的報酬上,兩項資產的收益率都沒有顯著的差異,此外,序列非常不穩定,時正時負,從過往的分析經驗中,這種情況很明顯是因為了兩者之間所具有一個隱藏的共變量:通貨膨脹率。

window = 10
ret = (ret.assign(g_10 = ret['GLD'].rolling(window).mean() )
.assign(n_10 = ret['Notes'].rolling(window).mean() )
.dropna()
.assign(rc_10 = lambda df: df.loc[:,'g_10'].rolling(window).corr(df.loc[:, 'n_10']) )
)
ret[['g_10', 'n_10', 'rc_10' ]].plot(subplots=True, figsize=FIGSIZE, title='10 Weeks Rolling Correlation')
png
png
png
png
png
png

2. 收益率分析:加入通膨率

M平方的文章中有提及以下觀點:

美債與利率 反向變化;美債與通膨 反向變化。

黃金與利率 反向變化;黃金與通膨 同向變化。

在這邊我們將分析美債/黃金/通膨三者的週變化率,可以發現在上圖三維空間中三者不具有簡單的幾何結構,例如線性關係,這不合乎我們的預期。此外,在下圖黃金和通膨之間的相關係數竟然只有-3%,而美債和通膨之間的相關係數也只有3%。

png
png
png
window = 30
df_corr = (data.assign(Inf_Notes = data['Inf'].rolling(window).corr(data['Notes']))
.assign(Inf_GLD = data['Inf'].rolling(window).corr(data['GLD']))
.assign(Corr_Notes_GLD = lambda df: df['Inf_Notes'].rolling(window).corr(df['Inf_GLD']) )
)
graph_1, graph_2 = plot_rolling_corr(df_corr, window, cols=['Inf_Notes', 'Inf_GLD', 'Corr_Notes_GLD'])

我猜測是因為少看了一個維度:時間。因此採用30天移動窗口的方式重新計算相關係數,果然找到兩者之間的關係。其相關性由利率和通膨率兩項因子所構成,其中利率影響均為正,通膨率對黃金為正美債為負,當利率佔據主導性時兩者的相關係數會呈現正相關,反之則呈現負相關,勢均力敵則互相抵銷。

png
png

何者是較佳的避險資產

美股的兩次世紀大崩盤

美股我用標普指數作為benchmark,可以看到從90年代以來一路狂漲到現在,中間經歷了兩次大崩盤,分別是2000年的.com泡沫和2008年的次貸風暴,之後一路高歌猛進直到現在。

png
png

一開始我預期在兩次衰退期間利率因子的影響應該比較顯著,即兩者個別對通膨的相關性的相關性應該為正,但數據卻呈現出完全相反的狀況:在兩次崩盤期間都是通膨因子的影響較為顯著,復甦後才由利率因子呈現主導。數據打臉了我倒果為因的推論,事實上是利率因子在股市崩盤前佔據主導性,也就是因為低利率引出的市場流動性過剩將股市估值推向高峰後,崩盤才接著發生。

png
png

如何建構崩盤崩盤期間的投資組合

接下來討論如何建構崩盤期間的投資組合,首先抽樣出兩者在崩盤期間的價格序列,單位為每日收盤價。

png
png

投資組合-1: 上帝視角

接著用一個naive的方法探討收益率:假設我們具有上帝視角,知道崩盤會在那一天發生,並在那一天分別全額買入黃金和美債,然後再崩盤結束股市漲回後賣出。下圖可以發現兩次崩盤期間美債的表現是穩定的,但是黃金真的很不穩定,第一次崩盤期間一開始沒反應接著漲的很兇猛,第二次崩盤期間則先漲後下跌回原點,然後又狂漲一波,要心臟很大才能單買黃金。

png
png

投資組合-2: 等比例投資組合

接著建構等比例投資組合,其原理是利用兩者間由通膨率預期所造成的負相關性來消除投資組合的上下波動,具體可以參見這篇關於投資組合的文章。這個投資組合可以蠻好的帶我們度過這波衰退週期,不會有大漲大跌,並且保證至少還本,是個適合退休族的穩健投資組合。

png
png

投資組合-3: 效率前緣

最後我們畫出黃金佔比由1%到100%的效率前緣,投資人可以依照自己的風險承受程度選擇適當的投資比例,基本上黃金持有越多的投資組合具有高波動高報酬的特性,美債則相反。

png
png

Conclusion

本文三大重點:

  • 黃金和美債具有兩項估值因子:通膨率和利率
  • 黃金和美債相對通膨率的相關性是相反的,利率均為正
  • 利用兩者的相關性可以建構出避險的投資組合

--

--