実験3、の途中経過
しらべたものをつらつらと書いてみました。
過去の株価データを手に入れる
例えば次のサイトからデータをダウンロードできる。データの加工はやらないといけないが。
株価予測の種類
- 季節変動
- グラフの形から予測
- さまざまな要因をGenericProgrammingに食わせる
- さまざまな要因をNeural Networkというものに食わせる
季節変動
たとえば夏の手前ではアイスの会社の株が上がる。夏に上がるだろうというのを考えて買う人が多くなり、需要と供給の関係から株価が上がる。株価が上がるのだったら、そのちょっと前に買うといい。
でも、これは夏だから株価が上がるのではなく、みんなが「季節変動」を期待しているから上がるのではないか。
似たようなものに「満月になると平均的に株価が上がる」という予測があるが、これもみんながこの予測に期待しているから上がるのでは?
グラフの形から予測
会社によっては株価は上下に推移しているけれど、結局平均の株価へ戻ってくるという予測のもとで買いか売りかを判別する。
例えばここ25日の平均をとって、その平均より5%以上高ければ、それはもうすぐ平均へ戻るために値段が下がるので、その株を売ったほうがいい。
このような株価のグラフを用いた株価予測は「カブロボ」という株取り引きプログラミングコンテストのサイトが詳しい。
Generic Programmingに食わせる
遺伝的プログラミング。NeuralNetworkと比較した伊庭斉志さんの論文*1がある。
Neural Networkというものに食わせる
ニューラルネットワーク。人間のニューロンが電気をやりとりする方法を真似たモデル。とあるノードへの入力信号の合計が閾値を超た場合に次のノードへ信号が送られる。このノードをいくつも繋げたものがNeural Networkである。教師信号などを用いた"学習アルゴリズム"を定め、過去のデータの学習によって閾値となる関数の値を調節することで、ここでは未来の株価の予測を行なう。
例えば、馬場則夫さんの作ったモデル*2は入力側から出力まで3層になっていて、
- 入力は株価変動に影響を与えると考えられている円ドルレート変動やPER(株価の割安であるかという指標)など14個の入力、
- 中間の層は5つのノード
- 3層目は1ヶ月後の各銘柄の最高値と各銘柄の割安値の2つのノード
で構成されている。このモデルを36ヶ月分の過去の株価データで学習させている。
学習あるごりずむ。
こまっていること
- 統計の話はむずかしい。
ex. 「...コンパクト集合上で確立1で総誤差関数の大域的最小値を見いだすという特性...」
- NeuralNetworkで食わせる情報はどんなものにするか。
- NeuralNetworkを使うとすると、株価だけでなくさまざまな入力データも集めなくてはならない。
こんごのほうしん
せっかく調べたのでNeural Networkを使った何かの予測をやってみたい。
- このまま株価?
- その他? 何か良いものありますか?
メモ
- 予測結果と売買結果は区別。
- 統計とかのこまかい話は気にしない。
- 最初は少ない入力値からでも良い。
- Neural Networkは株価だけでなく、文字認識などの分野でも使われている。
- 最初は株価を使ったものでなく、典型的なNeural Networkを使ったプログラムを書くべし
*1:「進化論的手法を用いた金融データの予測」伊庭斉志
*2:「ソフトコンピューティングの株価予測への応用」馬場則夫 1999