トレーディング、Arts&Logic by 田中 雅

閉じる
  • 自分でトレードひまわりFX
  • 自動でトレードエコトレFX
  • FXを学ぶアカデミーチョイス
  • マーケット
    情報を知る
  • お客様サポート
お困りのことがございましたら
お気軽にお問い合わせください
0120-86-9686
受付時間 AM9時〜PM5時(土日・年末年始を除く)
閉じる
MENU

自分でトレード ひまわりFX

自動でトレード エコトレFX

FXを学ぶ アカデミーチョイス

マーケット情報

お客様サポート

閉じる

ローカルナビゲーション
  • エコトレ FX TOP
  • システムトレードの基礎知識
  • エコトレ FX 詳細
  • ポートフォリオジェネレーター
  • ループ・イフダン®

トレーディング、Arts&Logic by 田中 雅

間奏曲

間奏曲(2):市場のパズルを解く

2010/01/13

ジェネティック・アルゴリズム

■ 解けそうで解けない適性化問題

<理想的な取引手法とは>

理想的な取引手法とは何かという問いを設定し、思い付く限りのあらゆる手法の組み合わせを総合的に検証し、システム構築を始めると、検証すべき手法やパラメータの組み合わせの総数は、数十兆に及ぶことが多い。
しかし、そこまで膨大な組み合わせを検証することは、高速PCを使っても実は不可能である。

一度興味半分で、私の典型的なシステムの組み合わせを、計算したことがあった。
79兆の組み合わせが存在した。そしてそれを全て計算し終わるには、50万年かかってしまうという結果だった。

ここで問題が2つ発生する。

(1)どうすれば、生きている間にその解を計算できるのか。出来れば数時間以内に、長くても1日くらいの計算時間で、その最大の収益特性のモデルに到達したい?
(2)さらに、そのようにして発見されたベストモデルは現実に取引してみると抜群の取引成績を本当に収めることができるのかどうか?

(2)に関する答は、別の機会で詳説することとし、本章では問い(1)に対しての答えを模索してみる。

<枝刈り方式>

考えてみると、この問題は一見単純そうに見えるが、実は検討すべき答えの数が膨大であるために、真の解に到達することは限りなく不可能に近い。
そこで、枝刈り方式と言う手法が考え出された。間引き検索の手法である。これは知恵を使って良さそうな領域のみを検索する探索方式である。

<ジェネティック・アルゴリズム(遺伝子演算法)>

しかし知恵を一切使わず、偶然を辿って、真の解にかなり近そうなモデルに到達する手法が考え出された。その代表的なものですでに実用化されているのが、ジェネティック・アルゴリズム(遺伝子演算法、GAと略す)である。

この手法は、生物進化の過程をコンピュータで模倣しながら答えを検索する最新の検索法である。
儲かる見込みのありそうな答えの候補を、コンピュータ上の仮想世界で自然淘汰しながら、答えを進化させて真の解に近い近似値に、高速でたどり着く事が出来る。

米国の著名な取引システム・プログラマーであるパルドが、1990年台の初期に、ジェネティック・アルゴリズムを取引手法の探索に適用できることを理論提唱したが、パルド自身が筆者に、「自分にはプログラミングできなかった」と語った特殊な検索手法である。

このジェネティック・アルゴリズムを詳しく説明する。

■ セールスマンの最短訪問ルート

ジェネティック・アルゴリズムを説明する際、最もよく使われるのが「セールスマンの最短販売訪問ルート」を解く問題である。
本来の問題を解く前にちょっと単純化して小手調べをしてみる。〈図1〉を見ていただきたい。


(図1)

問題1
「長方形の区域の中に、20個の小四角形が規則的に階段状に並んでいる。
四角形には、1から20までの番号が振られている。この四角形は、あるセールスマンの個別訪問先である。
訪問先1番から始まって、すべての訪問先を1回だけ訪ねる“ひと筆書き”の最短ルートを発見せよ。ルートを終了する最後の訪問先は、どの番号であってもかまわない。ルートは、交差してもかまわない。」

この問いを、試しにセミナーで受講者に聞いてみたら、次の2つの答えのいずれかを出す人が殆どだった。一つの答えは、1から始まって2、4、6、8…と偶数をたどって20まで行き、そこから19に移って、17、15、13…と奇数を逆にたどって3まで戻り、そこで訪問を終了するという答えである。
その理由として、道を横断するときには斜め横断が一番近いから、この問題も同じではないかという推測をするようである。

もう一つの答えは、1、2、3、4…と文字どおり順番に訪ねて20で訪問を終了する。
ほかに良いアイデアがなければ、以上の二つのうちどちらかが真の解となろう。

よく考えると、正しい解に到達するのは難しいことではない。この問題は、単純なパターン分析に基づいた、論理的推測が可能な問題だからだ。
答えはこの章の終わりで出すことにして、ひとまず話を先に進める。

問題2
次に〈図2〉を見ていただきたい。問題1は小手調べで、これが本当の問題である。


(図2)

今度は、訪問先がばらばらに不規則に並んでいる場合である。
具体的には訪問先の座標軸の値は、コンピュータに乱数を発生させて決めてある。この場合、セールスマンも、訪問先の正確な座標軸の情報を持っており、従っていかなる訪問先を結ぶ距離も計算することができる。

図2には、訪問ルートの試行ルートが示されている。
このルートは、何も考えないで、ランダムに選ばれたものである。この試行ルートの意味は、後ほど解説するので、今は無視していただきたい。

訪問のルールは、問題1では訪問先1から始めて最短訪問ルートを見つけるものであった。今回は、何番から始まって、何番で終わってもかまわない。最短の訪問ルートを見つけるにはどうしたらいいか、という問題である。

答えを先に明かしてしまいたい。
「最短の訪問ルートは、確かに一つ存在する。しかし、それを知る適当な手段はない」。

言い替えると、次のようになる。「考えられるすべての組み合わせを計算し、その中で最短距離のものが答えである。しかし、この計算はスーパーコンピュータを使わないと計算しきれないほど膨大なものなので、現実には実行不可能である」
この問題を妥協的に克服しようとしたのがIT最新最先端技術の一つジェネティック・アルゴリズムであり、これを使えば短時間でかなり良い答えに到達できる。

■ ジェネティック・アルゴリズムの基本原理

ジェネティック・アルゴリズムの基本原理は、次のように説明できる。(頭文字を取ってGAと呼ぶことにする)

GAは、膨大な適性化問題(※参照)を解くための新しい手法である。その手法の根底となるアイデアは、遺伝子の染色体が進化する過程を模倣して問題を解くことにある。
前述のセールスマン最短訪問ルートの訪問順序を、染色体の配置順序とみなし、その配置を進化させ、最良の進化を遂げた染色体が最短訪問ルートの解となる。

染色体の配置順序を進化させるには、新種を作り出しその中から優れたものを選択して残さなければならない。
新種を作り出す方法は二つあり、ひとつは突然変異、もうひとつは異種交配である。

こうして出来あがった新種の中から、環境に適合できる種を自然淘汰させて選択する。
セールスマンの最短訪問ルートを例にとれば、自然淘汰とは、より短い訪問ルートを生き残らせることである。この進化を繰り返した結果、最後に生き残った最も進化した種が問題の解となる。

※ 最適化(Optimization):
適正化とも言われる。論理的推論で問題の解が得られないときには、しばしば過去のデータを後講釈でシミュレーションして、最適の解を見つけるしかない。このような手法で問題の解決を図る事を最適化、もしくは適正化による問題解決と呼ぶ。

■ 第一世代(試行訪問ルート)

もう一度〈図2〉を見ていただきたい。この図には、試行ルートが示されている。


(図2)

この試行ルートは、乱数を使ってランダムに選択された意味のないルートでしかない。
これを第一世代と見なし、進化を試みる。

第一世代の遺伝子の染色体は、試行ルートの訪問順序に等しい並び方をしている。
20の染色体があり、最初の10の染色体は次のように並んでいると仮定しよう。
訪問先1から始まって最初のルートをたどるのと同じである。

2、4、11、15、5、9、8、7、18、19…

以上の染色体の配置順序のとおりに訪問ルートを定めたとき、その総合距離は画像上に表示Total distanceが教えるように83.20であったとする。

■ 突然変異(染色体の並び変え)による第二世代

突然変異は、基本的にランダムに選んだ二つの染色体を入れ替えることによって、実現させる。例えば、上から3つ目と7つ目の染色体を入れ替えると、次のように染色体の配置が変異する。

2、4、8、15、5、9、11、7、18、19……

以上のように訪問先をたどると、突然変異する前とは違った訪問距離となる。この場合、訪問距離が短くなっていれば、この遺伝子は進化したと定める。
同じような操作をして似たような突然変異の新種をいくつも発生させ、これを第二世代とする。

■ 結婚による異種交配

もう一つの重要な遺伝子操作は、結婚による異種交配である。
交配の際、母方の遺伝子が半分、父方の遺伝子から半分受け取って、子供は新しい遺伝子を獲得する。

訪問ルートの問題の場合、母の染色体10個と、父のそれを10個受け継いで子供は20個の新しい染色体を得る。この20個の染色体の新しい配列が、次に試行すべき訪問ルートの順番となるのである。

■ 環境適合性と自然淘汰

以上のような遺伝子操作を混ぜ合わせて、新しく発生した100体の新種の中で最も環境に適合した少数グループだけが生き残ることができるとする。
セールスマンの訪問ルート問題においては、環境適合性とは訪問距離の大小にほかならない。

100体のうち、訪問距離が最も小さな10体の新種だけが生き残り、他の種はそこで死に絶える。この10体がさらにランダムな突然変異と異種交配を繰り返して、100体の新世代ができる。さらに、この中から最も訪問ルートの短い10体が生き残り、次々と自然淘汰を繰り返していくのである。

このようにして「訪問ルート」という種の遺伝子は、コンピュータの仮想世界の中で進化していく。
すなわち、遺伝子の染色体の配列は最短距離の訪問順序に限りなく近づいていくのである。

■ 訪問ルートの解

〈図3〉をご覧いただきたい。これが問題1の解である。
これは論理的推測で解くことができる問題で、学校で教える数学の問題と同じである。現在の距離は19.00と示されている。さらなる進化を試みてこの先1年間PCを走らせても、19.00以下の解にたどり着かないだろうと、知恵で推測が付く。ひょっとすると神のみぞ知る高度で不思議な解が存在するかもしれないが、セールスマンとしてはこの解に従って早速セールスを始める方が、この先進化を試みてPCの前で待ち続けるよりは良いと判断することになりそうだ。


(図3)

次に〈図4〉はこの問題を論理的推測ではなく、GAの演算プログラムで解いている途中の画像である。まだ半分しか解けていない。この図では見づらいかもしれないが、グラフの下半分に523世代まで進化が進行していると示され、その染色体の配列も示されている。ここまでの距離は23.14と示されており、斜め訪問方式が減るにつれて距離が縮小していくので、階段方式で訪問したほうが短いと推察がつく。


(図4)

さて〈図2〉で取り上げたようなランダム配置の訪問先であれば、上図例のような論理的推論で解くことが出来ず、ジェネティック。アルゴリズムが真価を発揮するのはそのような状況での謎解きである。

〈図5〉は〈図2〉の遺伝子を、祖先として336世代まで進化させた解を図示したものである。訪問距離は、33.07まで短くなっている。これがGAによる問題の解き方と解の例を示す。1000世代まで進化させると、もう少し環境適合性が高まるはずである。実際にやってみると、高度に進化した後は、PCを幾ら走らせてもこれ以上の進化がなかなか顕れない。


(図5)

しかし、それでも時折突然変異によって、あるいは奇跡の邂逅による結婚によって、進化することがあるので後は時間の問題である。実に、地球は何千万年もこのような地球コンピュータを走らせ続けており、実に気の長い謎解きをやっているわけだ。

取引手法の適性化

■ 適性化(オプチマイゼーション)とカーブフィッティング

巡回セールスマンの問題を例に、遺伝子アルゴリズムを使って最短巡回ルートを発見する手法を解説した。これを取引手法の適正化に応用できないかとは誰しもが次に考えることだろう。

<取引手法の適性化>

この場合適性化とは、相場の取引手法を研究する際に、何をどう使えば勝つことができるかという問いに対して、考えられるすべての状況を設定し、それを全部テストし、その中から最良の成績を収めた手法を探索し、仮に最良の解とすることを指している。

例えば、ある取引者が次の6つの指数を参考に取引しているとしよう;ボリンジャー・バンド、一目均衡表、MACD、%Rオシレーター、ストキャスティクス、RSI。

<売買の判断>

これらをどう採択し、組み合わせ、どう解釈すれば売り買いの判断を的確に下すことができるだろうか?
大抵の人はこのようなことを年中考えているはずだから、相場人生の時間の大部分は、実は取引手法の適性化のために費やされていると言ってよいだろう。
ファンダメンタルズや市場情報に頼って自由裁量取引をしている人の頭の中でも、実は適正化によって判断を下しているのである。その体験を集積させた無意識の記憶がいわゆる「勘」である。

<GAの威力>

60歳になって株取引を始めた前東京工業大学教授増田正美氏は「テクニカル分析MM法」という著書の中で(パンローリング社刊)、買いシグナルとしては次の条件を挙げ、売りはその逆であるとした。

株価が20日ボリンジャー・バンドの-2シグマより低い。
RSIが25以上であり、14日DMIが75以上であり、1日MACDがゴールデンクロス直前。

このMM法と言われる買いエントリールールの有効性の成否はともかく、増田氏は一体どうやってこのような組み合わせとパラメータを発見したのだろうか?
恐らく知恵と推論と手間隙を掛けた検証作業で発見することが出来そうだが、GAが威力を発揮するのはこのようなシチュエーションである。

■ 相場問題の解決

相場に関する問いは、現代的な実践の現場では、ほとんどの場合適性化(オプチマイゼーション)によって解かれている。
これをコンピュータ・ツール化したのが、取引シミュレーション・ソフトである。市販されているほとんどすべてのシミュレーション・ソフトは、全幅探索=しらみつぶしの方法を使って取引手法を適性化する。

しらみつぶしにすべての組み合わせを調べるのは最も完全な方法であるが、前述した6つの指数の組み合わせを調べるだけでも、実際には数億から時には数兆にものぼるパラメータを全幅探索せねばならず、現実的に実行不可能である。
このような場合にジェネティック・アルゴリズム(GA)で解くというのが最新のやり方であり、これは遺伝子進化のレベルでの問題解決の基本的メカニズムをまねたものであり、「論理的な推論に頼らず」に答えを見つけるというやり方である。

■ 偶然性にたよる問題解決

優れたシステム取引者

GAで先ほどの例を解く場合、テクニカル指数の組み合わせの基本となる因子を染色体に置き換え、これらの染色体を無差別に突然変異させながら、その成績の順に優れた種を選別し淘汰する。

良い種が見つかると結婚による交配によって、次世代のさらに優れた遺伝特質を残していく。次の世代は、また突然変異によって進化の可能性を模索する。

以上を繰り返しながら、生物進化過程を模倣して、神のみぞ知る謎の領域に少しでも近づこうとする試みである。
われわれが直面しているさまざまな相場問題は、大部分が偶然のメカニズムによってしか解くことができないのかもしれない。私は歳を経るにつれてますますそう信じるようになった。これはある意味では的を得たアプローチであると思われる。優れた取引者はこうした偶然の一つか二つに遭遇した幸運な人なのであろう。

■ GAを使った取引システム

<プリディクト(Predicto)>

GAを使った、実践的な取引手法の一つを紹介したい。
米国のボブ・ムーア(Bob Moor)という人が考え出した、プリディクト(Predicto)というS&P株式指数先物の取引システムは次のようにできている。
1995年ごろネット上で無料公開され、興味深くフォローしたことがあった。今でも当時の記録をGoogle検索して読むことが出来る。

プリディクトは、明日の指数が上がるか下がるかを、今日の大引けの後で予測する。上がると思えば翌日の寄り付きで買う、下がると思えば翌日の寄り付きで売る。
このようにして毎日予測を立て、翌日の寄り付きでひっくり返すか、現ポジションを維持するかして、連続的に取引していく。

予測はGAを使って、次の12の指数を適性化して組み合わせる。
NYダウ工業株平均、S&Pの高値、S&Pの安値、S&Pの引け値、ロンドン・ゴールド、ドル・円レート、NY株式出来高、NY株式上昇株数、同じく下落株数、CRB商品先物指数、WTI原油、米国長期債の金利。

以上の指数を、任意に組み合わせて単純合計する。この合計が上がれば、明日は株価が上昇すると仮に決め、その予測が当たったかどうか勝率を計算する。
過去22日間で最も勝率の高い組み合わせを、明日の予測に使う。指数の組み合わせは、全部で1億2000万あるそうで、この最適な組み合わせを発見するのに、GAを使うのである。

筆者が1年ほど前に発見した逆張りシステムも、ひまわり証券が提供するシステムトレーディングソフトであるトレードシグナルのGAオプティマイザーを使って発見したものである。私は20年間の市場経験を通じて、一度も知恵で逆張りのシステムを作るのに成功したことが無かった。しかしジェネティック・アルゴリズムのパラメータ設定を間違えて一晩シミュレーションを走らせた時に、その設定間違いのおかげで逆張りシステム第一号を偶然発見したのである。
GAは時に、我々の理解を超越した恐るべき変異解を見出すことがあるのだ。余りにも異端児であるが故に、どうしても常識が邪魔をして知恵では発見できなかったのである。その事に関しては、次回の間奏曲で詳細を述べることにする。

間奏曲(2):市場のパズルを解く 田中 雅 2010/01/13