SSブログ

システムの拡張性 [システムトレード]

トレーディングシステムにおいて、システムに拡張性を持たせることは極めて重要です。拡張性を持たせるためには、システムの構成要素を明確にしておく必要があります。

システムの構成は、通常は(KFシステムクリエイターにおいても)主に3つのブロックに分けて考えることができます。
1つ目はデータ入力部、2つ目はシステムロジックと売買判定、そして3つ目は指標演算部です。

データ入力部では、日付や株価4本値、出来高といった、市場から得られる生の情報を入力します。これは、その後のロジックや指標演算の大前提となる情報であり、正確さと迅速さが要求されます。
データ入力に不備があるシステムは、正常に機能させることはできません。

KFシステムクリエイターでは、別途設けた株価データシートから、日付、始値、高値、安値、終値、出来高を参照するようにしています。
他のブックを参照する場合、いろいろな制限事項が生じることがありますが、それらにつきましては別の機会で報告したいと思います。

システムロジックは、トレーディングシステムの心臓部に当たります。ここの出来が、システムの性能を決定します。
通常は、データ入力部の情報を加工した指標を用いて、それらの指標同士、あるいは指標と入力データとの相互関係を演算します。

その結果を2値あるいは多値判定し、その判定に基づいて売買シグナルを出力します。シグナルは、通常は「買い」と「売り」の2通りとなりますが、システムによっては「建玉なし」の状態を表すシグナルを発する場合もあります。

それらのシグナル出力に基づいて、各種指標を演算します。演算項目は多岐に渡りますが、その結果によって、作成したシステムの性能が判断できなければなりません。
一般的に用いられている性能指標は元より、視覚的な判断も可能なように、チャート表示機能も充実させることが好ましいでしょう。

以上述べました3つのブロックは、完全に独立させることが望ましいと考えます。データ入力部と指標演算部は、どのようなシステムにおいても共通であり、本来、システムによって異なるのは、システムロジックのみとなります。

すなわち、システムロジックが独立したシステムであれば、新しいシステムの開発に当たっては、ロジック部分のみを作成して組み込むだけで良く、データ入力部や指標演算部を新たに作成する必要はありません。
すなわち、それだけ拡張性の高いシステムを得ることができるわけです。

KFシステムクリエイターでは、システムロジック演算に17列を割り当て、その最終列で建玉の保有状態を示すようにしています。そのセルの値が"1"で買い持ち、"0"で売り持ちとなります。
それ以降の列では、建玉の保有状態に基づいて、売買シグナルの発生から指標演算までを自動的に行うようになっています。

すなわち、最終的に買い持ちの"1"と売り持ちの"0"のシグナルを発するようなロジックを、それ以前の16列を使って作成すれば、自由に新しいシステムを作成することができるわけです。
面倒な指標演算部を作成する必要はなく、ロジック開発に集中することができます。16列もあれば、かなり複雑なロジックを記述することができるかと思います。

以上のように、システム構成要素の各ブロックを独立させることで、拡張性の高いトレーディングシステムを得ることができます。
それは同時に、システム開発の効率アップにもつながることになるわけです。

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

nice! 0

コメント 0

コメントを書く

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

Facebook コメント

トラックバック 0

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