2007-01-05 アルゴリズム株取引の準備―その1―
※注意:金融商品に詳しい人が読むと,記述のおかしな箇所に気づくかもしれませんが気にしないでください。
お正月の自由課題として,株取引に関係するアプリケーションの構想を練ってみました。それらしい試作品ができたのでご紹介します。
いまのところ,このアプリケーションの商品化の予定はありません。というのも私,株の知識はまったくないに等しいのです。最近まで「ローソク線の読み方すら知らなかった」という状態だったもので,どうも思うようにいかないのです。
相関係数0.98法
「株なんか分かりません」と言いながら,どうしてこの手の分野に足を突っ込んでみたのかというと,ある一冊の本と出会ったからなのです。
上田太一郎センセイの「データマイニング実践集」という本を読んだのだが,その本に「相関係数0.98法」というものが載っていたのです。
これが何かと言うというと――
- 成長銘柄を見つける
- 買う時期を判断する
- 売る時期を判断する
これらを機械的な計算でやってしまおうというものなのです。もちろん株取引の世界に完璧な方法は存在しません。それでも何千という銘柄の中から,成長銘柄に見当を付けてくれるとしたら,なんだか使えそうな気がしました。
大雑把な手順
上田センセイは,著書にてMS-Excelで解析した例を紹介していました。しかし極小規模なものであり,「全銘柄の中から成長銘柄を探す」といった,実用的な使い方ができるものではありませんでした。
そこで,私はSQLiteで独自の株価データベースを作成することにし,約4000の銘柄を対象に相関係数0.98法を適用してみることにしました。
以下,概要です。
- 過去6か月間の全銘柄の株価(日単位)のデータベースを作成する
- 全銘柄に対して安値の相関係数を求める
- 相関係数が0.98以上の銘柄を抽出する
さて,「4000銘柄の株価を1日単位で記録したとしたら,6か月分ってどれくらいの件数になるの?」と思った人がいるかもしれません。たしか件数は50万件ほどでした。データベースに登録するまで90分くらい掛かりました。
結果発表
いよいよ「相関係数0.98法」の結果発表です。ここまで引っ張っておいて期待を裏切るようですが,残念ながら相関係数が0.98以上になる銘柄はありませんでした(本当のことをいうと,期間の設定の精度がまだ低いのです)。仕方がないので上位5位を紹介することにします。
銘柄 | 相関係数 |
---|---|
3226 日本アコモデーションファンド投資法人 | 0.9626 |
7974 任天堂(株) | 0.9611 |
7230 日信工業(株) | 0.9606 |
6726 オー・エイチ・ティー(株) | 0.9570 |
7269 スズキ(株) | 0.9564 |
どうですか。調査を含めて3日間ほどの作業でしたが,意外にもそれらしい結果が出たような気がします。成長銘柄らしきものを見つけられるようになりましたが,まだ売買の時期を判定する処理はついていません。これからもうちょっと機能を充実させてみようと思います。