KFシステムクリエイター取扱説明書(2)

記事
マネー・副業
1.はじめに

システムトレードは、客観的な判定方法(ルール)に従って売買を行なうトレーディング手法です。これは言い換えれば、誰が行なっても同じ売買シグナルが得られるように、客観的なデータを用い、ルールを客観的に定義した手法である、ということです。

ルールを客観的に定義する、ということ自体は、昨今においてはあまり難しくありません。例えば、エクセルなどの表計算ソフトを用い、その上でルールを定義してやれば、それが客観的なルールであればエクセルはきちんとした結果を返します。 
逆に、ルールが客観的でない場合は、エクセルはエラーを返してくるでしょう。唯一気を付けるべき点は、未来を先読みしない、ということです。

一方、客観的なデータを用いる、という点に関しては、十分に注意しなければいけません。 

例えば、当日の天気が晴れならば「買い」、雨ならば「売り」とするシステムを作成したとします。この売買ルールについては、十分な客観性を有しています。エクセルのワークシートのデータ列に、日付と天気を時系列で入力し、それに基づいて売買判定を行なう計算式を記述すれば、「買い」か「売り」かのシグナルが出るでしょう。 

ここで重要なのは、計算式を間違えて、晴れなのに「売り」、雨なのに「買い」というシグナルが得られてしまったとしても、「ルールの客観性」という原理原則は損なわれないということです。 
その場合は単に、晴れならば「売り」、雨ならば「買い」という、本来の意図とは逆の、客観的なルールを有したシステムを作成してしまった、というだけのことです。

しかし、「晴れ」と「雨」の判定を、自分の感覚で行なったとしたらどうでしょう?曇りはどう判断するのでしょう?晴れであっても、雲が多い場合は判断に困ります。 
また、朝の6時には晴れていても、8時には雨に変わることだってあるかもしれません。

すなわち、天気を自分で判断するという行為は、多くの場合、客観的ではないということになり、その結果得られるデータもまた、客観性に欠けることになります。 

では、天気はシステムトレードには使えないのでしょうか? 

そんなことはありません。例えば、特定新聞の日々の朝刊に載る前日の天気、もしくは天気予報であれば、十分客観的なデータであると言えるでしょう。 

株価データの場合、日中の4本足であれば、それは十分客観的なデータと考えても問題ないでしょう。しかし、分足などの場合は、それを提供する証券会社などによって、微妙に異なることはよくあるようですし、客観性を十分に担保できないかもしれません。 
その場合は、データ入手先を固定したり、スプレッドを多めに取ったりしてやる必要がありますが、その分、システムのアウトプットには不確実性が含まれてしまいます。

このように、システムトレードとは、客観的なデータとルールに基づいたトレードである、と言えるわけです。 
しかし、それだけではトレードとしての意味を為しません。

トレードとは、継続的に利益を上げていくことを目指す行為ですから、システムトレードもまた、継続的な利益の計上を目指す必要があります。 
そのためには、想定運用期間における累計損益の期待値が、少なくともプラスであることが求められます。

上述の天気予報のシステム事例の場合、データとルールは客観的であっても、期待値という意味では運用に値しないでしょう。 
なぜなら、当日もしくは前日の(それも特定地域、特定時間における)天気が、当日の株価に影響を与えるであろう、いかなる合理的な理由も見出せないからです。

一方、前日までの株価や指数、海外市場の指数、為替、様々な経済指標やニュースなどは、多くの市場参加者が売買の参考にするものであり、そういった意味では、合理的な説明力を有すると考えられます。 

システムトレードにおいては、このように合理的に説明可能な(たとえそれを証明できなくても)データやルールを用いることが重要です。 
統計的優位性とか、大数の法則とか、確率論とかは、あくまでそれを補強するための道具にすぎません。

「客観的なデータとルール」という要請からも分かるように、広義のシステムトレードは、必ずしも過去検証を必要としません。 
あるデータを用いて、それに対するルールを策定すれば、それ以降の売買は客観的に行なうことができるからです。

その時点では、システムの期待値が正か負か分かりませんが、ルールを策定した際の理論的背景と、しばらくの期間の運用実績があれば、その後もシステムを運用していくべきかどうかの最低限の判断は可能だと思われます。 

しかし、システムの将来しか分からないと、そのシステムにどれだけの資金を投じればよいのか、などといったマネーマネジメントに支障を来たします。 
システムの期待値が正であろうことは、高い確率で分かっているとしても、そのバラツキの度合い、裏を返せばどの程度の損失を考慮すべきか、といった判断は困難です。

その判断を多少なりとも裏付けを持って行なえるようにするためには、過去検証(バックテスト)を行なう必要があります。 
そして、それを可能とするためには、過去から現在に渡って入手可能な客観的データと、そのデータが存在するどの時間軸においてもただ一つの結果を返す、客観的ルールが要求されます。

ここで注意しなければいけないのは、バックテストを行なうに当たって、裁量判断が入る余地を残してはならない、ということです。 
例えば、パラメータの最適化に当たっては、パラメータを客観的・一意的に決定する必要があります。

もしも最適パラメータを裁量で決定したとすると、「どの時間軸においてもただ一つの結果を示す客観的なルール」という要件を満たせなくなります。 
そのため、パラメータの決定機構は完全にシステム化する必要があります。

例えば、2つのパラメータによる最適化を考える場合、一般には平面に近いなだらかなパラメータ分布の方が良いとされるようですが、そこには大きな落とし穴があります。 
それは、最適パラメータを一意的に決め難い、ということです。そこに裁量判断を用いると、客観的なシステム設計ができません。

パラメータ分布がなだらかなのだから、将来成績のバラツキも小さいはずであり問題ない、と考えるかもしれませんが、それを保証するいかなる理由も存在しません。 
特に、複利運用を考える場合は、時間の経過とともに、信じられないくらいの性能差が生じてくるかもしれません。

一方、最適パラメータの選択に一意性を求めた場合、決定された最適パラメータが、必ずしも最適な値ではないという可能性があります。しかし、仮にそうであったとしても、同一条件下では常に同じ値であることが重要なのです。 
そうでなければ、それ以降のいかなる検証も、客観性を担保できないことは明らかです。

そのようなシステムであって初めて、過去の結果が将来まで引き継がれるかという、極めて重要な命題を、客観的に議論できるようになるのです。 
そして、それこそが、トレーディングシステムに求められる、最も重要な機能の一つなのではないでしょうか。

以上は、システムが将来に渡って機能するかどうかを検証するための、前提条件に過ぎません。実際には、バックテストが良好だったからといって将来が保証されるわけではありませんし、更には、フォワードテストを行なった結果を持ってして、将来を決定論的に論じられるわけではありません。 

それでも、客観的な前提条件を設定した上で、様々な角度から検証を行なうことによって、多少なりとも不確実性を減らすことがができるわけであり、そういった地道な一歩一歩の積み重ねが、システムトレードにとって重要なのではないかと考えます。 

さて、トレーディングシステムには、実にさまざまな種類があります。大抵は、システム開発者の投資哲学に根差したものであり、それに応じて市場へのアプローチの仕方が異なります。 
現在一般向けに公開されているシステムは、大きく2つのアプローチの仕方に分けられます。

一つは、トップダウン型とでも呼ぶべきもので、市場全体あるいは特定ユニバースに共通の戦略を定め、それに所属する全てもしくは一部の銘柄にその戦略を適用する方法です。 
この方法の利点は、戦略を適用する銘柄の数が多いために、非常に多くの売買が可能となり、その結果、統計的優位性が得られやすくなることです。
また、一度に多数の銘柄を売買することから、銘柄分散によるリスク低減効果も期待できます。

一方、その戦略は売買対象銘柄全てに共通であるため、明らかにその戦略に適合しない銘柄が、少なからず、かつ恒久的に存在するというジレンマがあります。 
しかし、個々の銘柄で捉えると、その売買回数は必ずしも十分ではないため、特定銘柄を取捨選択するという行為に統計的な裏付けを求めることは困難です。

そうであっても、シグナルが出た銘柄全てを売買することは、資金的に不可能な場合も少なくありませんから、結局、上記の矛盾を孕みながらの運用に成らざるを得ません。 
したがって、この方法はシステムの戦略以上に、マネーマネジメントが重要となってきます。

続いてもう一つは、ボトムアップ型とでも呼ぶべきアプローチです。これは、個別銘柄や指数先物、為替など、単一の対象についてシステムを作成し、必要に応じてそれらを組み合わせて運用するスタイルを採ります。 

古くからある海外製のトレーディングシステムや、証券会社などが提供するシステムの多くは、このタイプです。また、KFシステムクリエイターもこのタイプになります。 
このアプローチのメリットは、トレード対象に合わせた細かな設定が可能なことですが、その反面、過剰最適化に陥りやすいというデメリットがあります。

また、通常、対象一つ当たりのシステム開発や検証に掛る時間が多くなるため、多数の投資対象に対して運用する用途には向かないかもしれません。 
もっとも、最近では指数先物や為替を対象としたシステムが主流となっているため、検証時間については必ずしもデメリットとはならないでしょう。

ボトムアップ型のアプローチは、もちろん株式の個別銘柄にも用いることができますが、リスクを考慮した場合、複数のシステムでポートフォリオを組むことが望ましくなります。 
これは、必ずしも異なる複数銘柄をシステム化するということではなく、同一銘柄であっても異なるロジックを用いた複数システムを組み合わせても良い、ということです。

ボトムアップ型のデメリットとして過剰最適化を掲げましたが、そのような危険性を内包している以上、システムの分散は必須です。 
そうでない場合は、エクスポージャーをできるだけ小さくする必要があるでしょう。

なお、これはボトムアップ型に限ったことではないのですが、これら一般的なシステムの多くは、テクニカルデータに基づいた指標を組み合わせて売買ロジックを作成するため、得られるシステムは多くの場合、自己回帰型となります。 

自己回帰型はシングルファクターモデルということになりますが、それをマルチファクターモデルに拡張するためには、最低限、複数のデータ系列を参照できる仕組みが必要です。 

ブラックボックス化されたシステムの場合、当初から設計仕様に含まれていない限り、それは容易ではありませんが、例えばエクセルベースのオープンシステムであれば、マルチファクターモデルへの拡張は容易です。 

もちろん、マルチファクターだから性能が良くて、シングルファクター(自己回帰)だから駄目だ、という訳ではありません。 
ただ、はっきりと言えることは、数学的には「マルチファクター」⊃「シングルファクター」である、ということです。

しかし、闇雲に複数ファクターを組み合わせてシステム化しただけでは、かえってリスクを拡大させるだけの結果になるかもしれません。 
重要なのは、マルチファクターであれシングルファクターであれ、合理的な裏付けのあるロジックを構築することでしょう。

KFシステムクリエイターでは、主にボトムアップ型の自己回帰システムを作成することができますが、エクセルの知識があれば、マルチファクターシステムの作成とその運用も可能です。 
ただし、その前提条件として、有効なファクターの選定等は、別途事前に行なう必要があります。KFシステムクリエイターが支援できるのは、各ファクターの組み合わせを変更することで、システム性能がどのように変わるかを評価することです。

KFシステムクリエイターが、皆様のトレードのお役に立てれば幸いです。



サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す