| No.130 データマイニングに挑戦! |
| 概要 |
・データマイニングとは、大量のデータから何らかのルールを導き出すこと。
・昨年の12月から集めた株価データを使い、データマイニングに挑戦した。
・複数の既知の法則を組み合わを法則の原案として検証を行った。
・発見したルールに基づいて、実際に検証中である。
(2008/07/13)
|
| データマイニングとは |
昨年の12月にHTMLソースの取得方法を覚えてから、少しずつですが、インターネット上の情報を取得して過去の株価情報をデータベース化してきました。
かなり時間がかかりましたが、全上場企業の過去数年分の株価情報をACCESSのデータベースとして蓄積することに成功しましたので、これを使って分析をすることにしました。
データベースに対して分析を行い、新しい法則を発見することを「データマイニング」というそうです。データという名の山から鉱脈を発見するのにたとえることができるので、そう名付けられたのだと思います。
シミュレーションと何が違うのかというと、検証する選択肢の多さだと思います。シミュレーションの場合、法則は既に明らかになっています。いくつかの要素を変動して検証しますが、法則そのものは固定です。データマイニングの場合は、法則そのものを検証し発見するのです。法則の選択肢をいくつか用意しておき、その中の変動する要素を全て検証します。よって、検証すべきパターンが非常に多くなります。
そこで、コンピュータの出番となります。人間は単純な繰り返し作業は苦手ですが、コンピュータはプログラムを組んで実行させれば時間のある限り検証処理を実行し続けてくれます。幸いなことに、私はデータベースを構築できてプログラミングもできるので、データマイニングに挑戦することにしました。
|
| 株価データを使ったマイニングに挑戦だっ! |
データマイニングで重要なのは、分析方法ではないと思います。分析方法については、統計学という専門の学問があり、勉強すれば身につけることが出来ると思います。(私は統計学は素人です。)それよりも、法則の選択肢をどのように作るかの方が重要だと思います。
と言っても、法則の選択肢も様々な人が様々な手法で、すでに分析済みだと思います。例えば、株価の5日移動平均や25日移動平均については様々な人が様々な手法で分析済みです。仮に、5日を10日に変更したり、25日を1ヶ月に変更しても、シミュレーションの範囲の話でしょう。
かと言って、検証の結果、仮に確率の高いルールを発見できても、説明できない法則では意味がありません。天候と株価なんていう話を聞いたことがありますが、万一可能性があったとしても説明できません。
そこで、どんな法則を選択肢にするか、データベースの要素を基に検討することにしました。データベースに蓄積されている要素は以下の通りです。
1銘柄について1レコード(最新情報)
・銘柄コード
・市場
・名称
・発行済株式数
・1株配当
・1株利益
・PER
・1株純資産
・PBR
・自己資本比率
・自己資本利益率
・決算年月日
・単元株数
・株主優待(Yes/No)
・最新始値
・最新高値
・最新安値
・最新取引値
・最新出来高
1銘柄について複数レコード(過去の株価データ、1ヶ月で1レコード)
・年月
・始値xx(xxは日付)
・高値xx
・安値xx
・終値xx
・出来高xx
・調整後終値xx
最新情報については、過去どうだったか参照できない要素は選択肢から除外するしかありません。(例えば、PERや1株利益など)利用できるのは、決算年月日と株主優待ぐらいですかね。やっぱり、過去の株価データが分析の主となってきます。
移動平均や乖離率を計算することも、ゴールデンクロスとかも簡単に検証できます。でも、簡単に検証できること=誰でもやっていることだと思います。また、酒田五法などを使ったパターンマッチングもそう難し事ではありません。数日間の株価を連続で判定するだけです。こんなことも、多分、様々な人が検証済みだと思います。
そこで、私は複数の既知の方法を組み合わせた場合を検証することにしました。例えば、株主優待の権利日と移動平均とか、酒田五法とゴールデンクロスとかです。これなら、あまり多くの人は検証したことがないかと考えました。
|
| 結果は? |
検証結果ですが...今現在も検証処理を実行中です。パターンマッチングと移動平均の両方を用いた場合は、可能性が高いような気がしていますが、気がするだけかもしれません。過去の実績が将来を保証するかどうかは神のみぞ知るという方もいますから、株価データに対するマイニング自体が無意味という可能性もあるでしょう。
でも、プログラムさえ組んでパソコンを動かしていれば、勝手に検証してくれるのです。実際の山に登って鉱脈を発見するのと比べれば、時間もお金もかかりません。これで、眠っている法則を発見できれば素晴らしいことだと思います。
実は、検証処理を行っている中で、一つだけ法則を発見することが出来ました。でも、複数の既知の法則を組み合わせたものではありません。株価データを分析するためのプログラムをデバッグしているときに気がつきました。(苦笑)ある意味、データマイニングが役に立ったと言うべきでしょう。
現在、その法則を使ってスイングトレードを行っています。まだ数ヶ月しか検証していないので、何とも言えないのですが、結構いい感じです。もっとより多くの法則を発見できるようにデータマイニングを続けてみようと思っています。
|