SSブログ

システムの出力 [システムトレード]

トレーディングシステムが時間の関数であることは、疑う余地がありません。任意の関数において、ある時間における解が一意的に決まる、という要件さえ満たせば、それはトレーディングシステムの必要条件を満たします。

この関数の解、すなわちシステムの出力は、どのような性質を有しているのでしょう。

結論から申し上げますと、システムの出力は任意の実数値をとります。なお、これは定義の問題なので、どのようにでも考えられるのですが、私の場合は、プラスを買いポジション、マイナスを売りポジション、そしてゼロをキャッシュポジションとしています。

また、値の大きさはポジションの大きさを表し、当然、絶対値が大きいほど大きなポジションを取る、ということになります。
例えば、出力が+1の時、1単位の買いポジションを取るとすれば、出力が+2の時は2単位の買いポジションとなります。また、出力が-2の時は、2単位の売りポジションということになります。

では、例えば出力が+0.5などというのは、どのように考えればいいのでしょうか?

実はこれは、最初の定義の問題に過ぎません。例えば1単位を1,000株という風に決めますと、出力が+0.5というのは500株の買いポジションを表すことになります。
「何だ、では整数を用いるだけでも同じではないか。」と思われるかもしれません。

しかしシステム上は、必ずしも整数、もっと言えば単元株数単位である必要はありません。極端に言えば、それが√2であっても構わないのです。
もちろん、そのままではその通りに売買することは出来ません。しかし、これはあくまで出力の話です。実際の運用に当たっては、その結果を丸めればいいだけです。

実は、システム出力を実数まで許可することにより、システムの自由度が飛躍的に向上します。ここで注意していただきたいのは、これは変数の自由度ではなく、システムそのものが取り得る自由度です。したがって、カーブフィッティングなどとは一切関係ない話です。

今、売買対象が共通である複数のシステムを、合成することを考えます。売買対象が共通なのですから、その合成出力は一意的に求まります。
その際、各システムの合成比率を調整し、リスクリワードレシオが最大になる組み合わせを求めることを考えます。

もしもシステム上のポジションとして整数しか扱えないとすると、合成システムの作成には大きな困難が生じます。
例えば、A、B、Cの3つのシステムの合成を考えた時、それらの比率を整数のみで表そうとすると、システム出力として非常に大きな値を用いなければならない場合が生じます。

しかも、そのように大きなポジションをそのまま売買に用いることは、通常は不可能です。どこかで数値を丸めなければなりません。
結局のところ、最初から小数等で表した方が、後の処理も楽になります。

ちなみに、共通売買対象のシステムを合成する場合、合成出力は一意的に求まると述べました。実はこれは厳密には正しくありません。
と言いますか、合成するためのパラメータは、このような合成比率だけではありません。

例えば、3つのシステムをある比率で合成したシステムを運用する場合、それらのシグナルのみを合成したシステムを作成し、それを複利運用した結果と、合成比率に従って運用元本を分けてそれぞれを複利で並列運用した結果とでは、時間の経過と共に徐々に異なってきます。

これは、合成比率が一定値ではなく、時間の関数であることを意味しています。すなわち、システムの合成に当たっては、その合成比率の関数形によって出力が異なることになります。
上記の例では、複利効果の差が合成比率の関数形に違いを生じさせているわけですが、それ以外の要因を含んだ関数を用いれば、また異なった出力が得られることになります。

なお、システムや合成比率は時間の関数であると述べましたが、当然、時間だけの関数という訳ではありません。
時間以外にも様々な変数を含みますし、むしろ、「時間の関数である各変数」の関数が、システムや合成比率ということになるのかもしれません。

出力をSとすると、結局、システムは次式で表現されることになります。

 S=f(x1(t),x2(t),・・・,xn(t),t)

ちなみに、売買対象が共通でない場合はシグナルの合成は意味を成さず、あくまでシステムの並列運用ということになるでしょう。
その場合でも、運用比率(合成比率)は必ずしも一定である必要はなく、時間あるいは何らかの変数を含んだ関数ということになります。

最後に、これからのトレーディングシステムに求められる要件の一つとして、実数の出力に対応し、それに基いた売買シグナルの発生や評価が可能であること、を掲げて言を閉じたいと思います。

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

nice! 0

コメント 3

たかとび

Kフローさんはマルチファクターモデルとかを作られたりしたことってあるのでしょうか?
失礼なこと聞いてすみません。あーどれを何を勉強すればいいのかすら
わからなくなってきました。

by たかとび (2010-07-28 00:46) 

Kフロー

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

残念ながら、マルチファクターモデルは作ったことはありません。
ただし、マルチファクターモデルであろうと、自己相関モデルであろうと、その結果を出力する部分は共通だと思います。

自己相関モデルであれば、私の現行システムのみで完結していますが、マルチファクターモデルにするためには、その前段階処理の部分(相関確認等)が必要になると考えています。

また、合わせて複数システムを並列実行するための後段処理も、より重要になるかもしれません。

by Kフロー (2010-07-28 08:45) 

たかとび

お疲れ様です。返信ありがとうございます。
もしKフローさんが作成されることがありましたらぜひ
一声かけていただければ幸いですw。。
by たかとび (2010-07-28 19:31) 

コメントを書く

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

Facebook コメント

トラックバック 0

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