満月の日に株価は動く part2
満月の平均変動率を比較
さて、次に満月と月齢の対比になるのですが、実際のところ満月は月齢で言えばいくつになるのでしょうか。いわゆる満月というのは新月から数えて15日目の月(十五夜)になるのですが、実は満月の月齢は13.8から15.8の間で変動しています。
正確には月齢の周期は29.5日という中途半端な数値です。市販の月カレンダーでも大抵は小数点が四捨五入等で省略されているので、新月から15日目が絶対に満月になるかといえば微妙なところです。
ピッタリとした月齢値はないので、だいたい真ん中の月齢14のときの日経平均の変動率の平均と、それ以外の月齢の時の変動率の平均との違いを比べてみることにします。
まずは満月のときの平均変動率です。月齢と変動率のデータが格納されたファイルのageとvarを横結合してから、月齢14をピックアップして平均を計算します。
0.0184066
計算結果は0.0184066で約1.84%の平均変動率ですね。満月以外はどうでしょう。
0.0158974
今度は0.0158974で約1.59%が平均変動率になります。この結果を見ると、確かに満月の平均変動率のほうが大きくなっていますが、僅か0.25%の違いです。差がないといえばないような気もします。そこで、バラつきの度合いを示す標準偏差も調べてみます。
0.0150773
>paste age var | rpn 14 14 -c nlookup | rpn x _ | rpn -c sdev
0.00978972
標準偏差も満月のときの変動率のほうが大きいですね。どうやら満月の日は株価変動率の値も大きいし、ぶれる度合いも大きいようです。
月齢毎の平均変動率
ここで一旦、全体の変動率を俯瞰するために、月齢毎の平均変動率をグラフ化してみましょう。まず、月齢が0から29までの全ての変動率平均をmoon.varファイルに格納します。
>paste age var | rpn 1 1 -c lookup | rpn -c rowmean >>moon.var
>paste age var | rpn 2 2 -c lookup | rpn -c rowmean >>moon.var
:
(中略)
:
>paste age var | rpn 28 28 -c lookup | rpn -c rowmean >>moon.var
>paste age var | rpn 29 29 -c lookup | rpn -c rowmean >>moon.var
月齢と平均変動率が格納されたmoon.varファイルをxypでグラフ化すると以下のようになります。
^y 0.02
|
- *
| * *
| * ** * * *
-・・・*・・・・*・・・*・・*・・・・・・・・・*・・・・・・・・・・・・*・・・ 全体の平均
* * * ** * (0.0159791)
| * * * * ** *
-*
| *
|
-
|
| x
| 29
+0.01-|------|------|------|------|---->
グラフの横軸が月齢0から月齢29まで、縦軸が平均変動率で0.01から0.02になります。全月齢の変動率の平均はグラフにあるように約0.016です。*の数を左端から数えていくと丁度、月齢14に値する部分が一番高くなっていることが分かります。グラフからも満月のときの変動率の高さが確認できました。
母平均の差の検定を試す
さて、上記の変動率の平均と標準偏差を使った比較では、両者の違いが確かなものかどうか分かりません。たまたま偶然に満月のときは変動率が高かっただけかもしれません。平均変動率の0.25%の違いは決定的なものなのか、誤差の範囲なのかが分からないのです。グラフを見ても判定は主観的で曖昧さに変わりはありません。
この疑問には統計的に検定することで、ようやく決着が付けられます。このような2つの標本集団(満月のときの変動率データとそれ以外の変動率データ)の違いを統計的に検定する方法の1つに母平均の差の検定(詳しくはビジネス統計(検定編)を参照ください)があります。2つの標本集団の平均値の差が偶然で起こるようなものではないことを統計的に証明するわけです。
ただし、母平均の差の検定は前提条件として標本集団がガウス分布に従っている必要があります。ところが、前述したように歪度と尖度がガウス分布とは異なる分布形状を示唆していますし、直近300日の変動率を使った幹葉表示でも釣鐘状の分布からは、ずれた分布が見てとれます。
一応、そのような場合にも標本集団の数を合わせることで、多少のガウス分布のずれを無視して検定を行なうことはできます。今回の分布形状のずれが多少の範囲に入るかどうかは別途検討が必要ですが、とりあえず標本数を合わせて検定してみることにしましょう。
では、満月のときの変動率と満月以外のときの変動率を同じデータ数だけピックアップしていきます。まず満月のときの変動率のデータ数を調べます。
80
満月のときの変動率データ数は80個ですね。まず、満月のときの変動率データはそのまま全部、ファイルのvar.14に確保します。
次に月齢14を除く、全ての月齢毎にランダムに10個選び出します。全部で290個になります。
>rpn 1 -c rownum <tmp | rpn 1 10 -c lookup | rpn x _ >random
>paste age var | rpn 1 1 -c lookup | rpn x _ | rpn -c shuffle >tmp
>rpn 1 -c rownum <tmp | rpn 1 10 -c lookup | rpn x _ >>random
:
(中略)
:
>paste age var | rpn 29 29 -c lookup | rpn x _ | rpn -c shuffle >tmp
>rpn 1 -c rownum <tmp | rpn 1 10 -c lookup | rpn x _ >>random
これでファイルのrandomに月齢14以外の変動率が確保できました。そのデータから再度、ランダムに80個のデータを選び出します。
>rpn 1 80 -c lookup <tmp | rpn x _ >var.n14
ファイルvar.n14に満月のとき以外の変動率が格納できました。それぞれの基本統計量は以下のとおりです。
デ ー タ 80 80
最 小 値 0.0042605 0.00428449
最 大 値 0.111229 0.064554
範 囲 0.106968 0.0602695
合 計 値(Σ) 1.47253 1.27116
平 均 値(μ) 0.0184066 0.0158895
分 散 値(σ2) 0.000227326 7.89917e-05
標準偏差(σ) 0.0150773 0.00888773
分 散 値(s2) 0.000230203 7.99916e-05
標準偏差(s) 0.0151725 0.0089438
歪度(a3≒0) 3.40808 2.41935
尖度(a4≒3) 19.5128 12.7506
変動係数(ν) 0.824295 0.562874
向かって左が満月のときの株価変動率で、右が満月のとき以外の変動率です。満月のときの変動率とそれ以外の変動率をそれぞれ標本集団と考えると、今回は標本に対応関係がなく母分散が等しいと仮定しないケースになります。
満月のときの変動率が大きいことを統計的に判定したいので、片側検定とします。つまり、帰無仮説は「満月のときの変動率とそれ以外の変動率に違いはない」となります。対立仮説は「満月のときの変動率のほうが、それ以外の変動率よりも大きい」となります。有意水準はとりあえず5%としましょう。
まず、満月のときの変動率ファイルのvar.14と、それ以外のときの変動率ファイルのvar.n14を横結合してから検定プログラムに掛けます。
1.47225
検定統計量は1.47225です。この検定ではt分布の自由度が必要なので、ウェルチ検定の自由度を計算しておきます。
119.546
自由度を120として、検定統計量が示す確率をt分布から計算してみましょう。
0.072091
検定統計量は0.072091なので、7.2%の確率です。かなりいい線ですが、片側検定で有意水準が5%ですから帰無仮説は保留です。つまり、統計的には「満月のときの変動率のほうが、それ以外の変動率よりも大きいとは言えない」ということになります。
有意水準として10%を採用していれば、満月のときの株価変動率は普段よりも大きいと結論付けられるのですが、検定手法の前提としてのガウス分布とのズレを考えれば、変動率が大きいとは言えないという結論にしておいたほうが無難ですね。
巷で噂の満月と株価の関係は次のとおりです。①満月の時に株価は下がる。②新月の時に株価は上がる。③満月がトレンドの転換点になる。④満月の時は株価が激しく動く。もし、噂が本当なら新月の前で買って満月の後で売れば儲かることになりますが…。
rpnプログラムを実行するには、rpn試用版かrpn標準版が必要です(バージョンの違いはこちら)。
pasteは講座サポートで公開されています。statinfoはrpnマイスターパッケージに同梱されています。lookup, nlookup, shuffleはユーティリティーパッケージに同梱されています。rownum, rowmeanはカンタン分析パッケージに同梱されています。sdevはビジネス統計(基礎編)に同梱されています。integralはビジネス統計(推定編)に同梱されています。difmeanw, difwelch, prob-tはビジネス統計(検定編)に同梱されています。xypとnpdはrpnの姉妹ソフトウェアです。詳しくはプロダクトを参照ください。