過去は未来を予測するか? [システムトレード]
「システムトレードにおけるバックテストの結果は、未来の収益を保証するものではない。」
龍金氏の研究によれば、バックテストの結果とその後の損益との間に相関は見られない、とのことであり、そのことを持って、冒頭の結論としています。
それに関しては、私は現時点において否定も肯定もできません。
この類の問題で重要なのは、それが客観的な評価であるかどうかということと、その適用範囲は明確であるか、ということです。
私が否定も肯定もできないと言ったのは、そのように明確に管理された「実験検討計画」を策定してからでないと、いかなる結論も出せないと考えるからです。
最初の要件である「客観的な評価」に関しては、過去のコラムで何度も述べてきましたが、基本的には以前と変わりありません。
例えば、バックテストにおいて過去のデータのみを用いることは当然ですが、加えてシステムを一意的に決定できなければなりません。
さらには、そうやって得られたシステムの集合から、実験に用いるシステム群を客観的かつ一意的に抽出し、それを将来に渡って運用した時に損益がどうなるかを評価しなければなりません。
そのような「適用範囲の明確化」を行わない限り、どのような結論も意味を成しません。
このように管理された実験環境においては、実は冒頭に掲げたような結論を得ることは容易ではありません。
すなわち、実験に用いたシステム群を用いて冒頭の結論が得られたとしても、必ずしも他のシステム群についてそれが当て嵌まるわけではないのです。
一方、ある特定のシステム群について、冒頭の結論を否定する結果が得られたとしたら、それは明確な反証となります。
このように、実験的に何らかの結論を得るということは、実はかなり大変なことなのです。
さて、バックテストの結果が未来の収益を保証するかどうかは一先ず置いといて、バックテストそのものに必要性があるかどうかについて考えたいと思います。
もしもバックテストに意味がないのであれば、膨大な時間を掛けてバックテストを行なうよりは、他の事に時間を振り向けた方が有益かもしれません。
では、バックテストの目的とはいったい何なのでしょう?
もちろん、システムの性能を評価することですが、実はそれだけではありません。もう一つの重要な役割は、システムの管理限界を決定することです。
今、夜の高速道路を猛スピードでバックしている自動車があるとします。この自動車にはバックミラーがなく、進行方向の様子は分かりません。
また、運転手は正面を見据え、けして後ろを振り返ってはいけない状況にあります。
夜間のため周囲は全くの暗闇ですが、幸いなことに強力なヘッドライトで通り過ぎた道路の状況を確認することができます。
また、自分以外に他の自動車は走っていないものとします。
現在の道路の幅やカーブの具合は、通り過ぎた道路の様子から推測するしかありません。道幅が十分にあれば、通り過ぎたばかりのガードレールや中央分離帯の位置を見ながら、うまくハンドルを切り続けることができるかもしれません。
しかし、思いの外カーブがきつかったり、急に道幅が狭くなったりすると、車線をはみ出して事故を起こす可能性があります。
そのため、自動車に緊急安全装置を付けて、万が一走行車線をはみ出したら急ブレーキが掛かるような仕組みになっています。
もしも、これらの仕組みが一切なかったらどうなるでしょうか?
道幅は分からず、ブレーキを掛けることもできない状況で、自動車をバックで高速走行させたら、あっという間にガードレールや中央分離帯に衝突して、命に関わる事態に陥るでしょう。
システムトレードでも、同じことが言えます。
すなわち、システムの管理限界を適切に設定しておくことで、管理限界を越えてしまった時にシステムを緊急停止することができ、損失を最低限に抑えることができるのです。
そして、そのような管理限界を設定するためには、バックテストが欠かせないことになります。
「バックテストなど行なわなくても、道路の設計値から道幅は分かる。すなわち、理論的に管理限界を決定できる。」という意見があるかもしれません。
しかし、理論的に決定できるということは、未来に渡ってもそれが可能であるということです。
そのためには、未来を予測する何らかの法則が必要になります。それが、バックテストを否定するよりも馬鹿げているということは、言うまでもありません。
もっとも、「管理限界など必要ない。だから、バックテストも必要ない。」というのであれば、「お好きなようにどうぞ。」としか言えません。
龍金氏の研究によれば、バックテストの結果とその後の損益との間に相関は見られない、とのことであり、そのことを持って、冒頭の結論としています。
それに関しては、私は現時点において否定も肯定もできません。
この類の問題で重要なのは、それが客観的な評価であるかどうかということと、その適用範囲は明確であるか、ということです。
私が否定も肯定もできないと言ったのは、そのように明確に管理された「実験検討計画」を策定してからでないと、いかなる結論も出せないと考えるからです。
最初の要件である「客観的な評価」に関しては、過去のコラムで何度も述べてきましたが、基本的には以前と変わりありません。
例えば、バックテストにおいて過去のデータのみを用いることは当然ですが、加えてシステムを一意的に決定できなければなりません。
さらには、そうやって得られたシステムの集合から、実験に用いるシステム群を客観的かつ一意的に抽出し、それを将来に渡って運用した時に損益がどうなるかを評価しなければなりません。
そのような「適用範囲の明確化」を行わない限り、どのような結論も意味を成しません。
このように管理された実験環境においては、実は冒頭に掲げたような結論を得ることは容易ではありません。
すなわち、実験に用いたシステム群を用いて冒頭の結論が得られたとしても、必ずしも他のシステム群についてそれが当て嵌まるわけではないのです。
一方、ある特定のシステム群について、冒頭の結論を否定する結果が得られたとしたら、それは明確な反証となります。
このように、実験的に何らかの結論を得るということは、実はかなり大変なことなのです。
さて、バックテストの結果が未来の収益を保証するかどうかは一先ず置いといて、バックテストそのものに必要性があるかどうかについて考えたいと思います。
もしもバックテストに意味がないのであれば、膨大な時間を掛けてバックテストを行なうよりは、他の事に時間を振り向けた方が有益かもしれません。
では、バックテストの目的とはいったい何なのでしょう?
もちろん、システムの性能を評価することですが、実はそれだけではありません。もう一つの重要な役割は、システムの管理限界を決定することです。
今、夜の高速道路を猛スピードでバックしている自動車があるとします。この自動車にはバックミラーがなく、進行方向の様子は分かりません。
また、運転手は正面を見据え、けして後ろを振り返ってはいけない状況にあります。
夜間のため周囲は全くの暗闇ですが、幸いなことに強力なヘッドライトで通り過ぎた道路の状況を確認することができます。
また、自分以外に他の自動車は走っていないものとします。
現在の道路の幅やカーブの具合は、通り過ぎた道路の様子から推測するしかありません。道幅が十分にあれば、通り過ぎたばかりのガードレールや中央分離帯の位置を見ながら、うまくハンドルを切り続けることができるかもしれません。
しかし、思いの外カーブがきつかったり、急に道幅が狭くなったりすると、車線をはみ出して事故を起こす可能性があります。
そのため、自動車に緊急安全装置を付けて、万が一走行車線をはみ出したら急ブレーキが掛かるような仕組みになっています。
もしも、これらの仕組みが一切なかったらどうなるでしょうか?
道幅は分からず、ブレーキを掛けることもできない状況で、自動車をバックで高速走行させたら、あっという間にガードレールや中央分離帯に衝突して、命に関わる事態に陥るでしょう。
システムトレードでも、同じことが言えます。
すなわち、システムの管理限界を適切に設定しておくことで、管理限界を越えてしまった時にシステムを緊急停止することができ、損失を最低限に抑えることができるのです。
そして、そのような管理限界を設定するためには、バックテストが欠かせないことになります。
「バックテストなど行なわなくても、道路の設計値から道幅は分かる。すなわち、理論的に管理限界を決定できる。」という意見があるかもしれません。
しかし、理論的に決定できるということは、未来に渡ってもそれが可能であるということです。
そのためには、未来を予測する何らかの法則が必要になります。それが、バックテストを否定するよりも馬鹿げているということは、言うまでもありません。
もっとも、「管理限界など必要ない。だから、バックテストも必要ない。」というのであれば、「お好きなようにどうぞ。」としか言えません。
一歩前進さん、こんにちは。
いつもありがとうございます。
by Kフロー (2010-05-12 17:49)
お疲れ様です。
最近もう一度システムトレードについて勉強しなおしているのですが
いろいろな意見の方がいて面白いですね。
土屋賢三氏は個別銘柄のバックテストは意味がないとおっしゃって
おりますが、Kフローさんは違う意見のようなのでそれもまた
面白いですね。
でも大事なのは利益が出ることですから両者とも正しいのかもしれませんし
なんにせよ非単一システムにはかなり興味があります。
by たかとび (2010-05-12 21:17)
色々難しい事を考えておられるのですね。
私なんかは「バックテスト以外に検証する手段が無い」という消極的な理由でバックテストに頼っている次第です。
お恥ずかしい限りです。
私も精進しないと。
by marbee (2010-05-12 22:41)
たかとびさん、こんにちは。
いつもありがとうございます。
私は土屋氏のことは尊敬していますし、氏の考えもまた素晴らしいものだと思います。
過去の歴史を振り返ると、重大な発見の前後には、必ず大きな対立が存在します。これは多くの場合、時間の経過が解決するしかなく、後に続く者たちの努力によって成されます。
もちろん、私の考え(重大かどうかはともかく)が正しいのかどうかは、現時点で客観的に証明されているわけではありませんので、間違っている可能性も大いにあります。
それについては、時間の流れに身を委ねるしかないのかもしれません(私もそれなりに検討は続けますが)。
難しいのは、一部のシステムで利益が出たからといって、それだけでは何の証明にもならない、ということです。
しかし、実務面からは、実際のシステムで利益が出ればそれで十分、という考え方もあるかもしれません。
by Kフロー (2010-05-13 09:06)
marbeeさん、こんにちは。
nice!およびコメントをいただき、ありがとうございます。
偉そうなことを書いてしまいましたが、私も現状は似たような状況です。
それを正当化するために、理屈を捏ね回しているだけかもしれません。
by Kフロー (2010-05-13 09:09)