満月の日に株価は動く
満月の日には何かが起こる…。応用コーナーの月齢とルナティックにあるように、昔から特異な出来事と満月との関連性がまことしやかに語られてきました。そして、月の影響が株式市場にもあるのではないか…。そう考える人達がいても不思議ではない気もします。
さて、ここに1つの仮説があります。満月の日には株価の変動率が高くなるというものです。昔からよく聞きますし、インターネット上でも語られることがあります。でも、これって本当の話なのでしょうか。
株価の変動率(株価が上下に動く割合)が高くなるためには、今まで比較的均衡を保っていた買いと売りの勢力に大きな変化が現れて、どちらかに大きく傾くことを意味します。買いの勢力が強くなれば株価は上昇方向に動き、売りの勢力が強くなれば下降方向に動きます。
通常は株価に影響のあるニュースが流れたり、機関投資家の大量売買が原因で株価変動が起こります。またバブルの末期では、大量の個人投資家の買い持ちが限界に来ると雪崩を起こして、株価変動が飛び抜けて大きくなります。
それら多様な変動要因の1つが満月だったかどうかを調べたいのですが、全ての要因を変動要素と考えて多変量解析するのは大変なので、ここでは簡単に一日の変動率と月齢だけに絞って関連性を調べてみます。
サンプル数と変動率
1年に満月の回数は約12回ですから、たかだか1年の変動率との関連を調べても統計的にはサンプル数不足です。ここは一気に10年間の株価と月齢の関係を調べることにします。10年なら満月の回数は120回ですからサンプル数としては十分でしょう。日数にして約250日×10年で約2500日の検証になります。
さて、肝心の変動率ですが、個別株は様々な原因で株価が上下しますから、月齢との関連を検証するのにあまり適切とは言えません。いくつかの銘柄の平均値を使うほうがよい結果を期待できるので、ここでは日経平均を使うことにします。
次に変動率の定義ですが、とりあえず以下とします。
変動率 = -------------
終値
高値と安値の差額だけでは、日経平均が高いときと低いときでは公平な評価にならないので、高値と安値の差分を終値で割った比率を変動率とします。単純な計算式で完全ではありませんが、とりあえずはこれでいいでしょう。
日経平均の変動率を計算
日経平均のデータは以下のように、テキストファイルのnikkei.txtに格納してあるとします。
20000104 18930 19180 18930 19000 28590
20000105 19000 19000 18220 18540 55300
20000106 18570 18580 18160 18160 57420
:
(中略)
:
20091228 10520 10650 10510 10630 146300
20091229 10610 10680 10590 10630 158300
20091230 10700 10700 10540 10540 170800
2000年01月04日から2009年12月30日までの10年間の株価データになります。このデータから日経平均変動率を調べてみましょう。計算は簡単で、以下のようにrpn式を入力します。
これで、ファイルのvarに変動率が格納されました。最後の5行は以下のようになっています。
:
(略)
:
0.0132953
0.00667302
0.0131703
0.0084666
0.0151803
この段階で日経平均の変動率(正確には値幅の割合)の基本統計量を計算してみます(詳しくはビジネス統計(基礎編)を参照ください)。
デ ー タ 2457
最 小 値 0.00253165
最 大 値 0.112426
範 囲 0.109894
合 計 値(Σ) 39.2606
平 均 値(μ) 0.0159791
分 散 値(σ2) 0.000100318
標準偏差(σ) 0.0100159
分 散 値(s2) 0.000100359
標準偏差(s) 0.0100179
歪度(a3≒0) 3.27993
尖度(a4≒3) 23.494
変動係数(ν) 0.626941
平均で0.016です。つまり、日経平均は一日で約1.6%の値動きがあることになります(株価に対して)。歪度と尖度を見るとガウス分布と異なった分布形状であることが予想されます。ちなみに、最終日から過去300日の変動率の分布を幹葉表示で示してみると以下のようになります。
1 | 000000000001111111111112222222222222222333333333333333333333444
444444445555555555555556666666666667777778888888888888999999999
2 | 000000000000011111112222223333344444445556666677778888999
3 | 00000001122224555556666677788999
4 | 112469
5 | 0011779
6 | 13459
7 | 4
8 | 25
9 | 37
10 | 28
11 | 12
やはり、ほとんどの変動は株価の1%台に収まっていることが分かります。1%を超えると分布は急激に少なくなり、4%以上の値動きは少数です。2桁以上の変動があったのは、300日中で4日(全体の1%)だけでした。
月齢の計算
次に月の影響に関してですが、月には年齢が決められています。新月は月齢0です。そこから徐々に月が明るくなって満月になり、また暗くなっていきます。月齢は新月から1つずつカウントアップされて、最大が月齢29になります。そして、また新月の月齢0に戻ります。
あまり厳格な値を求めないなら月齢は日付から導くことができます。月齢の計算はrpnプログラムのmoonを使用します(詳しくは、pakage入門(カレンダー・システム編)の曜日と月齢を参照ください)。
nikkei.txtから日付だけを抜き出して、moonプログラムに渡すことで一気に月齢に変換します。
あっけないようですが、これで処理は終了です。ファイルのageに月齢が格納されました。moonプログラムの仕様上、月齢は0から29までの値になります。ageファイルの最後の5行だけを表示すると以下のようになります。
:
(略)
:
7
8
11
12
13
月齢値が8から11に飛んでいるのは、立会日に休日があるためです(立会いのある日だけ月齢計算しているため)。
次は…
これで満月と変動率との関係を調べるためのデータは揃いました。満月のときの平均変動率を通常のときと比較すれば、何かが浮かび上がってきそうです。当然、感覚的なものではなく、統計的な処理を通して妥当性を検討することになります。さて、満月のときの株価は本当に動きやすいのでしょうか。
rpnプログラムを実行するには、rpn試用版かrpn標準版が必要です(バージョンの違いはこちら)。
statinfo, stemleafはrpnマイスターパッケージに同梱されています。moonはカレンダー・システムパッケージに同梱されています。詳しくはプロダクトを参照ください。