価格変化率はなぜ対数でなければならないのか?

以前にも疑問に思って、挫折した問題。
もう一度チャレンジしてみます。

084162

価格の絶対値と変化率

バーゲンセールでお買い物に行ったところ

1)定価1000円の洋服が500円だった
2)定価10000円の洋服が9500円だった

両方とも500円の割引。
でもお得感を感じるのは、間違いなく1)の方でしょう。

500円という金額の絶対値ではなく、それぞれの変化率(割引率)を計算してみます。

1)500/1000-1=▼50%
2)9500/10000-1=▼5%

わざわざ計算するまでもなかったかもしれませんが、1)は半額の50%OFF、2)は5%OFFです。

なので、同じ500円の割引でも価値が違う、というのはOKですね。

株価の場合も同じで、1000円の株が500円下がったら「ぎゃぁあ!!」だけど、10000円の株が500円下がっても「あいたたた…」くらいでしょ。

だから株価の上昇/下落は、普通は価格差でなく変化率で表します。

価格変化率=当日終値÷前日終値-1

これがいわゆる騰落率というヤツでしょう。
ニュースとかでも、「今日の日経平均は〇%の上昇でした」っていう場合は、上記の式を使ってるはずです。

でもでもでもね、オプションとかFXの分析をするときに、対数変化率を使えって書いてることが多いんですよ。

今回はその謎を解明したいと思います。

上昇と下落を対称にする

1000円の株が50%下落した、翌日は50%上昇した、その翌日は50%下落した、その翌翌日は50%上昇(ry
これを繰り返していくと

1日目 1000*50%=500
2日目 500*150%=750
3日目 750*50%=375
4日目 375*150%=562.5


対数1

こんな感じで株価は下がっていってしまいます。
50%下落したら100%上昇しないと、株価は元の価格に戻りません。

そんなの当たり前じゃん!って思うかもしれませんが、上昇と下落を対称にするためには対数を使うようです。

対数には常用対数自然対数があって、何が違うかというとが違います。

常用対数は底が10
自然対数は底がe(ネイピア数、2.71828182845904・・・)です。

底ってなんだい?っていうのは、のちほど説明します。

とりあえず株やオプション、FXなどの分析では自然対数(Ln)が使われてるみたいです。
が、ここでは説明しやすいので常用対数(Log)を使います。

っていうか、そもそも対数ってなんぞや?
というところから、まずは解説してみますね。

対数とは?

対数2

環境依存文字(小さい文字)は、端末によっては上手く表示されない?ので、上記は次のように表記します。

2^3=8
LOG(2)8=3

まずは、2^3=8の方は大丈夫ですよね?
2を3乗したら8になる、2×2×2=8っていう意味です。

で、先に言っちゃうと、3が指数であり対数です。
2は底です。

2^3=8のときの3、右肩にある小さい文字のときは指数ですが
LOG(2)8=3のときの3は対数です、説明むずい…

つまり、2を3乗すると8になりますよ、っていうのは指数
じゃあ、8は2を何乗したの? ⇒ 3乗です、っていうのが対数

説明合ってるかな…
間違ってたらコメント欄に指摘お願いします。

では、問題です。
625は5の何乗ですか?

【答え】
5^x=625 ⇒ x=LOG(5)625
ってなるんですけど、Excelの関数で求めちゃいましょう。

・対数を求める関数
=LOG(数値、底) ※底は省略可、その場合は底は10

対数3

こんな説明で、対数とは何か?わかってくれた人が一人でもいれば幸いです…

日経平均の対数変化率のヒストグラム

疲れたので、結果を書きますね…
まずは、日経平均20年分のグラフです。

日経平均20年分

左軸、青線が価格推移。
右軸、赤線が対数目盛です。

次に、
価格差=(当日終値―前日終値)
騰落率=(当日終値÷前日終値―1)
対数変化率=LOG(当日終値÷前日終値)
この3つの分布図を描いてみました。

対数4
※クリックすると拡大します

あれ?価格差も正規分布っぽくなってるぞ…
やっぱり騰落率と対数変化率に、差がほとんど見られないし、もうわけわかめ…

暫定結論

僕の数学能力が欠けてるので、まったく意味のない検証になってしまいましたが…
計算ミスもあるかもしれないなあ。

たぶん、日経平均の日次変動率くらいだと、普通の騰落率と対数変化率はほとんど変わらない。
10倍とか100倍とか変動するものだと、違ってくるんじゃないですかね。

実際に僕も価格の変動率に対数は使ってないし。
数倍とかに変動する可能性のある変数にだけ、いちおう対数を使っています。