割安株、成長株への長期投資によって資産倍増を目指す、真面目な長期投資家のサイト  株価低迷の今が株式投資のチャンスです

賢く儲ける株式投資

FX  エクセルまにあ  あらのHP   麻雀研究所  数独まにあ  ダイエット



株式投資トップ

はじめに

株式投資入門

株式投資講座

長期投資のすすめ

投資家心理

コラム

おすすめ証券会社

日経平均株価の分析

株の用語集

株の格言集

注目銘柄

おすすめの本

ポートフォリオ

これまでの投資成績

Counterpropagation Network による株価の予測2

2005/12/23
 あら ( ara999 あっと gmail.com )

概要

ここでは人工ニューラルネットワークの一種である、Counterpropagation ネットワーク(CP)を用いて株価を予測した結果について示します。 これは2005年のはじめに開催されたカブロボ・コンテストに向けて行った解析をもとに、第二回のコンテスト用に再解析したものです。

第二回カブロボ・コンテストとはカブロボ・コンテスト実行委員会によって2005年12月19日から2006年3月31日の間行われているソフトウェアロボットコンテストです。Javaを用いて株の売買アルゴリズムをプログラムし、その収益を競うコンテストです。またプログラムを行わなくても簡易アルゴリズムなどを用いて参加出来ます。

私はCounterpropagation Network による株価の予測を行い、その結果をもとにしたプログラムで前回のコンテストに参加したのですが、散々な成績でした。そこで今回は 改めて解析を行い、再度コンテストにチャレンジします。

Counterpropagation ネットワーク に関しては詳細を省きますので、興味のある人は論文などをあたって下さい。一言でいうと、非線形モデリングを行うちょっと変わったニューラルネットワーク手法です。

 

ここでは直前の5日間の株価の変動率を説明変数、その日の変動率を目的変数としてネットワークの構築を行います。そしてそのモデルを用いて将来の株価の予測が可能かどうかを検証していきます。

CP(Counterpropagationのこと)の学習および関連するデータ処理などについては、私がC++で書いたプログラムを用いて行いました。そのモデルを用いたシミュレーションについては、カブロボ・コンテストのAPIを使用してJavaで行っています。

 

手法

学習データ

コンテストでは主催者が選択した100銘柄の売買が可能となっています。しかし選択される銘柄については事前に発表されず、どの銘柄が対象となるのかは分かりません。そこで日経平均株価を学習データとして用いることとしました。これにより個別銘柄のクセに影響を受けない一般的なモデルの構築が可能となります。

用いたデータは2003年5月から2005年12月までの2年半分の日足データです。2003年5月と言えばバブル後の最安値をつけた直後で、日経平均株価は7000円台で推移していました。2005年12月現在1万5000円から1万6000円のあたりなので、この期間におよそ2倍になっています。

データとしては偏っているのですが、この上げ相場が大会期間中も続くことを仮定すれば、特に問題はありません。なお前回の解析では1991年以降の日足を使い、偏りがないことを仮定して解析していました。

 

CPの学習

CPのマップは15*15の正方形に設定したため、ニューロンの数はちょうど225ということになります。データ数が650なので、ひとつのニューロンには平均で2-3個のデータが発火 します。また前回と同様にトーラスマッピングを行っています。

各世代における各サンプルの学習順序はランダムで、近傍範囲の初期値は5、学習係数の初期値は0.1とし、共に世代に対して線形に減少させています。学習回数は100回です。

 

売買アルゴリズム

前回は各銘柄についてCPモデルによる期待値の予測をし、その絶対値が最大の銘柄を売買していました。期待値がプラスであれば買い、マイナスであれば売りです。

しかし今回は上げ相場を仮定していますので、空売りをする必要はありません。期待値が最大となる銘柄を全力買いします。そして翌日にはその銘柄を売り、改めて選んだ期待値最大の銘柄を買います。

 

結果と考察

CPの結果

学習を行った結果、得られたCPモデルのR2乗値は0.126となりました。相関係数でいうと0.355です。 決して高い数字ではありませんが、市場の効率性を考えれば妥当なところではないかと思います。

下に実測値-計算値プロットを示します。横軸が実際の株価変動率、縦軸がCPモデルによる計算値で、共に%で示してあります。

以下に応答局面および各層の重みベクトルの等高線図を示します。

5日前

4日前 3日前
2日前 1日前 応答局面

縦軸と横軸のサイズは共に15であり、それぞれのますがニューロンに対応しています。色の赤いところが値が大きいことを、青いところが小さいことを示しています。相関の高いモデルであれば、この等高線図を見ることで目的変数に影響を与えている要因を考察することが出来るのですが、このモデルでは明確な関係を見出すことは難しいようです。

 

予測結果

次にCPモデルを組み込んだJavaプログラムを作成し、カブロボの環境において予測実験を行った結果を示します。

取引可能なすべての銘柄について、各営業日における過去5日間の株価変動率を求めます。次にその株価変動率をCPマップへと発火させることによって、期待される当日の変動率を予測します。そして全銘柄の予測値を比較し、 それが最大となる銘柄を取引対象銘柄として全力買いします。次の営業日にはその銘柄を売った後、同じプロセスによって取引を行います。

この実験を2005年の1月から11月のデータに対して行ったところ、500万円の所持金が6,854,000円になりました。年率に直すと+37.0%です。日経平均株価も同程度上げてはいますが、まずまずの結果ではないかと思います。

 

まとめ

ここではCPネットワークを用いて過去5日間の株価変動率に基づく株価の予測実験を行いました。その結果、相関係数0.355のモデルが得られ、11ヶ月間の検証実験においては 年率+37.0%という結果が得られました。

同期間の日経平均株価が同程度の上昇を示しているため、これは有意な結果ではありません。つまりランダムに銘柄を選んだ場合と比較してパフォーマンスが良いという事は言えません。

もちろん、この結果のみから結論する事は出来ませんが、株式市場の効率性を考えた場合、今回行ったような純粋なテクニカル的な分析で将来の株価の推移を予測するのは難しいと考えられます。

よって第二回のカブロボコンテストにおいても、一番運のいい人が優勝することになるでしょう^^。


エクセルまにあ あらのホームページ 賢く痩せるダイエット あらの(一人)麻雀研究所 数独まにあ お釣 り FX なたでぽぽ

割安株、成長株への長期投資によって資産倍増を目指す、真面目な長期投資家のためのサイト
 Copyright (C) 2005-2015 賢く儲ける株式投資 All Right Reserved