ウェルスナビの将来予想シミュレーションを探る(その3)

前回「ウェルスナビの将来予測シミュレーションを探る(その2)」では、ウェルスナビが提供してくれる将来予測(下図に示すようなグラフ)の検証評価を、積立を設定した場合に対して行いました。これまでの2回の記事で、積立がある場合でもない場合でも、将来予測の計算がどのような根拠に基づいているのか、そして将来予測の実現可能性がありそうなのかどうか、という疑問に答えることができました。

積立がある場合については乱数を用いた近似的な検証しかできませんでしたが、今回はその具体的な検証方法をご説明します。

(参考までに)下図の例は、「リスク許容度5」に設定し、当初100万円で資産運用を開始し、毎月1万円を積み立てながら30年間運用した場合の予測です。ウェルスナビの計算によると、50%の確率で1,288万円以上、70%の確率でも939万円以上になるという結果でした。

f:id:curvex:20200226045734j:plain

計算フロー

ウェルスナビの将来予測シミュレーションは「毎月の収益率が正規分布することを前提に計算」されています。その際に用いられる月次の期待リターンと標準偏差は、私の独自推定によると、µ=6%、σ=14.9%だろうと推定されました。

この計算を30年(360か月)の期間に渡って、乱数を用いた試行を繰り返すことにより、30年間の収益を求めます。

計算フローは下図のようになります。

f:id:curvex:20200301083644j:plain

内側のループは、変数M(月を意味します)を360回繰り返すものです。

毎月の不確定性はdB(t)として生成する乱数を用いて表現します。この乱数に基づいて月次の収益率(=dS(t)÷S(t))を計算します。1か月たつ毎に、資産をこの収益率に相当する分増加(減少)させます。

f:id:curvex:20200218234029j:plain

この計算の後に、積立分に相当する金額を資産に加えます。

ここで、乱数が適切に生成できているかどうかを確認しておくことにします。コンピュータでは一様乱数しか生成できないことが多いので、これを何らかの方法で正規分布に変換する必要があります。

ここでは、ボックスミュラー法と呼ばれる手法で、一様乱数から正規分布を作り出します。その方法は下の式の通りです。まずX, Yという2つの一様乱数(0以上1未満)を作ります。これに、log関数とcos関数を用いて以下のように計算します。目的の正規分布は、その標準偏差をルートdt(ここでは約0.289)としたいので、この値を掛け算しておきます。

f:id:curvex:20200302061610j:plain

計算結果の分布を確かめておきましょう。

下図の棒グラフは、実際に上記の方法で 生成した乱数の出現頻度です。そして折れ線グラフは、目標とする出現頻度の理論値です。図のように、きちんと正規分布に従った乱数が生成できていることがわかります。

f:id:curvex:20200301083700j:plain

計算フローの説明に戻ります。

月毎の計算を繰り返し30年後の資産価格が求まったら、その対数収益率を求めます。後でこの収益率の期待値を求めるので、結果をメモリに保存しておきます。

ここまでで内側のループが計算し終わりました。続いて、同じ計算を外側のループとして繰り返します。今回の計算では、繰り返し数は1万回としました。

繰り返しが終わると、対数収益率が1万データ分揃います。これらの平均値をLa、標準偏差をLsとして計算します。

最後に、計算フローの図中右下に示した通りの計算式で、30%、50%、70%のそれぞれの確率で達成できる資産額を求めます。 

ここで、前回の記事の結論を再掲しておきます。

下表の「検証2」列が、上記の方法で求めたそれぞれの確率における資産額の期待値です。「W将来予測」が、ウェルスナビの将来予測シミュレーションが示した資産額の予測値です。両者がおおむね一致していることがわかると思います。

f:id:curvex:20200226054658j:plain

今回の記事では、ウェルスナビの将来予測を確率を用いた方法で検証してみた結果について、その具体的な方法を説明しました。

本当は確率的な計算ではなく、「この式で求まります」というハッキリしたものがあれば、もっとわかりやすいのだと思います。ご存知の方がいらっしゃれば教えて頂けるとうれしいです。

 

(前回の記事はこちら)

curvex.hatenablog.com