2008年09月11日

積立+複利の計算の正しいやり方をだれか教えてください!

ファンドの海の新しいサービスとして、毎月投資信託を積み立てていくと複利でこんな風にお金が増えていくんです。というグラフを描いてくれるサービスを開発しようとしているのですが、これが、ちゃんと計算しようとすると難しいのです。

いやあ、複利計算って、ほんとに難しいものですね。

例えば、毎月1万円ずつ積立するとするじゃないですか。で、期待リターンを年率6%と想定したとするじゃないですか。1年後にいくらになると思います?

単純に計算するとこうです。

ええと、毎月1万円ずつ積み立てるから、1年で12万円。年率で6%のリターンだから、12万円に6%掛けて7200円。合計で12万7200円!

ハズレです。これがハズレなのは分かりやすい。だって、12万円を1年間投資したときに、はじめて7200円の利息がもらえるのです。でもこのケースでは1万円ずつ投資しているのだから、10カ月目でようやく10万円、1年たってはじめて12万円に達するわけ。だから1年間の利息が7200円ももらえるわけありません。もっと少ないはず。だからハズレ。

じゃあ、これはどうでしょう? 年間6%のリターンだから、12で割って、1カ月あたり0.5%のリターン。てことで計算してみましょう。

1月は1万円プラス0.5%の利息。
2月は1月分プラス1万円の合計に、0.5%の利息をプラス。
3月は2月分プラス1万円の合計に、0.5%の利息をプラス。

12月は11月分プラス1万円の合計に、0.5%の利息をプラス。

なかなかよさそうです。よね?
でも、なんだか違う気がします。

どこが違う気がするかというと、たぶん年率6%を12で割って0.5%にするところ。これだと1月の0.5%はその後の11カ月かけて0.5%ずつ複利で増えていくし、2月の0.5%も同様に10カ月かけて複利で増えていくので、リターンの合計が6%を超えてしまうはずです。

だから、この計算方法もハズレ。たぶん。

では、どんな計算方法が正しいのでしょう? いや、実は僕もまだ分からないのです。現在、勉強中。

この問題がこんなに難しいなんて、ちょっと舐めてました。どなたか、詳しい計算方法や方程式をご存じの方、あるいは本や資料のありかなど、ご存じでしたら教えてくださいませ。

[関連エントリ]
ファンドの海のこれから
「投資信託の道具箱|ファンドの海」を公開します!

[関連カテゴリ]
1.よもやま投資信託

[広告]

[ブックマーク]  Yahoo!ブックマークに登録

≫次 : インデックスブロガーたちが梅屋敷で盛り上がるの巻
≪前 : アセットアロケーションの重要性と難しさを示す問答(2)

積立+複利計算の方法−FV関数を使わずに [インストラクターのネタ帳から]

複利はなんかすごい (2008/09/11 22:30:52)

自分は高卒なので計算は怪しいですが、、、

一年で6%(1.06)の複利なら月の利率は1.06の1/12乗
計算してみると月の利率は0.486755056534%
で小数点以下切捨てで計算してみると12万3858円。

のような気がします。
正解は誰かエロイ人にきいてください。

ファンドの海管理人(イーノ) (2008/09/11 22:42:24)

複利はなんかすごいさん、こんばんは。さっそくのコメントありがとうございます。
僕も自分で考えて、やっぱ12乗根だよなー、とそこへたどり着いたところです。これが正解じゃないかなあ。

silencejoker (2008/09/12 0:14:04)

イーノさんお疲れ様です。
僕が思っていたのは、年利6%でも確実に毎月増えていくわけではないので、1年で6%増やす方法で、いいかなぁと思っています。

6%とかも仮だし。。。

ファンドの海管理人(イーノ) (2008/09/12 1:04:10)

slicejokerさん、こんばんは。近似法としてはそれでいいのかもしれませんね。ただ、根が凝り性なもんで、どうしても正解が知りたくなります。理科系の血が騒ぐというか、ね。

それに、不特定多数の人に公開するつもりのツールなので、やっぱりしっかり作りたいなあと思ってます。

アルビレオ (2008/09/12 4:24:00)

>やっぱ12乗根

正解でもあり不正解でもあり。
厳密にやるなら365乗根の経過日数乗にしないといけません。
1月は1.06^(31/365)=1.00496113→約0.496%
日数ではなく1/12の近似で済ませるなら、複利はなんかすごいさんので正解。
まあ将来のリターンの推定であればアバウトに月単位の12乗根で、今までの結果から複利換算での成績を計算するときは日数単位の365乗根が便利だと思います。(過去の履歴から計算するときは日数単位の方がExcelなどの数式は簡単になるので)

とはいってもsilencejokerさんも指摘されているように、月ごとの期待リターンに比べて月ごとの変動幅が大きすぎるので、特に毎月買い付けだと価格変動による誤差の方がはるかに大きくなりますけどね。

ちなみにおいらも高卒(笑

コンパス (2008/09/12 8:08:22)

恐らく、自然対数につながる話だと思います。
ネットで「自然対数」「連続複利」「金利」などのキーワードで検索すると、きっと役立つサイトが見つかると思います。

例えば以下のようなサイトが参考になるかも知れません。
http://www.sigmabase.co.jp/keyword/list/r/renzokufukuri.htm

ファンドの海管理人(イーノ) (2008/09/12 11:11:29)

アルビレオさん、コンパスさん、情報提供ありがとうございます。アルビレオさんの説明を読んで、いろいろ納得しました。今回は12乗根でいこうと思います。コンパスさんの情報は直接の答えではありませんでしたが、ヒントになりました。さて、ではプログラミングを続けたいと思います(余暇に)。

saru999 (2008/09/12 21:45:59)

数学の等比級数の和だとおもうけれど。
とりあえず、こんなページがありました。
http://homepage2.nifty.com/urajijou/chokin/iroirohukuri2.html

ysd (2008/09/13 1:20:52)

こちらのサイトと「インストラクターのネタ帳」を
RSSリーダに登録している俺はきっと勝ち組。

自分が好きなサイトどうしがつながると、なんというか、
すごくうれしい。

ナッカ (2008/09/13 1:59:38)

はじめまして、いつもブログを楽しく読ませてもらっていますナッカといいます。

僕は、「年率6%を12で割って0.5%にする」という考え方で正しいと思います。FXの1日あたりスワップ金利も年利を日数(365日)で割って計算すると聞いたことがあるからです。年利が6パーセントを越えてしまう問題については、月々の合計を単利で計算すれば年利6パーセントを越える事はありません。

僕の予想では、年利6パーセントは1年以上の単位の場合は複利計算、一年以下は単利計算で近似するのではないかと思います。
たしかに月々決済すれば月ごとに複利での運用が可能ですが、その場合は決済ごとに手数料などがかかって、一年ごとに決済する場合よりも実績が悪くなるような気がします。

P.S.
<単利計算の例>
1月は1万円プラス0.5%の利息。
2月は元本の合計2万円に0.5%の利息をプラス。
3月は元本の合計3万円に0.5%の利息をプラス。

12月は元本の合計12万円に、0.5%の利息をプラス。
この結果、月々積み立てる場合は年初から6万5千円預けていた場合と同じ利息になります。

アルビレオ (2008/09/13 4:02:20)

ナッカさん
結論から言えば今の話題に対する指摘としては正しくないのですが、その考え方はかなり重要ですね。good
まず、金利計算に使う利率は特に断りがない限り「年率、単利」の数字です。
単利だから毎月の金利を計算する場合は12で割るだけです。これは正しい。(実際の金利計算ではやっぱり月単位ではなく日数で数えるんですが)
ナッカさんのやり方に近いのは複利型の定期預金やゆうちょ銀行の定額貯金、利付債券の利息を再投資した場合で、普通これらは半年ごとに利息がつくので半年ごとの複利計算をし、半年に満たない期間は単利で計算します。

でも今扱っている6%は「年利」じゃないんです。「1年あたりの期待リターン」というあいまいな数字で、単利なのか複利なのかもはっきりしません。
別に半年ごとや一年ごとに利息が支払われるわけではないので、一年以上の部分と一年未満の部分に分けて計算する根拠がありません。
だったらひとつの式で済ませられる連続的な複利計算の方が楽、というわけです。
そんなわけで6%というのが複利だと仮定して計算すると、複利はなんかすごいさんや私が出したような式になります。

青三 (2008/09/13 21:10:05)

EXCELの関数で、毎月積み立て+複利運用の計算は可能だと思います。背後の数式の厳密性は知りませんが、現実的な月単位の複利計算ができるはずです。
(年利を12で割ってやるやり方です。)

住宅ローンも、毎月複利の計算で、毎月定額返して行くので、手計算は大変なんですが、
EXCELならば、PMT関数(PayMenT)で簡単に出てしまいます。

今、手元にEXCELがないのですが、
関数として、FV (Future Value)関数で
求めることができると思います。
毎月積み立ての資産運用の場合には、
マイナスの数字を入れればよいようです。

http://plaza.rakuten.co.jp/pasodairy/diary/200606090000/

米国の国債による複利運用に関しては、YIELD関数という現実の、購入日から日単位で、
うるう年とかのカレンダーの微調整も
加えた実務的な運用計算ができる関数もあります。

とおりすがっぺぇ (2009/09/24 21:46:27)

遅ればせながら

複利計算(一年複利)
:: 例 ::
元金100万円を年利2%(2÷100)で預けると1年後には、1,000,000×0.02=20,000で、20,000円の利息が付きます。
元金と合わせると、1,020,000円になっています。
1,000,000+1,000,000×0.02=1,000,000×(1+0.02)=1,020,000

2年後は、1,020,000×0.02=20,400で、20,400円の利息が付きます。
合計すると、1,040,400円になっています。 
1,020,000×1.02=1,040,400

ここで、元金をY円として年利をR%(R÷100)とすると1年後には、利息を含め、Y(1+R÷100)円となっています。
2年後はさらに、(1+R÷100)を掛けるから、Y(1+R÷100)(1+R÷100)
となり、3年後はさらに、Y(1+R÷100)(1+R÷100)(1+R÷100)となります。
Y(1+R÷100)^n

よって、N年後の受け取り額=元金×(1+年利÷100)^年数 となります。

注:^は乗を表す。 3^4は、3の4乗

とおりすがっぺぇ (2009/09/24 22:10:46)

一年複利例 元金- 1,000,000円 -

*1年後
 100万×(1+0.02)
 1,020,000円
*2年後
 100万×(1+0.02)×(1+0.02)=100万×(1+0.02)^2
1,040,400円
*3年後
 100万×(1+0.02)×(1+0.02)×(1+0.02)=100万×(1+0.02)^3
1,061,208円

半年複利だと、半年分の利息が年利の半分になるわけだから
{1+(年利÷100)} が、{1+(年利÷2÷100)}となり、年数が年数×2となります。
例えば年利が6%だと、半年分の利息は、6×6/12(一年の内の6ヶ月分)だから、6の半分の3%になりますね。
元金が100万だと半年では、3万の利息が付きます。
1年では、103万にさらに3%

半年複利でのN年後の受け取り額は、
元金×(1+年利÷2÷100)^年数×2
となります。

では、1ヶ月複利だと
例えば年利が6%だと、1ヶ月分の利息は、6×1/12(一年の内の1ヶ月分)だから、6の1/12の0.5%になりますね。
さらに、年数に12を掛けないと
元金×(1+年利÷12÷100)^年数×12

とおりすがっぺぇ (2009/09/24 22:30:08)

定期積み立て(月掛け)
例:10,000円を年利3%で3年間(36ヶ月)月掛けすると

1月目の利息は、10,000×0.03×1/12=25
2月目の利息は、20,000×0.03×1/12=50
3月目の利息は、30,000×0.03×1/12=75
4月目の利息は、40,000×0.03×1/12=100

同様に最終36月目の利息は、
360,000×0.03×1/12=900
となります。
それらすべての合計だから、ここで、
(0.03×1/12)をZとすると、

10,000Z+20,000Z+30,000Z+・・・・・・・・+360,000Z
が計算式となり、
式を変形すると、
(10,000+20,000+30,000+・・・・・・・+360,000)Z
となります。
1万から36万までの足し算だが、1万ずつ等しい差で並んだ数値の和であるから、
等差数列の和の式{(a+b)÷2}Nを使って、
{(10,000+360,000)÷2}×36 で求められる。
例:1から100まで足すと、{(1+100)÷2}×100=5050

よって、{(10,000+360,000)÷2}×36×0.03×1/12=16,650円が3年後の利息となる。
ただ、20%の税金を差し引くと、16,650×0.8=13,320
最終、3年後の受け取り額は、10,000×36+13,320=373,320円となります。
ここで、(10,000+360,000)÷2は、{1月に積み立てる金額+(1月に積み立てる金額×積み立てる月数)}÷2と表され、簡単にすると、{1月に積み立てる金額×(積み立てる月数+1)÷2} となります。 また、年利は100で割っているうえにさらに ×1/12が掛かり、1200で割ることになります。

 *N年後の受け取り額は、
1月に積み立てる金額×積み立てる月数
+{1月に積み立てる金額×(積み立てる月数+1)÷2}×{(年利×積み立てる月数)÷1200}

 *20%の税金を差し引いた後のN年後の受け取り額は、
1月に積み立てる金額×積み立てる月数
+0.8×{1月に積み立てる金額×(積み立てる月数+1)÷2)}×{(年利×積み立てる月数)÷1200)} 

とおりすがっぺぇ (2009/09/25 0:22:43)

以上、参考URL
http://www.naxnet.or.jp/~rider/koramu/partz/subz.htm

借入金額×(1+利率)^期間数 -定期返済額×{(1+利率)^期間数-1/利率}=0
計算対象期間の最後に精算する将来価値がある場合は、
借入金額×(1+利率)^期間数 - 定期返済額×{(1+利率)^期間数-1/利率}+将来価値=0 となります。

なお、エクセルでは定期返済額を負数で表すため
借入金額×(1+利率)^期間数 + 定期返済額×{(1+利率)^期間数-1/利率}+将来価値=0 としています。
借入金額は、現在価値としています。
  
で、将来価値がある場合は、
aR^n-x(R^n-1/R-1)+F=0
x(R^n-1/R-1)=aR^n+F、
x=(aR^n+F)×(R-1/R^n-1)=(aR^n+F)(R-1)/R^n-1


1、 [{借入金額×(1+年利÷1200)^返済回数+将来価値}×(年利÷1200)]
÷{(1+年利÷1200)^返済回数 -1}


金を借りたら通常将来価値は0で、このようなことはまずあり得ませんが、
計算結果を見るためあえて行ってみます。

例:120万円を年利6%で借り、将来価値を20万円として12ヶ月間で返済する。
 上の1式にあてはめてみます。

6÷1200=0.005 、 1+(6÷1200)=1.005 
{1200000×(1.005)^12+200000}×0.005/(1.005)^12-1=119493.01
ここで、n回目の借入金残高、
aR^n-x(R^n-1/R-1) :R=1+r÷1200 に当てはめてみると
1200000×(1.005)^12-119493.01×{(1.005)^12-1/0.005}
=1274013.4-119493.01×12.335562
=1274013.4-1474013.4=-200000
20万円が残ります。


頭金10万円を元に5%の利率と12回の支払いで100万円を貯めるのに必要な定期貯蓄額は、
1式に当てはめますが、借入金額の部分を頭金10万円とするのですが、借り入れたのではなく手元にあった金だから(-100000)とし、将来価値を100万とします。
{-100000×(1+5÷1200)^12+1000000}×(5÷1200)/(1+5÷1200)^12 -1
=(-105116.19+1000000)×(5÷1200)÷0.0511618
=3728.6825÷0.0511618=72880.206
約、72880円です


年利6%で18 年後に 5,000,000円を積み立てるのに必要な、毎月の積立金を求めます。
上の1式にあてはめるのですが、借入金額の部分は、0です。
将来価値は、5000000です。 返済回数は、18年後に値します。(18×12=216)
5000000×(6÷1200)/(1+6÷1200)^18×12 -1
=25000/1.936766=12908.116
約、12908円必要です。

式にすると、毎月の積立金=
{目標積立金額×(年利÷1200)}÷{(1+年利÷1200)^積み立て回数-1}となります。

また、目標積立金額=
{毎月の積立額×(1+年利÷1200)^積み立て回数-1}÷(年利÷1200)です。


ただし、この場合、このページ上部で行った定期積み立ての方法とは異なります。

その方法だと・・・・
1月に積み立てる金額×積み立てる月数+{1月に積み立てる金額×(積み立てる月数+1)÷2}×{(年利×積み立てる月数)÷1200}

1月に積み立てる金額をYとする。
216Y+(217Y÷2)×(6×216)÷1200
=216Y+108.5Y X1.08=216X+117.18Y=333.18Y
333.18Y=5000000
だから、Y=15006.903 で、約15007円となります。



[トラックバックURL]
http://app.cocolog-nifty.com/t/trackback/36569/42446043


[コメントを書く]

名前:
Mail:  (必須です。ダミーでも可)
URL:  (必須ではありません)