SSブログ

非単一システムモデル [システムトレード]

レジューム・スイッチ・モデルにおいて、市場のレジュームに合わせてシステムを切り替えるとは、どういうことでしょう?

その前に、言葉の意味について考えてみたいと思います。土屋氏は「レジューム」と述べていますが、これは英訳するとおそらく"resume"ということになるかと思います。
私はよく知らないのですが、経済学では隠れマルコフモデルのことをレジーム(regime:体制)・スイッチング・モデルと呼ぶようです。土屋氏はこのことを言っているのでしょうか?

さて、何にしても目指す方向性としましては、市場の状態を高次のレベルで判断し、その状態で最もよく機能する下位のシステムを運用していく、ということになるかと思います。
市場の状態が変われば、運用に供されるシステムもまた替わっていきます。当然、異なった状態でよりよく機能するシステムを、複数用意しておく必要があります。

ここで、市場の状態を高次のレベルで判断するとは、下位のシステムには用いられていない変数を用いて判定を下す、ということです。
当たり前の話ですが、運用するシステムと同レベル以下の判断基準しか持ち合わせていなければ、どのシステムが今の市場に最も良く適応しているか、知ることができません。

何か難しそうな話ですが、システムトレードについて勉強したことのある方なら、それと似たような事例を考えたことがあるのではないかと思います。
よくあるフィルタもまた、市場の状態に合わせてシステムを運用する役割を持っています。

例えば、あるシステムを上昇トレンドの時だけ運用する、などという手法は、結構頻繁に用いられているのではないでしょうか。
そのためには、上昇トレンドにあることを確認するための高次システム(フィルタ)が必要です。

このような高次システムが存在すれば、その逆に上昇トレンドではない状態も確認できます。そして、上昇トレンドではない時により有効に機能するシステムを開発すれば、2つのシステムを市場の状態に合わせて切り替え、連続運用することができます。

さらにそれを発展させて、上昇トレンド、持ち合い、下降トレンドの3つに分けてもいいかもしれません。あるいは、トレンドではないもっと別のファクタ、例えば為替や金利の水準などを、市場の状態の判定材料にすることも有効かもしれません。

私も例に漏れず、それらをいろいろと検討した時期もありましたが、最終的には正逆合成システムというところに落ち着きました。
これは、市場の状態に応じてシステムを切り替えるモデルではありませんが、非常に有効なシステムです。

その最大の理由は、正逆合成システムが効果的なシステムポートフォリオを内包している、ということです。

通常、システムポートフォリオを組むためには、元となるシステム同士の相関に注意しなければなりません。
高い相関のあるシステム同士を組み合わせても、リスク低減効果は十分に得られないからです。

正逆合成システムでは、同一ロジックのシステムを2つ用い、それらを順張りで機能するパラメータと逆張りで機能するパラメータに分けて合成します。
同一ロジックでありながら全く正反対のパラメータを採用することで、システム間の相関を極力小さくすることが期待できます。

それがどのような効果を持つかにつきましては、今さら述べるまでもありません。
レジューム・スイッチ・モデルも、システムポートフォリオも、正逆合成システムも、いずれも非単一システムモデルであり、今後の大きな方向性の一つだと考えています。

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

nice! 1

コメント 6

Kフロー

一歩前進さん、連日のnice!、ありがとうございます。

by Kフロー (2010-04-14 09:42) 

たかとび

お疲れ様です。はじめまして。
最近市販のツールで株式のバックテストをできるようになり、
これで儲けることができる、後は有効なストラテジーを作るだけでいいと
思っていたのですが、最近復活された土屋氏のブログを見るとそういう
わけではない感じでとてもあせっています。
しかも土屋氏の言葉が全然耳にしたことがない単語でどうしていいのか
わからなかったのですが、こちらのブログの説明で少しわかった気がします。要するに過去のバックテストだけやっても意味はなく、そのときの
トレンドで有効に活躍するシステムの開発が必要ということでしょうか?
当方なけなしのお金で20万円ちかくもしたシステム購入したのに。。
Kフローさんの販売されてるものだと自分の苦手なエクセルややったこともないVBAの技術まで学べるのでしょうか?しかも6万円と格安で。
レジュームスイッチモデルもつくれるのでしょうか?
なにぶん焦っているので質問ばかりで申し訳ないです。
もしよろしければコメントいただければ幸いです。
by たかとび (2010-05-02 08:25) 

Kフロー

たかとびさん、はじめまして。
コメントをいただき、ありがとうございます。また、返信が遅くなり申し訳ありません。

私は土屋氏とは全く面識がありませんので、氏の言わんとしていることを正しく理解しているかどうか確信はありませんが、私自身として実感できることとしては、恐らく次のようなことなのではないかと思います。

システムトレードを行っていると、全くカーブフィッティングの入り込む余地のない、完璧に機能していると思われるシステムであっても、時としてドローダウンの一言で片づけることのできない、大幅な機能不全を起こすことがあります。

もしもそのシステムがカーブフィッティングであるならば、一旦失った機能は二度と回復することはなく、そのまま資産カーブは下落を続け、通常はそれ以上下がらないところで均衡状態に達します。

ところが、あるシステムに関しては、一旦は完全に機能停止に陥ったと思われる資産カーブの下落が見られても、その後、機能停止前と変わらない角度で資産カーブが回復していく場合があります。

単なるドローダウンである場合は、回復後の資産カーブは機能停止前の資産カーブの延長線上にまで戻ってくるわけですが、上記のような回復過程における資産カーブでは、元の資産カーブの延長線上にはけして戻らず、そのまま異なるフェーズとして機能し続けることになります。

この「機能不全に陥った」状態が、システムそのものに原因があるのではなく、システムの元となる市場の状態が変化した(Regime Switch:体制の切り替わり)ために起こったのではないか、と考えることで、単なるカーブフィッティングとは異なった解釈を行なうわけです。

そのように解釈することで、機能停止後の資産カーブが再び回復していく現象を、うまく説明することができるようになります。

そして、その考えをさらに押し進め、市場の状態を捉えて、それに合わせて運用するシステムを積極的に切り替えていこうというのが、「レジーム・スイッチ・モデル」ということになります。

したがって、過去のバックテストだけやっても意味がない、というわけではなく、そのシステムがどのような市場の状態で機能するかを明確にしなければ安全かつ効率的に運用できない、ということではないかと考えます。

では、そのシステムが機能する市場はどうやって分類すればいいのか、ということに行き着くわけですが、その役目を担うのが、実際の運用システム(下位システム)を統括し制御するレジーム・スイッチ・システム(上位システム)ということになるわけです。

さて、KFシステムクリエイターについてですが、エクセルシートの内容もマクロソースの内容も、ユーザーの方には全て公開しています。
したがって、システム自身にブラックボックスはなく、基本的には自由にロジックを組んだりすることができます。

ただし、それはあくまで有用なTipsを隠すことなく公開している、ということであって、その方法を全て解説している、というわけではありません。
ご質問には極力お答えいたしますが、基本的には数式やマクロの内容を、エクセル関連の書籍等を参考にしながら、ご自身で理解していただくというスタンスです。

そうは言いましても、ロジック以外の部分(データセットや評価およびその結果出力)は全てKFシステムクリエイターで共通化していますので、ユーザー側ではエクセル関数を用いてロジック部分を記述するだけで、オリジナルシステムを作成することが可能です。

ロジックの内容(複雑さ)にもよりますが、基本的には最低限の約束事(ロジックの記述範囲やパラメータの参照箇所、およびデータ出力の定義など)を守っていただければ、あとはIF関数などの条件分岐と簡単な四則演算のみでロジックを記述することが可能かと思います。

作成したロジックは、マクロボタンを押すだけでロジック定義リストに追加することができますし、ロジック定義リストから任意のロジックを選択して、システムをセットアップすることもできます(ただし、これらの機能はVer5からの対応となります)。

ロジック定義リストには、現時点において、6つの基本システムと4つの追加システム、そして2つの合成システムがあらかじめ設定されており、さらにはそれらの逆システムも設定できますので、通常のシステム作成においては、新たにロジックを開発しなくても、十分実用的なシステムを作成することができます。

また、システムそのものは階層構造を有しています。そのため、あるシステムから他のシステムの結果を参照してロジックを作成する、などといったことを多階層に渡って行なうことができます。

システムの対象銘柄が同一銘柄でさえあれば、基本システムに追加システムを設定し、さらにそれらを合成したシステムを作成して運用する、などということが可能です。

したがって、レジーム・スイッチ・システムを作成して、その結果(レジームの状態)を実運用システムから参照するようにすれば、原理的にはレジーム・スイッチ・モデルを構築することができます。

ただし、それについては当初からあるロジック定義リストには含まれていないため、現時点においてはユーザーご自身で作成する必要があります。
ただし、今後、新たにロジック定義リストに追加する可能性はあります。

最後に一つだけご注意いただきたいのは、KFシステムクリエイターはあくまで単一銘柄を対象としたシステムである、ということです。

市販の著名和製システムの多くは、上場全銘柄からシステムがトレード対象銘柄を抽出するという構造となっていますが、KFシステムクリエイターではあくまでご利用者自身が銘柄を選定する必要があります。

従いまして、複数銘柄を対象にシステムを運用する場合は、それぞれの銘柄毎にシステムを作成して各々に運用資金を割り当て、それらを同時運用しなければいけません。

そのため、トータルの資産推移や運用成績に関しては、別途ユーザーご自身で管理する必要があります(これについては、今後KFシステムコントローラで対応するかもしれません)。

以上、よろしくご確認ください。ご不明な点等ございましたら、引き続きコメントをお願いいたします。

by Kフロー (2010-05-04 16:53) 

たかとび

連休中にわかりやすく素早い返信ありがとうございます。
自分の考えていたシステムトレードとは一体何だったのか?
とてもショックを受けております。
返信のお礼申し上げておきます。
今日からエクセル入門とVBAの入門書買って勉強しています。
やっぱりラクをしてめんどくさがっては駄目ですね。
まずはエクセルとVBAの勉強に集中します。


by たかとび (2010-05-04 18:19) 

Kフロー

たかとびさん、こんにちは。

前回のコメントに対する返信で、「過去のバックテストだけやっても意味はなく、そのときのトレンドで有効に活躍するシステムの開発が必要」という疑問に対し、ちょっとピント外れなコメントをしてしまったようです。

GW中(一昨日まで)は土屋氏のブログは見ていなかったのですが、昨日久し振りに拝見したところ、同氏の5月2日のエントリーに対する疑問だったわけですね。

余談となりますが、最近やけにこの記事へのアクセスが多いと思ったら、5月1日の土屋氏のエントリーで、この記事からの引用があったことが原因だと分かりました。
こんな「片田舎」のブログの記事を引用していただき、恐縮してしまいます(笑)

さて、土屋氏が賞賛している龍金氏のブログは、私も大変興味深く拝見させていただいています。特に土屋氏も述べていますように、「過去のバックテスト結果は未来をまったく保証しない」という研究には、非常に注目しています。

このテーマは、システムトレードを志した方なら、必ず一度は頭を悩ます問題だと思います。私も幾度となく考えてきましたが、未だ明確な答えを得ているわけではありません。
この問題につきましては、コメントの返信として取り上げるべきものではないと思いますので、いずれコラムにて私の考えを述べたいと思います。

最後に、エクセルの勉強を始められるとのことですが、あまり気負わずに気長に続けてください。私も2年前まではマクロの「マ」の字も知らなかったのですが、長く続けていれば結構何とかなるものです。

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

たかとび

またしてもシステムトレードについて駆け出しの素人の自分に返信ありがとうございます。
めちゃくちゃうれしいです。
Kフローさんのようなシステムトレーダーとして尊敬できる方から返信を二回もしていただいてとてもうれしいです。
しかも二年前まではマクロの「マ」の字も知らなかったとは、さすがに謙遜
されてるとは思いますが勇気づけられました。
エクセルの四則演算の仕方はわかったので次はVBAだとやりはじめたところ、何だこれは?こんな暗号みたいなのできるかよと思いはじめていたところです。。
Kフローさんのシステムを購入するとしても多分今の自分では全然使い
こなせそうもないので今は基本を勉強しようと森田圭佑さんの本を購入
して勉強しています
by たかとび (2010-05-06 21:17) 

コメントを書く

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

Facebook コメント

トラックバック 0

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