SSブログ

システムが機能する条件(1) [システムトレード]

トレーディングシステムが機能し続ける条件とは、一体何でしょう?

従来は、様々なことが言われてきましたが、一番多くの意見は、そのシステムに統計的優位性、すなわちエッジがあることではないでしょうか。
エッジがあるシステムは、機能し続けるかもしれません。しかし、そもそもそのシステムにエッジがあるかどうかを、どうやって確認すればいいのでしょうか。

今、あるトレーディングシステムを最適化することを考えます。すなわち、すでにそのシステムに適用する銘柄やロジックは決まっていて、後はそれを最適化して、性能を最大化することを考えるわけです。

そこで問題になるのが、「一体何に対して最適化を行なえば良いか」ということです。一般に、最適化という作業は、システム中に残された変数を決定することです。その変数は、1つかもしれませんし、2つ、あるいはそれよりも沢山あるかもしれません。

いずれにしましても、それらの変数を、想定された範囲に渡って一つ一つ順番に当て嵌めていき、注目している指標がどのように変化するかを調べると共に、その指標が最適な状態になったと判断した時の変数を、最適パラメータとして決定することになります。

その際、どの指標に注目するかで、通常、最適パラメータの値は異なります。ということは、どの指標(最適化対象指標)に対して最適化を行なったかによって、その後のシステムの振る舞いが変わってくることになります。それほどに、最適化対象指標は重要な要素ということです。

けして少なくない人々が、「最適化は過剰最適化につながるため行なうべきではない」という趣旨の発言をすることがありますが、それは最適化という問題に対して、あまりに簡単に捉えすぎた意見だと思います。

最適化を行なうに当たって、最適化対象指標を何にすれば良いのかを明確にしている事例には、ほとんどお目にかかったことがありません。
結論から申し上げますと、この最適化対象を何にするかによって、それが健全な最適化になったり、過剰最適化になったりするわけです。

一般に言われるのは、PFが大きいシステムが良いとか、勝率が高いシステムが良い、といったことです。もしも、その言葉のままにシステムの最適化を行うとしたら、何の疑問もなく、PFや勝率が最大となるようにパラメータを決定するでしょう。

もちろん、通常はPFが最大となるパラメータと、勝率が最大となるパラメータは一致しません。すると、それらが共に比較的大きいパラメータを見つけて、「エイヤ」で決定することになります。
そこに何のルールも設けず、裁量で行うとしたら、そのシステムが機能するかどうかは、運用してみないと分からないということになってしまいます。

少なくとも、システムが機能するかどうかを客観的に判断するのであれば、それらを決定するルールに客観性を持たせなければなりません。
例えば、「PF×勝率」という指標を新たに設けて、これが最大となるようにパラメータを決定する、といった具合です。

このようにすれば、「健全」な最適化ができそうな気がするかもしれません。しかし、いろいろと確認してみたところ、残念ながら、これだけでは過剰最適化から免れることはできないことが分かりました。

ここで、冒頭の問い掛けについて、具体的に考えてみます。機能するシステムとは、過去のある時点において運用を開始したシステムが、現在も資産を増やし続けているということです。
言い方を変えますと、運用開始時に右肩上がりだった資産カーブが、十分な時間が経過した現在においても、平均的に右肩上がりを続けているということです。

そのような資産カーブが客観的な方法で得られるならば、機能するシステムが実現できることになります。それを実現する条件の一つが、現在から過去のある時点まで、最適パラメータが全く変わらないようにする、ということです。
明日は、その点について考えてみたいと思います。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。