todojunの真理を追究する日々

日々考えていることなどを徒然と書いていきます。

 複利計算で便利な公式

はてブで人気エントリに上がっていた記事に面白い公式が載っていました。

  • あなたのお金が複利で倍になるまでの年数

これは72の法則として有名かな。「72/(利率)=お金が倍になるまでの年数」ですね。たとえば10%のリターンなら72/10でだいたい7年かかるというわけ。もちょっと現実的になって(という現実が崩れつつある昨今・・・)3%ぐらいだったら24年かかる、という具合です。

これは便利ですねぇ。個人的には、数学的な面で興味深かったので、ちょっと考えてみました。rを利率(%表示でない普通のもの)、nをお金が倍になるまでの年数、とすれば、

(1+r)^n = 2

と数式化できます。これを簡略化して、もともとの公式を少しだけ変形した、

nr = 72/100

を導き出せばいいわけです。単純に考えると左辺をrについてテイラー展開して、rの2乗以降の項を無視してしまえば良さそうです。早速それで計算してみると、

1+nr = 2
nr = 1

となります。おや、一致しない、なぜだろう。うーん、パッと見簡単に見えてこれは一筋縄ではいかないぞ、と思いましたが、ここでめげる訳にはいきません。とりあえず無視してしまった項をもうちょっと先まで考えてみるか、ということで、まずはrの2乗の項まで取り出してみます。

1+nr+n(n-1)r^2 = 2

しかし、これは綺麗になりそうにない。さらに先まで進めてしまうと状況は悪化してしまうだけなので、方針を変更しなければなりません。そもそも、rの1次の項までで駄目だったということは、かなり先の項までそれなりに大きな値を取っている可能性があります。何でそうなるかというと、rが小さい時にはnが大きくなるので、先の項もそれが効いてなかなか値が小さくならないのですね(細かい話は省略します)。と、ここで新たな方向性を見出しました。rが小さくなるとnが大きくなるということを頭に入れながら、もともとの式を見ると、必然的に例のアレが浮かんできました。ということで無事解決しましたので、問題と解答を作ってみました。

問題

(1+r)^n = 2において、rが十分小さい時、nrがおおよそ72/100の前後105に修正します)%以内に入ることを示せ。

解答

rn = kとおく(ただしここでkは定数とは仮定しない)。与式は、

(1+r)^{k/r} = 2

と変形される。ここで、両辺の対数を取れば、

k/r \log(1+r) = \log2

ところで、eの定義より、

\lim_{r \to 0} 1/r \log(1+r) = 1

がいえる。よってrが十分小さい時、2つ上の式の左辺は、kに十分近い。よって、

k ≒ log2

が言える(このとき、kは定数となっている)。k = rn、log2 = 0.693より、rn ≒ 0.693となる。これは、72/100の前後10(5に修正します)%以内に含まれている。 (証明終り)


補足ですが、rが十分に小さくない時は、eの定義を使うところでずれが大きくなるので、rnの値はlog2より少し大きくなります(rの増加関数です)。このことと、72が2,3,4,6,8,9と多くの数字で割り切れて便利なところから、72という数字が出てきたのだと思います。なので、72というのは、数学的に厳密に計算して導かれたのではありません。なので、問題も元々のものから改変しました。