KFシステムクリエイター取扱説明書(22)

記事
マネー・副業
9.システムの保守管理

(1)株価データの更新

日々継続してシステムトレードを行うためには、毎立会日の大引け後に株価データおよびシステムを更新し、翌寄付きの売買シグナルを確認すると共に、システムが機能しているかどうかを判定しなければなりません。
更には、必要があれば売買シグナルに従って翌寄付きの売買注文を出しておきます。

それらを実行するに当たって、まず最初に株価データを更新する必要があります。
株価データの更新方法につきましては、別途「KFデータマネージャ取扱説明書」をご覧ください。


(2)システムの更新

株価データを更新したら、続いてシステムを更新します。

目的のシステムを立ち上げたら、オペレーションページを開いて「データ更新」ボタンを押します。これだけでシステム更新は完了です。
サマリーページを開き、終点日が直近立会日に更新されているかどうか確認します。なお、更新しただけではシステムの保存は行われませんので、更新完了後には必ず上書き保存を行ってください。

ここで、複数のシステムを運用している場合は、株価データ⇒基準システム⇒追加システムor合成システムの順で更新するようにしてください。
基準システムよりも先に、そのシステムをリンク先に持つ追加システム等を更新した場合、更新が正しく行われません。

更新が無事完了したら、「売買判定」欄及び「運用建玉数」欄の指示に従って翌寄付きにおける売買注文を出しておきます。
ただし、「売買判定」欄が「買いHOLD」や「売りHOLD」、「キャッシュPos」の場合は、何もする必要はなく、現在のポジションを継続します。

なお、KFシステムコントローラをご利用可能な場合は、システム更新マクロに更新するシステムを登録し、更にファイル更新マクロにKFデータマネージャとシステム更新マクロを登録することにより、ファイル更新マクロを実行するだけで、一連の更新処理を自動的に行うことが出来ます。

保守管理a.png

保守管理b.png

保守管理c.png

併せて、ファイル更新マクロに「シグナルチェッカー」を登録しておけば、更新済みシステムを開くことなく、売買シグナルなどの運用条件最新情報を一覧で確認することが出来ます。 
また、同様に「性能一覧」では、各種の代表的な性能指標直近値を一覧で表示することが出来ます。

保守管理d.png

保守管理e.png

KFシステムコントローラやそれに含まれるこれらのマクロ群につきましては、別途「KFシステムコントローラ取扱説明書」(近日公開予定)で解説いたします。 

ちなみに、運用銘柄に株式分割等があり、株価データが分割後データに修正された場合は、システム上の株価データをそっくり入れ替える必要があります。
そのためには、オペレーションページの「システムリセット」ボタンを押します。すると、システム上の株価データが分割後の株価データに置き換わります。

大抵の場合、株式分割後もシステムは同じパラメータで機能しますが、厳密には再最適化を行う必要があります。その結果、分割前後で最適パラメータに違いが生じた際には、新しいパラメータを優先すると共に、必要があればそれに合わせてポジションを調整しなければなりません。


(3)機能性判定

KFシステムクリエイターでは、システムが健全に機能しているかどうかを判定することが出来ます。それらは、サマリーページ上にある「機能判定」および「システム判定」で確認します。

そもそも、システムが機能しているとは、どういう状態を指すのでしょうか。
それは、システムが統計的に妥当な振る舞いをしているかどうか、ということです。具体的には、システムの振る舞いを最もよく表している資産カーブが、統計的に予測可能な状態にあるかどうか、ということです。

資産カーブは、時間の経過と共に資産残高がどのように増減するかを表したチャートです。安定的な収益を得るためには、資産カーブが直線的に変化することが理想です。
そのため通常は、単利運用もしくは単株運用での資産カーブを用います。複利運用の場合、資産カーブは指数関数的に増減するため、安定性の判定には向きません。

資産カーブが直線的に変化する場合、その期待値は回帰直線で示されます。そして、実際の資産残高が回帰直線からどのくらい離れているかを示す度合いが、標準誤差です。
資産残高が回帰直線の周りに統計的に分布しているとし、それが正規分布に近いものであると仮定すると、回帰直線から離れるほど出現頻度は減少します。

実際に、KFシステムクリエイターで作成したシステムの資産カーブを分析すると、資産残高が回帰直線を中心としてほぼ釣鐘状に分布していることが分かります。
しかし、中には分布が乱れたシステムも存在しますが、それについては「システム判定」機能である程度判別出来ます。

そこで、機能するシステムは資産残高が回帰直線の周りに正規分布している、と仮定すると、資産残高が回帰直線からどれくらい乖離したかを求めることで、そのシステムが直近において機能しているかどうかを判断することが可能となります。

その場合、資産残高が回帰直線から標準誤差以内に収まる確率は68.3%、標準誤差の2倍以内に収まる確率は95.4%、3倍以内に収まる確率は99.7%となります。
逆に言えば、標準誤差の2倍もしくは3倍以上乖離したならば、システムとして機能している可能性は低い、ということになるわけです。

資産残高が回帰推定値から標準誤差の2倍以内に入っている割合を、整合率という指標で表します。「システム判定」欄では、システムを統計的に管理する妥当性を、整合率の値によって判定しています。
整合率が90%以上なら「OK」、85%以上90%未満なら「WARNING」、85%未満なら「NG」としています。

保守管理f.png

KFシステムクリエイターでは、「機能判定」欄に、資産残高が回帰直線から標準誤差の1.5倍以上下落したら「WARNING」、2.5倍以上下落したら「STOP」を表示するようにしています。1.5倍未満ならもちろん「OK」です。 
直近において、資産残高が回帰直線から標準誤差の何倍離れているかを、現在ポジションとして求めています。値が正の場合は回帰直線の上方、負の場合は下方にあることを示します。

この基準は、「機能判定」右隣欄の数値を変更することで、設定可能です。設定値が2以上の場合は、設定値で「STOP」、設定値-1で「WARNING」、それ未満で「OK」となりますが、設定値が2未満の場合は、設定値で「STOP」、設定値/2で「WARNING」、それ未満で「OK」となります。

直近の回帰推定値から標準誤差の2倍を差し引いた値を、最小推定損益としています。これは、同水準でシステムを停止した場合に得られる、損益累計値です。
ただし、実際のシステム停止条件は異なる場合が多々あります。

保守管理g.png

これらの判定結果や性能指標は、判定基準が単利か単株かで大きく異なります。ここまでは単利の場合を例示してきましたが、次図に単株の場合を示します。
なお、判定基準におけるシステム設定は運用システム設定とは独立しており、判定基準は上記判定・性能指標と回帰推定値チャートのみに適用されます。

保守管理h.png

保守管理i.png

ちなみに、当初は機能判定が「STOP」ならば直ちにシステム運用停止としていましたが、その後再び機能を回復する事例が少なくないことが分かってきました。
そのため、現在では機能判定に加えて、最適パラメータの変化を、システム停止条件として推奨しています。もちろん、それはシステム運用者が決定することではあります。

最適パラメータが変化したかどうかを判定するには、通常は最適化演算を行う必要があります。しかし、最適化演算には多くの時間が掛かるため、日々の判定用に実行することは現実的ではありません。
そこで、時系列分析におけるメインピークとセカンドピークでの性能指標値を比較することにより、簡易的な判定を行うことが可能です。

メインピークにおける性能指標値がセカンドピークにおける同値を下回ったら、最適パラメータが変化したと判定することになります。
セカンドピークが必ずメインピークに取って代わるという保証はありませんが、少なくとも最適パラメータが変化したことは確実です。

メインピークは通常、最適パラメータの「手動設定」欄に設定され、テーブルNo.0で表示されますが、例えばセカンドピークをテーブル2に設定しておけば、テーブルNo.を切り替えるだけで性能指標値を比較できます。
そのためには、「テスト対象」を最適化対象指標のセル番地に指定しておく必要があります。

保守管理j.png

機能判定やシステム判定を有効活用することにより、機能しなくなったあるいは機能する見込みのないシステムを逸早く検出し、損失を限定することが可能となります。 
その結果、直ちにシステム体系の見直しを行ったり、他のシステムに切り替えたりすることで、継続的な収益追求が期待出来るでしょう。

機能性判定は、時系列分析と並んでKFシステムクリエイターの最大の特長の一つです。
システムトレードは、日々シグナル通りに売買すれば良いというものではありません。常にそのシグナルの信頼性を評価し、場合によってはシステムを停止するという決断を下さなければなりません。

システム開発・作成から運用、システム停止に至るまでの全てがシステムトレードであり、トレーディングシステムに求められる機能なのです。



サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す