はじめに
本稿では、金融予測にニューラルネットワークを適用する方法を紹介します。ここで紹介するプログラムは、C#を用いたMicrosoft WPFアプリケーションとして実装されています。ニューラルネットワーク処理には、Encog Artificial Intelligence Frameworkを使用します。このアプリケーションでは、市場予測を行うテクニカルアナリストが実際に使用する原則を、いくつか使用したいと思います。
テクニカルアナリストは、過去の市場データを分析することにより、株価の今後の値動きを予測します。テクニカルアナリストは本来、業績、負債比率、提供商品といった企業に関するファンダメンタルな情報よりも、株価や出来高などの情報に主に着目します。ファンダメンタルなデータはすべて、株式の価格や出来高に既に反映されているというのがその考え方です。多くの投資規律では、テクニカルな要素とファンダメンタルな要素の両方を取り入れることを推奨します。しかし本稿では、純粋なテクニカルデータを使用する方法を取り上げます。
本稿では、純粋なテクニカルデータのみを使用します。それが必ずしも筆者が推奨する投資規律というわけではありません。これまでに筆者が手がけた研究の中には、ファンダメンタルデータを使用するものもありました。しかし今回は、本稿をできるだけ入門レベルに近いものにするため、テクニカルデータのみを使用します。これにより、アプリケーションの実装をかなり簡素化できます。
本稿で紹介するプログラムはごく基本的なもので、これを出発点として、どんどん発展させていってほしいと考えています。ニューラルネットワークは、パターンを認識するためのツールです。このツールの働きは、私たち人間の脳におけるある主要な機能が、記憶を形成し、パターンを認識するときの仕組みによく似ています。市場予測にニューラルネットワークを使用する際の最も重要な点は、市場データに存在する本質的なパターンを正確に捉えて、ニューラルネットワークが認識できる形に表現することです。本稿のプログラムでは、テクニカルな市場データを、認識できる形に表現するための簡単な方法を示します。
このプログラムは決して、投資戦略の1つとして紹介するものではありません。これは手法の解説を目的としたものであり、これに基づいて投資判断を下すべきではありません。しかしこのプログラムは、ニューラルネットワークを市場予測に利用するという試みを発展させていくための、非常に良い出発点になります。筆者は現在もこの分野において研究を続けており、よくこのプログラムを出発点として使用しています。このプログラムには、Encog、チャート作成、Yahoo Financeから得た市場データへのアクセスのための機能が組み込まれています。これを土台として、ニューラルネットワークに対する市場データの表現方法や、結果の解釈方法を調整できます。市場予測の分野における筆者の個人的な目標は、いくつかのニューラルネットワーク アーキテクチャを試用し、できれば最後に、その研究から得られた成果を書籍として出版することです。
本稿の例では、株式市場を対象とします。ただし多くの場合、同じテクニカル分析の原則を為替市場(FOREX)にも適用できます。ここで紹介するプログラムを、通貨ペアを対象とするように容易に変更できるはずです。これも、筆者が研究対象にしたいと考えている分野の1つです。
ローソク足チャート
まず、テクニカルトレーダーが最もよく使用するツールの1つ、ローソク足チャートから見ていきましょう。多くの市場予測向けニューラルネットワークの例では、毎日の株価の終値だけを使用し、そのデータのみからパターンの予測を試みます。それだけでも何らかの情報は得られますが、テクニカルアナリストは通常、それ以上のデータを使用します。以下は、テクニカルアナリストが特に注目する5つの情報です。
- 始値
- 終値
- 高値
- 安値
- 出来高
終値以外のデータも使用することにより、アナリストは市場の「心理」を把握できます。ここが、純粋なテクニカルモデルにファンダメンタルなデータが加味される部分になります。上記の最初の4項目を用いて、ローソク足チャートと呼ばれるものを作成します。ローソク足チャートは、線グラフと棒グラフが組み合わされたものです。以下にローソク足チャートの例を示します。
このチャートは「ローソク足」から構成されています。各ローソク足が、1日の株価の変動を表します。個々のローソク足の見方を理解することが重要です。以下の図は、その見方を示したものです。
ローソクは、上下にヒゲ(ローソクの芯)を持つ実体(ローソクの胴体部分)からなります。ローソクには白と黒の2種類があります。白いローソクはその日、終値が始値よりも高かったことを表します。白いローソクで示された日は、株価が上昇したことになります。黒いローソクはその日、終値が始値よりも低かったことを表します。黒いローソクで示された日は、株価が下落したことになります。