「システムトレードにおけるバックテストの結果は、未来の収益を保証するものではない。」
龍金氏の研究によれば、バックテストの結果とその後の損益との間に相関は見られない、とのことであり、そのことを持って、冒頭の結論としています。
それに関しては、私は現時点において否定も肯定もできません。
この類の問題で重要なのは、それが客観的な評価であるかどうかということと、その適用範囲は明確であるか、ということです。
私が否定も肯定もできないと言ったのは、そのように明確に管理された「実験検討計画」を策定してからでないと、いかなる結論も出せないと考えるからです。
最初の要件である「客観的な評価」に関しては、過去のコラムで何度も述べてきましたが、基本的には以前と変わりありません。
例えば、バックテストにおいて過去のデータのみを用いることは当然ですが、加えてシステムを一意的に決定できなければなりません。
さらには、そうやって得られたシステムの集合から、実験に用いるシステム群を客観的かつ一意的に抽出し、それを将来に渡って運用した時に損益がどうなるかを評価しなければなりません。
そのような「適用範囲の明確化」を行わない限り、どのような結論も意味を成しません。
このように管理された実験環境においては、実は冒頭に掲げたような結論を得ることは容易ではありません。
すなわち、実験に用いたシステム群を用いて冒頭の結論が得られたとしても、必ずしも他のシステム群についてそれが当て嵌まるわけではないのです。
一方、ある特定のシステム群について、冒頭の結論を否定する結果が得られたとしたら、それは明確な反証となります。
このように、実験的に何らかの結論を得るということは、実はかなり大変なことなのです。
さて、バックテストの結果が未来の収益を保証するかどうかは一先ず置いといて、バックテストそのものに必要性があるかどうかについて考えたいと思います。
もしもバックテストに意味がないのであれば、膨大な時間を掛けてバックテストを行なうよりは、他の事に時間を振り向けた方が有益かもしれません。
では、バックテストの目的とはいったい何なのでしょう?
もちろん、システムの性能を評価することですが、実はそれだけではありません。もう一つの重要な役割は、システムの管理限界を決定することです。
今、夜の高速道路を猛スピードでバックしている自動車があるとします。この自動車にはバックミラーがなく、進行方向の様子は分かりません。
また、運転手は正面を見据え、けして後ろを振り返ってはいけない状況にあります。
夜間のため周囲は全くの暗闇ですが、幸いなことに強力なヘッドライトで通り過ぎた道路の状況を確認することができます。
また、自分以外に他の自動車は走っていないものとします。
現在の道路の幅やカーブの具合は、通り過ぎた道路の様子から推測するしかありません。道幅が十分にあれば、通り過ぎたばかりのガードレールや中央分離帯の位置を見ながら、うまくハンドルを切り続けることができるかもしれません。
しかし、思いの外カーブがきつかったり、急に道幅が狭くなったりすると、車線をはみ出して事故を起こす可能性があります。
そのため、自動車に緊急安全装置を付けて、万が一走行車線をはみ出したら急ブレーキが掛かるような仕組みになっています。
もしも、これらの仕組みが一切なかったらどうなるでしょうか?
道幅は分からず、ブレーキを掛けることもできない状況で、自動車をバックで高速走行させたら、あっという間にガードレールや中央分離帯に衝突して、命に関わる事態に陥るでしょう。
システムトレードでも、同じことが言えます。
すなわち、システムの管理限界を適切に設定しておくことで、管理限界を越えてしまった時にシステムを緊急停止することができ、損失を最低限に抑えることができるのです。
そして、そのような管理限界を設定するためには、バックテストが欠かせないことになります。
「バックテストなど行なわなくても、道路の設計値から道幅は分かる。すなわち、理論的に管理限界を決定できる。」という意見があるかもしれません。
しかし、理論的に決定できるということは、未来に渡ってもそれが可能であるということです。
そのためには、未来を予測する何らかの法則が必要になります。それが、バックテストを否定するよりも馬鹿げているということは、言うまでもありません。
もっとも、「管理限界など必要ない。だから、バックテストも必要ない。」というのであれば、「お好きなようにどうぞ。」としか言えません。
龍金氏の研究によれば、バックテストの結果とその後の損益との間に相関は見られない、とのことであり、そのことを持って、冒頭の結論としています。
それに関しては、私は現時点において否定も肯定もできません。
この類の問題で重要なのは、それが客観的な評価であるかどうかということと、その適用範囲は明確であるか、ということです。
私が否定も肯定もできないと言ったのは、そのように明確に管理された「実験検討計画」を策定してからでないと、いかなる結論も出せないと考えるからです。
最初の要件である「客観的な評価」に関しては、過去のコラムで何度も述べてきましたが、基本的には以前と変わりありません。
例えば、バックテストにおいて過去のデータのみを用いることは当然ですが、加えてシステムを一意的に決定できなければなりません。
さらには、そうやって得られたシステムの集合から、実験に用いるシステム群を客観的かつ一意的に抽出し、それを将来に渡って運用した時に損益がどうなるかを評価しなければなりません。
そのような「適用範囲の明確化」を行わない限り、どのような結論も意味を成しません。
このように管理された実験環境においては、実は冒頭に掲げたような結論を得ることは容易ではありません。
すなわち、実験に用いたシステム群を用いて冒頭の結論が得られたとしても、必ずしも他のシステム群についてそれが当て嵌まるわけではないのです。
一方、ある特定のシステム群について、冒頭の結論を否定する結果が得られたとしたら、それは明確な反証となります。
このように、実験的に何らかの結論を得るということは、実はかなり大変なことなのです。
さて、バックテストの結果が未来の収益を保証するかどうかは一先ず置いといて、バックテストそのものに必要性があるかどうかについて考えたいと思います。
もしもバックテストに意味がないのであれば、膨大な時間を掛けてバックテストを行なうよりは、他の事に時間を振り向けた方が有益かもしれません。
では、バックテストの目的とはいったい何なのでしょう?
もちろん、システムの性能を評価することですが、実はそれだけではありません。もう一つの重要な役割は、システムの管理限界を決定することです。
今、夜の高速道路を猛スピードでバックしている自動車があるとします。この自動車にはバックミラーがなく、進行方向の様子は分かりません。
また、運転手は正面を見据え、けして後ろを振り返ってはいけない状況にあります。
夜間のため周囲は全くの暗闇ですが、幸いなことに強力なヘッドライトで通り過ぎた道路の状況を確認することができます。
また、自分以外に他の自動車は走っていないものとします。
現在の道路の幅やカーブの具合は、通り過ぎた道路の様子から推測するしかありません。道幅が十分にあれば、通り過ぎたばかりのガードレールや中央分離帯の位置を見ながら、うまくハンドルを切り続けることができるかもしれません。
しかし、思いの外カーブがきつかったり、急に道幅が狭くなったりすると、車線をはみ出して事故を起こす可能性があります。
そのため、自動車に緊急安全装置を付けて、万が一走行車線をはみ出したら急ブレーキが掛かるような仕組みになっています。
もしも、これらの仕組みが一切なかったらどうなるでしょうか?
道幅は分からず、ブレーキを掛けることもできない状況で、自動車をバックで高速走行させたら、あっという間にガードレールや中央分離帯に衝突して、命に関わる事態に陥るでしょう。
システムトレードでも、同じことが言えます。
すなわち、システムの管理限界を適切に設定しておくことで、管理限界を越えてしまった時にシステムを緊急停止することができ、損失を最低限に抑えることができるのです。
そして、そのような管理限界を設定するためには、バックテストが欠かせないことになります。
「バックテストなど行なわなくても、道路の設計値から道幅は分かる。すなわち、理論的に管理限界を決定できる。」という意見があるかもしれません。
しかし、理論的に決定できるということは、未来に渡ってもそれが可能であるということです。
そのためには、未来を予測する何らかの法則が必要になります。それが、バックテストを否定するよりも馬鹿げているということは、言うまでもありません。
もっとも、「管理限界など必要ない。だから、バックテストも必要ない。」というのであれば、「お好きなようにどうぞ。」としか言えません。