超長期のレバレッジファンドのリターンを見る

Finance

前回の記事で超長期の債券インデックスをシミュレーションしてみました。完璧というレベルではないですが、チャートの形状やリターンはある程度良く近似できることがわかりました。シミュレーションには十分そうです。

 

株式インデックスの再現

再現、とは言ってもS&P500のインデックス自体はquantmodを使用すると1950年ごろから簡単に取得できます。ただ、このインデックスには配当が含まれておらず、実際の運用上では配当によるリターンは大きいため、配当込みリターンを計算する必要があります。

 

幸い、quandlという超強力なサイトで長期のS&P500のリターンが掲載(コード:MULTPL/SP500_DIV_YIELD_MONTH)されていたのでそちらを取得してインデックスに追加してみました。

 

S&P500のETFであるSPYの配当込みリターンとシミュレーションしたS&P500ファンドのリターンは完全に一致しており、相関係数は0.998でした。株式のリターンは高精度で再現できました。っていうか一致しすぎて赤線がほぼ見えません。

レバレッジファンドのシミュレーション

ここまで解析で導いてきた近似式、

(レバレッジファンドの1日の価格変動) = (インデックス(配当込み)の価格変動) × 3  −(支払う金利)×2

を使ってレバレッジをかけた株式、債券ファンドのリターンをシミュレーションしてみました。金利はFREDから取得した3ヶ月債の金利を使用しています。

 

S&P500から作った3倍レバレッジ株式ファンド(疑似SPXL)は、実際のSPXLと相関係数0.97とかなりそっくりなリターンを示していました。長期債シミュレーションから作った3倍レバレッジ債券ファンドのリターン(疑似TMF)は、実際のTMFとの相関は0.72でした。値動きがTMFよりマイルドになってはいますが、上下の値動きも似ているのでシミュレーションする分には良しとします。Sim17がシミュレーションのファンドです。年間2-3%程度リターンがずれている可能性があることに留意してください。ただ、長期にはTLTとほぼ同じ値動きのVUSTXと0.5%以内の誤差だったため、個人的には大きな問題ではないと考えています。

 

レバレッジファンドシミュレーションのリターン

このようにして生成したレバレッジファンドのリターンを見てみます。まずは年率のリターンから。レバレッジドPFで使用する予定のSPXL, TMF, BND想定したリターンを掲載しています。レバレッジファンドはとにかく値動きが激しいですね。でもこのグラフだけだと少し傾向がわかりにくいです。

各ファンドの累積リターンはこんな感じになりました。

レバレッジ株式ファンドのリターン

黒線がSPXLのシミュレーションです。青線のS&P500のリターンに比べてもかなり大きいですね。金利が高い時代もあり、70-80年の頃はほとんど増加していないのが特徴的です。また、各不況の時のドローダウンは凄まじいです。限りなくゼロに近くなるようなダメージを食らっています。実際のファンドならそのまま償還されているかもしれません。

 

しかし、度重なる不況の後でも米国の経済の回復とともに一気に巻き返して多大なリターンをもたらしています。レバレッジファンドはこの70年間で18.7%/年のリターンが期待できて、10000倍になることが予測されます。ただ、S&P500のリターンが11.3%/年なのでリスクを取った割に多いと取るか少ないと取るかは個人の感覚におまかせします。実際、バフェットのほうが良いリターンですね。

 

レバレッジ債券ファンドのリターン

一方で、疑似TMF(赤線)のほうは微妙な評価です。70年-80年にかけて米国の債券利率は上昇を続けていました。債券価格の変動を考えた時、利率の上昇が債券価格に与える影響は大きく、この期間、TMFを持っているとひたすら含み損に耐える必要があったはずです。実際、10年債(緑線)をただホールドしていればプラスになったのに、TMFのようなファンドに投資をしていたら焼け死にそうなダメージを食らっていたに違いありません。

 

利上げが終わり、債券のリターンがめざましくなった80年代以降はTMFは素晴らしいリターンを上げてくれています。利上げ時に長期債を持つと、目に見えて含み損を抱えるだけだ。シミュレーションは恐ろしい警告を発しています。

 

参照するインデックス自体に数%の誤差、金利分を引く際にも数%の誤差が生じうるので正確なデータとは言えませんが、全体の傾向が同様のものになるというのは確信を持っています。

 

次の記事ではいよいよ長期のデータをつかってROKOHOUSE式レバレッジPFのリターンを見ていきます。

 

シミュレーション

S&P500のシミュレーションデータ作成

まずはパッケージを読み込みます、ファイナンス分析で便利なquantmod, PerformanceAnalytics, quandlを読み込みました。API KEYは各自のものを使用してください。

S&Pの配当込みリターンをシミュレーションします。今回はYahoo FinanceからS&P500の生データを取得していますが、結局月次データを使用しているので、すべてQuandlで読みこんでも良いかも知れません。(こちらの記事が参考になります。)

endは不要ですが、本日の日付を取得しておきます。分析の最初は1950年1月1日に設定しました。getSymbolsはS&P500のインデックスのデータを取得します。Quandlから配当のデータを取得します。リターンを計算した後、毎月配当分をリターンに上乗せしています。Quandlから得られたデータは12で割った上合計する必要があります。

S&P500 ETFとシミュレーションを比較する

実際にS&P500に基づくETFのSPYと比較してシミュレーションの正確性を確認します。

期間はSPYが設定された後の1994年からとしています。SPYのデータをダウンロード、リターンの計算をします。リターンを計算したらSPYとシミュレーションをマージして少し整形します。

charts.PerformanceSummaryは便利な関数で、累積リターン、リターン、ドローダウンを一緒にした表を出力してくれます。corで相関関係を確認、scatter.smoothを使うと相関関係が図示できます。

リターンやリスクを評価するのにportfolioMeasureという関数を設定して適用することで結果が一括で表示されます。

レバレッジファンドをシミュレーションする

レバレッジファンドをシミュレーションします。リターン×レバレッジ – 金利 + 配当の式を立てています。bondYield$Yield.3mという変数はここの記事には出てきませんが、金利を3ヶ月債と同等と見立てた時の金利を使っています。

3ヶ月債のデータは以下の記事からダウンロードしていただくと良いと思います。

債券インデックスをシミュレーションしてみる
前回の記事で、債券の価格形成について勉強してみました。文字と数式ばかりで途中で飽きてしまった方はすみません。あの計算はそもそも自分でやる必要がないものです、今回の記事からは結果だけ見ていきましょう。一応再現性の事もあるので使った素材について...

作成したデータをレバレッジETFであるSPXLのヒストリカルデータと比較します。2008年12月からの比較です。getSymbols, periodReturnでSPXLのデータをダウンロードしてリターンを計算します。

そして、シミュレーションのデータとマージして形式を整えます。前述のようにcharts.PerformanceSummaryやcor, scatter.smoothで相関を確認してみます。portfolioMeasureで指標なども確認します。

完璧、というわけではないものの、誤差は3%以内に収まることが確認できると思います。

コメント

  1. 正太 より:

    とても貴重なデータで大変参考になります。
    公開していただき、ありがとうございます。
    続編楽しみにしています!