Skip to main content

-σ^2 / 2 の真実に迫る – その1

· 3 min read

先ずは準備運動

元金がV0V_0、利率をrr(年率)とした場合の単利と複利の場合それぞれで、 TT年後の元利合計を改めて考えてみましょう(何を今更、、、)。

単利の場合

年間に利払いがNN回あるとすると、1回あたりの利率はr/Nr/NとなったうえでTT年後までには金利がTNTN回つくのでの元利合計は、

V(T)=V0+V0(r/N+r/N++r/N)TNtimes=V0(1+rT)V(T)=V_0+V_0\cdot\underbrace{(r/N+r/N+\cdots+r/N)}_{TN \text{times}}=V_0\cdot(1+rT)    ---(1)

うーん文句なし。まったくもってあたりまえだ。

複利の場合

上記と同様に利率はr/Nr/Nとなるので、

V(T)=V0(1+r/N)(1+r/N)(1+r/N)TNtimes=V0(1+r/N)TNV(T)=V_0\cdot\underbrace{(1+r/N)(1+r/N)\cdots(1+r/N)}_{TN \text{times}}=V_0\cdot(1+r/N)^{TN}    ---(2)

となります。

次に上記の式でNN\rightarrow\inftyとしてみましょう。世にいう連続極限と呼ばれる操作です。 これは年間の利払い回数が無限大、つまり無限に短い期間に無限に小さい利率による利払いが発生し、それが無限に積み重なった場合を考えることです。

単利の場合

式(1)の中にNが含まれていないのでNN\rightarrow\inftyとしても結果は同じです。

複利の場合

式(2)でNN\rightarrow\inftyとするとどうなるか、結果だけ書きます(高校数学!)

V(T)=V0exp(rT) V(T)=V_0\cdot\exp(rT)    ---(3)

連続極限で指数関数になります。

と、まぁこんな話はどの金融の教科書にも最初のページに書いてあります。

さて上記のケースは全て金利が一定値rrという場合です。 そうではなく、金利が乱数だったらどうなるでしょうか。それが今回の記事で書きたいことです。

その2へ続く、、、

-σ^2 / 2 の真実に迫る – その2

· 2 min read

発生する金利の利率が乱数だったらどうなるか?さすがに何の仮定もないと話が進まないので、

金利(年率)は、平均mm、標準偏差σ\sigmaの正規乱数

という場合を論じましょう。

ii回目の利払金利(年率)は、

ri=σzi+mr_i= {\sigma}z_i+m   ---(4)

と与えられます(ここで ziz_iは標準正規乱数)。

式(4)は年率なので、半期分、つまり年2回の利払いがある場合の各回の利率は、

ri(2)=σ2zi+m2r_i(2)=\frac{\sigma}{\sqrt{2}}{\cdot}{z_i}+\frac{m}{2}

と与えられます。一般に年NN回の利払いがある場合の各回の利率は、

ri(N)=σNzi+mNr_i(N)=\frac{\sigma}{\sqrt{N}}{\cdot}{z_i}+\frac{m}{N}

となります。

単利の場合

V(T)=V0+i=1TNri(N)=V0[1+i=1TN(σNzi+mN)]V(T)=V_0+\sum_{i=1}^{TN}r_i(N)=V_0\cdot\left[1+\sum_{i=1}^{TN}\left(\frac{\sigma}{\sqrt{N}}{\cdot}{z_i}+\frac{m}{N}\right)\right]

となります。

ここで「正規乱数の和は正規乱数になる」という、もはや犬でも知っている事実から、 V(T)V(T)も正規乱数であることが分かります。

分布の特徴は以下の通り。

  • 平均:

    E[V(T)]=V0+iTNmN=V0+mTE[V(T)]=V_0+\sum_{i}^{TN}\frac{m}{N}=V_0+mT
  • 分散:

    V[V(T)]=σ2Ni=1TNV[zi]=σ2TV[V(T)]=\frac{\sigma^2}{N}\cdot\sum_{i=1}^{TN}V[z_i]=\sigma^2 T

以上より、

V(T)N(V0+mT,σ2T)V(T){\sim}{N}(V_0+mT,\sigma^2T)

という分布になることが判明しました。

金利が毎回変わったとしても、この式中に年間利払回数NNが含まれないので、連続極限でも同一の結果(分布)になることがすぐに分かります。

さて次は複利の場合ですが、、、これがチトややこしいので、その3に続く

-σ^2 / 2 の真実に迫る – その3

· 4 min read

複利の場合

V(T)=V0i=1TNri(N)=V0i=1TN(σNzi+mN+1)V(T)=V_0\cdot\prod_{i=1}^{TN}r_i(N)=V_0\cdot\prod_{i=1}^{TN}\left(\frac{\sigma}{\sqrt{N}}{\cdot} z_i+\frac{m}{N}+1\right)    ---(5)

となります。これが離散的な場合の結果であり、議論のスタート台となります。

こいつの連続極限を考えます。 知りたいことは、連続極限でV(T)V(T)の分布はどうなるか?です。

具体的には、

  • 分布形
  • 平均
  • 分散

といったことを調べます。

式(5)、、、掛け算のままだと取扱いが難しいので、両辺の対数をとりましょう。

lnV(T)=lnV0+i=1TNln(σNzi+mN+1){\ln}V(T)={\ln}V_0+\sum_{i=1}^{TN}\ln\left(\frac{\sigma}{\sqrt{N}}{\cdot}z_i+\frac{m}{N}+1\right)    ---(6)

ここに伝家の宝刀、テイラー展開

ln(x+1)=xx22+x33\ln(x+1)=x-\frac{x^2}{2}+\frac{x^3}{3}-\cdots    ---(7)

を適用します。定石通り1次の項だけとると式(6)は、

lnV(T)=lnV0+i=1TN(σNzi+mN){\ln}V(T)= {\ln}V_0+\sum_{i=1}^{TN}\left(\frac{\sigma}{\sqrt{N}}{\cdot}z_i+\frac{m}{N}\right)    ---(8)

となって、これは正に単利の場合と同一の式でキレイに正規乱数の和に収束することが分かりました。

つまり lnV(T){\ln}V(T) は正規分布になることが判明しました(覚えていますか?正規乱数の和は正規乱数です)。

さてこれで

対数をとったヤツが正規分布になった\longrightarrow元は対数正規分布

という事実から連続極限で V(T)V(T) は対数正規分布であると結論付けられました!

では平均と分散はどうなるでしょうか。

式(8)から、

  • E[lnV(T)]=lnV0+mTE\left[{\ln}V(T)\right]={\ln}V_0+mT
  • V[lnV(T)]=σ2TV\left[{\ln}V(T)\right]=\sigma^2 T

でメデタシメデタシ、、、としたいところですが、これが大間違い!。本記事の核心がここにあります。

話はテイラー展開(7)にまで戻ります。

2次の項まで考えます。すると

lnV(T)=lnV0+i=1TN(σNzi+mN)12i=1TN(σNzi+mN)2{\ln}V(T)={\ln}V_0+\sum_{i=1}^{TN}\left(\frac{\sigma}{\sqrt{N}}{\cdot}z_i+\frac{m}{N}\right)-\frac{1}{2}\sum_{i=1}^{TN}\left(\frac{\sigma}{\sqrt{N}}{\cdot}z_i+\frac{m}{N}\right)^2

となります。

この式から平均を計算してみます。\

E[lnV(T)]=lnV0+mT12iTN[σ2NE(zi2)+2σmNE(zi)+m2N2]E\left[{\ln}V(T)\right]={\ln}V_0+mT-\frac{1}{2}\sum_{i}^{TN}\left[\frac{\sigma^2}{N}E(z_i^2)+2\sigma m\sqrt{N}E(z_i)+\frac{m^2}{N^2}\right]

となって、ここで E(zi)=0,  E(zi2)=1E(z_i)=0,\;E(z_i^2)=1 という事実を適用すると、\

E[lnV(T)]=lnV0+mTσ22Tm2T2NE\left[{\ln}V(T)\right]={\ln}V_0+mT-\frac{\sigma^2}{2}T-\frac{m^2T}{2N}

となります。そして連続極限 NN\rightarrow\infty をとってみると、

E[lnV(T)]=lnV0+mTσ22TE\left[{\ln}V(T)\right]={\ln}V_0+mT-\frac{\sigma^2}{2}T

が得られます。気が付きましたか?テーラー展開の2次の近似項から NN  に依存しない定数が発生しているんですよ!

分散も同じ要領で計算してみると、こちらは2次の近似項は NN\rightarrow\infty で消えてなくなります。従って先ほど計算した通り、

V[lnV(T)]=σ2TV\left[\ln V(T)\right]=\sigma^2 T

です。

以上まとめると、 V(T)V(T) は対数正規分布であり、つまり lnV(T){\ln}V(T) は正規分布ということになって、

lnV(T)N(lnV0+mTσ22T,σ2T){\ln}V(T){\sim} N\left({\ln}V_0+mT-\frac{\sigma^2}{2}T,\sigma^2T\right)

となります。

標準正規分布に従う確率変数 ZZ を用いると、\

V(T)=V0exp[σTZ+(mσ22)T]V(T)=V_0\exp\left[\sigma\sqrt{T}Z+\left(m-\frac{\sigma^2}{2}\right)T\right]

と書き下せます。

最後にもう一言

 lnV(T){\ln}V(T) の平均が (mσ22)T\left(m-\frac{\sigma^2}{2}\right)T である。では V(T)V(T) そのものの平均は?

対数正規分布の公式から、

E[V(T)]=V0exp(mT)E\left[V(T)\right]=V_0\exp(mT)

が得られます。どうですか?実に合理的な答えになっていると思いませんか?(その1の式(3)と比較してみてください)。

長くなりましたが、あのキモチワルイ σ22-\frac{\sigma^2}{2} の出自が理解できましたか?

Standing on the shoulders of Giants. NtRand3.3 rises.

· One min read

NtRand3.3 rises. Achieving the precision of Excel 2010.

By adopting the calculation algorithm of Boost, the pioneering C++ open source library, NtRand 3.3 has greatly improved the accuracy of its distribution functions. In addition to this enhancement, NtRand 3.3 introduces seven new functions.

The precision of each distribution function in NtRand 3.3 now closely matches its corresponding Excel 2007 and 2010 function*.

For probability density function and cumulative distribution function of normal distribution---the most important distribution for every field---NtRand 3.3 can produce accurate values within the vast range of [37σ,37σ][-37\sigma, 37\sigma], which was only [8σ,8σ][-8\sigma, 8\sigma] previously.
Improved distribution functions:

  • NTBETADIST
  • NTCHIDIST
  • NTCHISQDIST
  • NTGAMMADIST
  • NTJOHNSONSUDIST
  • NTJOHNSONINV
  • NTLOGNORMDIST
  • NTLOGNORMINV
  • NTNORMDIST
  • NTNORMINV
  • NTTDIST
  • NTTRUNCNORMDIST
  • NTTRUNCNORMINV
  • NTWEIBULLDIST
  • NTWEIBULLINV

New functions:

  • NTBETAINV
  • NTCHIDISTINV
  • NTCHISQINV
  • NTFDISTINV
  • NTGAMMAINV
  • NTPOISSONDISTINV
  • NTTDISTINV

Last but not least, the most remarkable improvement is .......the removal of the irritating dialog box during start up!

  • (relative error : 1015101610^{-15}\sim 10^{-16})

公約数、素数、そしてバーゼル問題

· 5 min read

2人が同時に好きな自然数を叫びます。
A:「10」
B:「132」
この2つの数字はどちらも2で割り切れます。難しい言葉で言うと「この2つの数字の公約数は2」ということです(小学校で習うんだったかな)。

ではもう一度
A:「65」
B:「154」
この2つの場合はどうでしょう。すぐに分かりますがこの2つの数字には公約数はありません。難しい言葉でいうと「この2つの数字は互いに素」ということです。

ではここで問題**「任意に2つの数字が互いに素である確率は?」**

ちょっと実験してみようにもこれはなかなか難しいです。
というのも、任意の自然数ですから、10とか250とかはもちろん
20482093840734198720491209341412987461298402971029347019823740194

93410974246817469817648164815451276453725653666635467341618253600027
みたいのでもいいですし、、、というか、こういう数字も公平に出てこないと実験になりません。

さあ数字を言え!といってこんな数字を挙げられる人はいないでしょう。 じゃあコンピューターで、といっても無限にある自然数をすべて公平に挙げるのは無理でしょう。

しかし人間の知性に限界はありません。この問題を理論的に解きましょう。

例えば、8と16の公約数は2、4、8となりますが、互いに素かどうかを見るには素数の公約数だけみればいいということに注目します。 この例なら4で割れるかどうかを調べはしません。素数2で割れるかを見るだけです。
15と105なら素数3で割れます。 8と105なら素数2、素数3、素数5、素数7...と素数を順に調べてどの素数も共通の公約数になっていない、つまり互いに素だと分かります。

任意の自然数NNが素数ppで割れる確率は、1/p{1}/{p}であるというのは分かりますか?
例えば、素数3で割れる数というのは3,6,9,12,3,6,9,12,\cdotsとなります。つまり全自然数の3つに1つが素数3で割れる自然数だということになります。 パッと選んだ自然数が3で割れるかは3つに1つ、つまり確率1/3となります。

同様に素数5で割れる確率は1/5、素数13で割れる確率は1/13、、、素数ppで割れる確率は1/p1/pとなります。

従って自然数N1N_1N2N_2がどちらも素数ppで割れる確率は1/p21/p^2となります。

ということは自然数N1N_1N2N_2が素数pp公約数に持たない確率11/p21-1/p^2となります。

自然数N1N_1N2N_2が互いに素ということはあらゆる素数が公約数でないということなので、その確率は

P=i=1(11pi2)P=\prod_{i=1}^{\infty}\left(1-\frac{1}{p_i^2}\right)

です。なんとも複雑そうな式ですが、この値は幾らになるでしょうか?

結論だけ言うと、

P=i=1(11pi2)=6π2=0.607927P=\prod_{i=1}^{\infty}\left(1-\frac{1}{p_i^2}\right)=\frac{6}{\pi^2}=0.607927\cdots

です。なんとこんなところに円周率が出てきます!

π26\frac{\pi^2}{6}という部分は「バーゼル問題」という数学の歴史的難問(解決に100年!)に端を発し、数学の最大の未解決問題とされる「リーマン予想」にも関わるネタで、 とてもここでは書ききれません。

火星に猫はいるか?

· 3 min read

火星に生物はいるだろうか?生物のいる確率はどのくらいだろうか?順を追って求めてみよう。

まずは火星に人間がいる確率をPhumanP_\text{human}としよう。例えば...Phuman=0.0000001P_\text{human}=0.0000001%くらいかな。

よし、次に火星に犬がいる確率をPdogP_\text{dog}としよう。なんとなく犬は人間よりいそうなんで、Pdog=0.000001P_\text{dog}=0.000001%とでもしてみるか。

どんどん続けよう。次に火星にアメンボがいる確率をPwater striderP_\text{water strider}としよう。これはきっと人間なんかよりずーっといる確率が高いだろう。よしPwater strider=0.001P_\text{water strider}=0.001%だ。

ここで中間報告。では、火星に人間も犬もアメンボもいない確率はいくつになるだろうか。それは、"(人間がいない)かつ(犬がいない)かつ(アメンボがいない)"確率となるので、次式で与えられる。

Pno life=(1Phuman)(1Pdog)(1Pwater strider)P_\text{no life}=(1-P_\text{human})(1-P_\text{dog})(1-P_\text{water strider})

なるほど...しかし、まだ他にも調査すべき生物はたくさんある!象がいる確率、マントヒヒがいる確率、ムカデがいる確率、カピバラがいる確率...どれもきっと確率は0ではないだろう。

ある生物がいる確率をPiP_{i}とする。iiは生物の種別を表していている。ものの本によると生物は1億種という説もある。それらが火星にいる確率が平均して0.0000010.000001%とすると、火星にまったく生物がいない確率は、

Pno life=Πi=1100000000(1Pi)=(99.999999P_\text{no life}=\Pi_{i=1}^{100000000}(1-P_{i})=(99.999999%)^{100000000}\sim 37%

となる。ちょっと待てよ、、、ということは、火星に何か生物がいる確率は、

1Pno life631-P_\text{no life}\sim 63%

これは驚いた!火星にはきっと何かいるぞ!

上記の推論はどこがおかしいか分かりますが?

男の子?女の子?

· 3 min read

「二人の子供問題」という有名な確率のトピックです。

昼休み。食事も終えて、職場の仲間とまったりとコーヒーを飲んでいます。誰ともなしに家族の話題になりました。

独りモノのあなたな職場の仲間Aさんにこんな質問をしました。

  • 質問1:子供は何人いますか?
  • 回答1:二人です

では、ここで問題

  • 問1:Aさんの子供が、二人とも男の子の確率は?

あなたはAさんに更に質問をぶつけました。

  • 質問2:では、男の子はいますか?
  • 回答2:はい

なるほど。では、ここで問題

  • 問2:Aさんの子供が、二人とも男の子の確率は?

もう一人Bさんが隣に座っています。Bさんは今日はたまたま子供を連れてきています。男の子です。

あなたはBさんにも質問をしました。

  • 質問3:子供は何人いますか?
  • 回答3:二人です

ふーむ、、、ここで問題

  • 問3:Bさんの子供が、二人とも男の子の確率は?

問2と問3の違いが分かりますか?AさんもBさんも二人子供がいて、少なくとも一人は男の子であることが分かっています。

ちなみに解答は(男の子が生まれる確率と女の子が生まれる確率は等しいとしましょう)

  • 解1:1/4
  • 解2:1/3
  • 解3:1/2

です。

メルセンヌ素数

· 3 min read

確率のネタではないですが、小話をひとつ

NtRandでは"Mersenne-Twister"と呼ばれる一様乱数生成アルゴリズムが採用されています。 このアルゴリズムで生成される乱数は21993712^{19937}-1、実に6002桁という途方もない長い周期をもっています。

さて、この数は"メルセンヌ素数"と呼ばれる一群の数字のうちの一つで、これが"Mersenne-Twister"の語源になっています。

メルセンヌ素数とは、素数のうちで2n12^{n}-1という形で書けるもののことです。 つまりMarsenne-Twisterの周期はn=19937n=19937のメルセンヌ素数です。 2001年5月現在、メルセンヌ素数は47個見つかっています。n=19937n=19937のメルセンヌ素数は24番目のものです。

1644年、マラン・メルセンヌさんが n=2,3,5,7,13,17,19,67,127,257 n=2,3,5,7,13,17,19,67,127,257がメルセンヌ素数であると主張しました。 残念なことに彼はn=61,89,107n=61,89,107を見逃していました。

更に残念なことに、、、

1903年、アメリカで行われた数学会でフランク・ネルソン・コールなる人物が発表のため登壇しました。タイトルは「大きな数の素因数分解」。

彼はまず黒板に2672^{67}を書き下しました。

267=147,573,952,589,676,412,9282^{67}=147,573,952,589,676,412,928

そこから1を引き、そして次に

193,707,721×761,838,257,287193,707,721\times761,838,257,287

の計算を行いました。その結果は、、、147,573,952,589,676,412,927147,573,952,589,676,412,927! その間彼は一言も口をきかず、静かに席に戻りました。その後会場は万雷の拍手が沸いたそうです。

メルセンヌさんの主張から250年以上経って、26712^{67}-1が素数でないことが分かったのです。

今ではn=127n=127も素数ではないことが分かっています。

サンクトペテルブルグのパラドックス

· 4 min read

某国、華やかなカジノの街。
ルーレット、スロットマシーン、カード...有象無象どもが一攫千金を目論んで目を血走らせて必死にもがいている。
さて今日はどのゲームでひと稼ぎしようか...ふと片隅にあるゲームに目がとまる。

「サイコロを転がして出た目が1なら1円、2なら2円...出た目と同じ額を賞金として進呈!」

なんとも幼稚なギャンブルだが、まぁいいや。ちょっとやってみるか。 参加費用は4円か。サイコロなんだから5か6を出せばもうかるじゃないか、チョロイチョロイ。
...1時間後...
すっかりスッカラカンになった彼は道端でボロ雑巾のようになっていた。

もちろん、確率を熟知したあなたはこのゲームには参加しないはずですね。 そう、期待値の問題です。このゲームの賞金の期待値 EE は、

E=1×16+2×16+3×16+4×16+5×16+6×16=3.5E=1\times \frac{1}{6}+2\times \frac{1}{6}+3\times \frac{1}{6}+4\times \frac{1}{6}+5\times \frac{1}{6}+6\times \frac{1}{6}=3.5

です。賞金は 3.5円しか期待できないのに参加費が4円。長い目でみるとどんどんと負けが込んでいくのです(ちなみに1枚300円の宝くじの期待値は大体142円だそうです)。

リベンジだとばかりに再びカジノにやってきた彼。今度は確率の勉強もしっかりしてきた。 うーん、どのゲームも期待値を計算するとマイナスのものばかりか(当たり前。ギャンブルは胴元が儲かるようになっている)...なまじ確率の勉強をしたのでどのゲームも割に合わないと感じてしまうなぁ。 ふと片隅にあるゲームに目がとまる。
「コイントスゲーム!外れなし!表が出たら賞金は倍!!ただし裏が出たらゲームオーバー」
つまり、

  • 1回目で裏が出たら賞金1円
  • 2回目で裏が出たら賞金2円
  • 3回目で裏が出たら賞金4円
  • 4回目で裏が出たら賞金8円
  • (以下賞金は倍々)

なるほど面白そうだ。おっといけない、軽々に飛びついては痛い目に逢う。まずは期待値を計算してみよう。
各パターンの確率は、

  • 裏:1/21/2
  • 表裏:(1/2)2(1/2)^2
  • 表表裏:(1/2)3(1/2)^3
  • 表表表裏:(1/2)4(1/2)^4
  • 表表表表裏:(1/2)5(1/2)^5
  • (あとは分かるでしょう)

となるので、期待値は

E=1×12+2×(12)2+4×(12)3+8×(12)4+=12+12+12+=+E=1\times\frac{1}{2}+2\times\left(\frac{1}{2}\right)^2+4\times\left(\frac{1}{2}\right)^3+8\times\left(\frac{1}{2}\right)^4+\cdots=\frac{1}{2}+\frac{1}{2}+\frac{1}{2}+\cdots=+\infty

こりゃ凄い、何と期待値は無限大だ!幾らでも儲かるってことか!!で、参加費はいくらだって?1億円か。安い安い!!よ~し、やるぞ!!!...はたして彼の運命やいかに...

どうです?あなたはこのゲームに参加しますか?参加費100円でもやらないのではないでしょうか?(ちなみに100円以上の賞金を手にするには、7回連続して表を出す必要があります)。

でも確かに期待値は無限大...腑に落ちませんね。これが「サンクトペテルブルグのパラドックス」です。

石器時代からあるモンテカルロシミュレーション

· 2 min read

モンテカルロシミュレーションの第1歩として、100パーセントどの教科書にも載っている例題があります。
どの教科書にも載っていて、このサイトに無いのも悔しいので載せておきます。

一様乱数から円周率を求めよう

1辺が1の正方形を用意します。そこに4分の1円を描いておきます。この正方形内に一様に点を打っていき、**(円内の点の数)/(全点の数)を計算すると、 これは(4分の1円面積)/(正方形の面積)**に近づいていきます。
(4分の1円面積)/(正方形の面積)はすなわち π/4\pi/4 なので、(円内の点の数)×4 /(全点の数)は円周率 π\pi に近づいていきます。