hass用レバレッジド・ポートフォリオ(hass LPF)のパフォーマンスをちゃんと検証したよ

前回,らふにモデル化したZIVをつかってhass用レバレッジド・ポートフォリオ(hass LPF)の,2002年から2009年までのパフォーマンスを評価しました.しかし,あまりにらふすぎたので,信頼できるような評価ができませんでした.

そこで今回は,2004年から始まったVIX先物のヒストリカルデータから計算できるVIXインバース系ETF/ETN(まとめてETP)の理論価格を使って,hass LPFのパフォーマンスを検証します.

検証の結果,リーマン・ショック時に想像していた以上に ZIV が長期的にぐだぐだしているため,hass LPF は S&P 500 よりはパフォーマンスは良いけど,期待したパフォーマンスは得られませんでした.

これで終わると悲しいので,hass LPFを改良した hass LPF Mk-II を作りました.

ということで,順に説明していきます.

スポンサーリンク

VIXインバース系ETPの理論価格

今回利用するVIXインバース系ETPはSVXYとZIVです.SVXYはVIX先物短期指数のインバースに連動し,ZIVはVIX先物中期指数のインバースに連動します.

SVXYは2011年10月に,ZIVは2010年11月にできているので,それ以前の価格は存在しません.

ただし,2004年3月からVIX先物があり,SVXYやZIVが連動している指数の計算式は公開されています.したがって,それぞれの理論価格は算出可能です.

SVXYとZIVの理論価格を計算するのめんどくさいなぁと思いネットの海を彷徨っていたら,理論価格を公開されている方がいたのでそのデータをありがたく使わせていただきます.

外部サイト SVXY historical data and pricing model since VIX futures are available (2004) | The Intelligent Investor Blog
外部サイト ZIV historical data and pricing model since VIX futures are available (2004) | The Intelligent Investor Blog

SVXYとZIVの理論価格を2004年から2017年までをプロットしたのが次のグラフです.

ZIVはサブプライムショックを発端に,2004年からの上昇分を全戻し,さらにリーマンショック発生するとさらに大きく下げていますね.

それで,ZIVがサブプライムローン前の高値を回復したのが2017年に入ってからなんですね.これは想定外でした.

ZIVが設定された2012年からの値動きだけをみていると,SVXYより暴落に対して耐性があるように見えていました.しかし,実際はそのようなことはなく,金融危機が生じると想像以上にぐだぐだする値動きになっています.

これは,暴落後は限月が先の方ほど,現在より先は市況が良くなっているだろうということで値が低くなりバックワーデーションとなりやすい期間が長くなるからでは?と想像しています1時間があるときにちゃんと確認したいと思います.

このようにZIVの値動きとして当初想定していたものとは違っていたので,hass LPF の信頼性に疑義が生じました.案の定,パフォーマンスも期待していた結果にはなっていません.

一方,SVXYの値動きをみてみると,サブプライムショックからのリーマンショックまでの動きの傾向はZIVと同じですが,サブプライムショック前の高値までの回復がZIVより早いです.2011年頃には一旦回復していることが確認できます.もちろん,50%から60%のドローダウンは頻繁に起きており,値動きが激しいことには注意が必要です.

hass LPF Mk-II

ということで,ZIVを使った hass LPF はダメそうなのだけれども,どうしてもVIXインバース系ETPをいれたい私は,ZIVの代わりにSVXYを入れたレバレッジド・ポートフォリオを考えてみました.

もともと,VIXインバースETPの中でZIVを選んだ理由は,

  • ZIV は値動きがXIVやSVXYよりマイルドなので,金融危機が発生した場合でもドローダウンが小さくなるのでは,と想定(もちろん,これは間違っていました)
  • 流石に ZIV は早期償還条項にひっかかるような値下がりは起きないだろう

でした.

しかし,実際にはSVXYとZIVではリーマンショック時でも同程度の下落幅で,SVXYの方が早期に元の価格まで戻しています.過去の例から1日で80%減価するのは相当なショックがないとなさそうです2SVXYには早期償還条項はないと思いますが,念のため.

とはいえ,SVXYがなくなってしまう可能性もないことはないので,ポートフォリオの10%程度になるようにポートフォリオを組んでみました.それが次になります.比較としてhass LPFの配分も載せています.

hass LPF MkII
hass LPF zero

検証方法

基本的には前回と同様の方法で検証します.異なる点は,らふにモデル化したZIVを,上記の理論価格に置き換えたくらいです.

今回もRのコードを貼っておきます.

require(quantmod)
require(PerformanceAnalytics)

date.from <- "2004-03-26"
date.to   <- "2010-12-31"

# SPY
getSymbols("SPY", from=date.from, to=date.to)
SPY_return <- Return.calculate(Ad(SPY))
SPXL_return <- (SPY_return * 3) - 0.0001072794
colnames(SPY_return) <- c("SPY")
colnames(SPXL_return) <- c("SPXL (estimated)")


# TLT
getSymbols("TLT", from=date.from, to=date.to)
TLT_return <- Return.calculate(Ad(TLT))
TMF_return <- (TLT_return * 3) - 0.0001265848
colnames(TLT_return) <- c("TLT")
colnames(TMF_return) <- c("TMF (estimated)")

# VBMFX
getSymbols("VBMFX", from=date.from, to=date.to)
VBMFX_return <- Return.calculate(Ad(VBMFX))
colnames(VBMFX_return) <- c("VBMFX")

# VIX系ETPs
VIXETPs <- read.csv("vix-etps-2004-2010.csv", stringsAsFactors=F)
ZIV_return <- Return.calculate(as.xts(read.zoo(VIXETPs)[,4]))
SVXY_return <- Return.calculate(as.xts(read.zoo(VIXETPs)[,3]))
colnames(ZIV_return) <- c("ZIV (theoritical)")
colnames(SVXY_return) <- c("SVXY (theoritical)")

all_etps <- merge(SPXL_return, TMF_return, VBMFX_return, TLT_return, ZIV_return)
SPXL_TMF_TLT_ZIV <- merge(SPXL_return, TMF_return, TLT_return, ZIV_return)
SPXL_TMF_TLT_SVXY <- merge(SPXL_return, TMF_return, TLT_return, SVXY_return)
SPXL_TMF_TLT_SVXY_VBMFX <- merge(SPXL_return, TMF_return, TLT_return, SVXY_return, VBMFX_return)
SPXL_TMF_VBMFX <- merge(SPXL_return, TMF_return, VBMFX_return)

# 独立して確認
pdf(file="performance_2004-2010.pdf")
charts.PerformanceSummary(all_etps)

# ポートフォリオ
## リバランスあり
hass_lpf <- Return.rebalancing(SPXL_TMF_TLT_ZIV, weights=c(0.3, 0.2, 0.3, 0.2), rebalance_on="quarters", geometric=TRUE)
hass_lpf_mk2 <- Return.rebalancing(SPXL_TMF_TLT_SVXY_VBMFX, weights=c(0.4, 0.10, 0.30, 0.05, 0.15), rebalance_on="quarters", geometric=TRUE)
lpf_high <- Return.rebalancing(SPXL_TMF_VBMFX, weights=c(0.4, 0.3, 0.3), rebalance_on="quarters", geometric=TRUE)

colnames(hass_lpf) <- c("hass LPF")
colnames(hass_lpf_mk2) <- c("hass LPF Mk-II")
colnames(lpf_high) <- c("ROKOHOUSE LPF high")

pf_result <- merge(hass_lpf, hass_lpf_mk2, lpf_high, SPY_return)
charts.PerformanceSummary(pf_result)

## リバランスなし
hass_lpf_nor <- Return.rebalancing(SPXL_TMF_TLT_ZIV, weights=c(0.3, 0.2, 0.3, 0.2), geometric=TRUE)
hass_lpf_mk2_nor <- Return.rebalancing(SPXL_TMF_TLT_SVXY_VBMFX, weights=c(0.4, 0.10, 0.30, 0.05, 0.15), geometric=TRUE)
lpf_high_nor <- Return.rebalancing(SPXL_TMF_VBMFX, weights=c(0.4, 0.3, 0.3), geometric=TRUE)

colnames(hass_lpf_nor) <- c("hass LPF (no rebalancing)")
colnames(hass_lpf_mk2_nor) <- c("hass LPF Mk-II (no rebalancing)")
colnames(lpf_high_nor) <- c("ROKOHOUSE LPF (no rebalancing)")

pf_nor_result <- merge(hass_lpf_nor, hass_lpf_mk2_nor, lpf_high_nor, SPY_return)
charts.PerformanceSummary(pf_nor_result)

dev.off()
スポンサーリンク

検証結果: 2004年から2017年

まずは各ETPの累積リターンとドローダウンを見てみましょう.なお,これにSVXYを加えると,他のETPの値動きが見えなくなってしまうのでSVXYははずしています.

ZIVはSPXLに比べると,サブプライムショックからリーマンショックのドローダウンが僅かに小さいですが,上で見てきたように元に戻るまで長い期間かかっています.

このことから,金融危機が再び起こることを想定した上でポートフォリオを組む場合に,ポートフォリオにZIVに含める意味はないと言えるでしょう.ただ足を引っ張るだけですからね.

3ヶ月ごとのリバランス

hass LPFとhass LPF Mk-II,そして比較のために今回も ROKOHOUSE式可変レバレッジド・ポートフォリオ(高リスク)のパフォーマンスを見てみます.なお,3ヶ月ごとにリバランスしています.

サブプライムショックからリーマンショックのドローダウンに注目すると,いずれのポートフォリオも同程度です.特筆すべき事は,ROKOHOUSE式可変レバレッジド・ポートフォリオがいち早く回復していることですね.

hass LPF はぐだぐだですね.ドローダウンはS&P500と同程度でドローダウンが解消するのも同時期です.hass LPFはその後のリターンをみても当初期待していた結果になっていません.

一方で,SVXYを組み入れて調整したポートフォリオである hass LPF Mk-IIでは,サブプライムショックからリーマンショックのドローダウンからの回復はROKOHOUSE式可変レバレッジド・ポートフォリオと同時期です.ただ,2015年のチャイナショックからのドローダウンでは,他のポートフォリオと比べると少しドローダウンが大きめにでています.

各ポートフォリオの各指標を表にまとめておきます.

 年率リターン最大ドローダウンシャープレシオ
hass LPF15.0%50.8%0.828
hass LPF Mk-II18.8%53.6%0.940
ROKOHOUSE LPF (高リスク)16.1%49.6%0.866
S&P5008.53%55.1%0.460

リバランスなし

最後にリバランスなしの結果も載せます.

リバランスをしないと,hass LPF Mk-II のドローダウンが凄まじいですね.リバランスをしないと,SVXYの比率が大きくなりすぎて,SVXYの値動きにポートフォリオ全体の値動きが支配されています.

リバランスは大事ですね.

おわりに

今回は,VIXインバース系ETPの理論価格を使って,サブプライムショックからリーマンショックを含んだ期間のhass LPFのパフォーマンスを検証しました.ZIVが想像していた値動きとは異なったため,改良版としてZIVの代わりにSVXYをいれたポートフォリオ(hass LPF Mk-II)を組んで検証しました.

検証の結果,hass LPF Mk-IIはS&P500と同程度のドローダウンで大きくリターンを稼げることを確認できました.hass LPF Mk-IIをベースに実際に運用しようと思います.

とはいえ,hass LPF Mk-IIは5つのETFからなりたっており複雑です.さらに,SVXYの値動きが他のETFと比べて圧倒的に大きいので頻繁なリバランスが必要です.そう思うと,ROKOHOUSE式可変レバレッジド・ポートフォリオはシンプルで効果的にリスクを低減できているで,私みたいな変なこだわりがなければこれを使うのがベターだと思います.

今後はリバランスの仕方についてもう少し考えてみたいと思います.

コメント