SSブログ

システムが機能するとは? [システムトレード]

あるシステムが機能していることを、客観的に示す方法はあるのでしょうか?もちろん、それは実際に運用してみなければ、最終的な判断は下せないものなのでしょうが、運用してみたけれどやはり機能していなかった、では、何の意味もありません。

「システムが機能している」とは、①少なくとも直近の任意の一定期間において期待値が正であり、②その状態を今後も当分維持できるであろうことが、十分な裏付けを持って言えること、ではないかと考えます。

①については、例えばバックテストの結果が正の期待値を持つ、ということが考えられますが、それだけでは単なるカーブフィッティングである可能性を排除できません。
そこで、バックテスト期間を過去にずらしても、その条件で直近まで期待値を維持できる、という要件が必要になります。これは、いわゆるフォワードテストです。

ここで、期待値を維持するとは、フォワードテスト期間においても期待値がほぼ一定で推移する、ということです。
期待値が一定で推移すれば、資産カーブのロバスト性が保たれるわけです。

ここで注意すべきことは、フォワードテストの結果が良好であったとしても、それが直ちに②の要件に当て嵌まるわけではない、ということです。
②の要件を満たすためには、更に多角的な検証が必要になります。

一番の問題は、フォワードテストの結果が良かったシステムを選択して運用しても、それは単にバックテストのみを行なった場合と大差ないかもしれない、ということです。

何故なら、フォワードテストの結果が悪かったシステムは、それ以前のバックテストがカーブフィッティングだった可能性が高いわけですが、それを意図的に除外する行為そのものが、カーブフィッティングと何ら変わりないと考えられるからです。

すなわち、運用システムを決定するには、少なくともバックテストの結果のみからシステムを選択し、その後のフォワードテストにおいても期待値を維持しないといけないわけです。
ただし、それとて、偶然に良好なシステムを選択した可能性を完全には排除できません。

その可能性を極力少なくするためには、バックテスト期間とフォワードテスト期間との、期待値の関連性を調べる必要があります。
その間に何の関連性も見出せないのであれば、運用システムの選択に合理的な理由は見出せない、ということになります。

あるいは、大半の運用候補システムにおいて、フォワードテスト期間の期待値が正であるならば、何も考えずにそれら全てを合成もしくは並列運用することで、比較的堅牢なシステムを運用できる可能性はあります。

しかし、その場合は、最初に選択したシステム群全体の傾向として、特定の銘柄に依らない普遍的な性質であることが要求されます。
そうでなければ、特定の銘柄にフィットさせたルールに過ぎないことになります。

②の要件については、正直、運を天に任せるしかありません。このステージでは、運用経過を如何にコントロールできるかが重要となります。
したがって、①で決定した運用システム候補の中から、管理限界が狭い、もしくは管理限界に近い状態にあるシステムを選択することが肝要かと思います。

以上、偉そうに述べてきましたが、現時点においてこれらを実践できているかと言えば、残念ながら、まだその状態には達していません。
また、これらの内容については、あくまで私の考えに過ぎず、少なくとも一般的に認識されている内容ではないことを、お断りしておきます。

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

nice! 1

コメント 7

marbee

いつも拝見させていただいています。

私も基本的には同じ考えです。

ですが結局の所、私ができる事と言えば
・バックテストで期待値が正である事を確認する。
・それらのシステムを複数用意しシステムのポートフォリオを組む事で分散投資する。
・最大ドローダウンを更新しても破産しないようにポジションサイジングに気を配る。

くらいではないかと考えています。
システムトレードと言ってもリスクを取っている事には違いは無いですから・・・
by marbee (2010-06-08 23:02) 

Y102

とても興味深い記事ですね。自分もかなり簡単な面からの見方ですが、結構重要だと思っている事を書きます。

テストは結局、過去のデータに対するものである以上、フォワードテストで期待値などの一定の状態を確認できても確実な方法ではありません。この点はKフローさんと全く同じです。但し「バックテスト期間とフォワードテスト期間との、期待値の関連性」とは何を指すのか、ちょっとわかりません。

ではなぜ確実な方法が無いのか。それはもちろん価格変動が予測出来ないからです。
龍金さんのブログで「10年前に価格予測型のモデルの発展を予期していても、結局今の自分は理論価格型に落ち着いている」とありました。
価格変動が予測出来ないとは、わかりやすく言えば、ある程度の期間を見れば勝率がほぼ5割に近づく、ということです。
勝率5割で期待値が正であれば、勝ちの幅が負けの幅より大きくなります。
この簡単な事実は過去においても未来においても変わらないので、ある簡単な理屈が成り立ちます。

それは、ボラティリティの増減に対して利益の増え方とドローダウンの深さが比例する、と言うことです。
ボラティリティは、同じ状態が一定期間続く、という性質があるので、それが小さい時にも大きい時にも利益の増え方やドローダウンの深さが同じであれば、ボラティリティの増減によって勝率が異なっている、と見る事が出来ます。
これは、レジームスイッチモデルなどの余程高度なものでない限り、カーブの可能性を疑ってもいいのではないかと思います。

つまり未来においても再現性の高いシステムとは、価格変動は予測出来ないとの前提に立つモデルで、バックテストの全期間において、ボラティリティと収益の増減・ドローダウンの深さが概ね一致しているもの、ということになります。

もちろんこれはKフロー同様、単なる持論ですので、遠慮なくご意見下さい。
by Y102 (2010-06-09 02:35) 

Y102

最後の1行、Kフロー『さん』が抜けていました。失礼しました。
by Y102 (2010-06-09 02:40) 

Kフロー

marbeeさん、こんにちは。

私も現状は同じようなものです。でも、今まではどちらかといえば裁量的だったシステム選択の過程を、何とかシステマティックにできないかと考えている次第です。

by Kフロー (2010-06-09 09:43) 

Kフロー

Y102さん、こんにちは。

今回の記事では、話を分かりやすくするために、あえて「期待値」という言葉を用いましたが、それがかえって話を分かり難くしたのかもしれません。
私がイメージしていることは、純粋に資産カーブの形状と分布であり、価格予測は一切考慮していません。

これは私の持論なのですが、機能するシステムの資産カーブはロバストでなければならない、という大前提があります。
ただし、それが完全に直線になるはずもなく、通常は平均値(回帰直線)の周りに一定の分布を持って存在します。

なお、ご承知のように、複利資産カーブの場合は明らかにロバストにはなりませんし、価格変動が大きい銘柄の場合も同様です。
それについては、数学的な処理を加える(対数を取る、率で表す)ことにより、ロバストにできるものと考えます。

さて、その分布が統計的に意味のあるものならば、それは回帰直線を中心とした正規分布になるものと考えられます。
そして、機能するシステムの資産カーブは、回帰直線からの乖離が概ね平均誤差の2倍以内に収まるものと考えます。

バックテスト期間とフォワードテスト期間の関連性とは、上記の条件を満たしたバックテスト後のシステムに、フォワードテスト期間の資産カーブを追加した結果、回帰直線の傾きと資産カーブの分布にどれだけの変化が現れるか、ということです。

もしもほとんど変化が現れないならば、フォワードテスト期間の追加後も、バックテスト期間の特性が維持されているものと判断できます。
すなわち、そのシステムはフォワードテストを経ても機能している、と考えることができるのではないかと思います。

ただ、この方法は、明らかにフォワードテスト期間を確認した上で全体を判断してしまう、という重大な問題があります。
いくら「統計的にもっともらしい」という、もっともらしい理屈をこねたとしても、直近までの全期間でバックテストを行なうのと何が違うのか、という疑念が付きまといます。

そこで、フォワードテスト期間を見ずに、バックテスト期間だけの情報でフォワードテスト期間(を加えた期間)の性能を予測する術はないかと思ったわけです。
数学的帰納法ではないですが、そのようにして過去における未来の堅牢性が確認できたシステムであれば、現在における未来の堅牢性もある程度担保できるのではないかと考えています。

今のところ、資産カーブの性質を最も良く表す指標として、EERやRSQを用いることを検討していますが、有意な結果は得られていません。
Y102さんがおっしゃる、ボラティリティと収益の増減・ドローダウンの深さが概ね一致する、という条件は面白いですね。是非検討させていただきたいと思います。

by Kフロー (2010-06-09 09:44) 

Y102

こんにちは。

すみません。すっかり勘違いしていました。
なるほど回帰分析を前提にした話なら、その関連性はよく理解できます。
確かに予測という言葉は、Kフローさんのエントリーには全く出てきていませんでした。理解不足ですみません。

そして、Kフローさんの行っているその研究にも非常に興味があるので、また進展したらエントリーして下さい。楽しみにしています。

自分の述べた話は、単一銘柄の片張り戦略を考えた場合、確かに回帰分析も必要なのですが、深く理解もせずに妙な変数を用いてカーブしてしまうより、結構基本的なことを重視した方が自分の能力においてはまだマシ、という過去の経験則からきている事です。ですからKフローさんのような方にはあまり意味が無いかも知れません。

いずれにせよ、また良い建設的議論ができて為になりました。ありがとうございました。
by Y102 (2010-06-09 11:17) 

Kフロー

いえいえ、こちらこそ分かりにくい説明で申し訳ありませんでした。
今後とも、よろしくお願いいたします。

by Kフロー (2010-06-09 11:54) 

コメントを書く

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

Facebook コメント

トラックバック 0

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