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

記事
マネー・副業
7.追加システムと合成システム

(1)追加システム

KFシステムクリエイターでは、基準となる12種類のロジックの他に、主にそれらの機能を拡張する追加システムを作成することが出来ます。
追加システムは、基準となるシステムのシグナルを参照し、条件に従ってそのシグナルを反転したりすることで、システムの性能アップを目指します。

機能的にはフィルタに近い働きとなりますが、フィルタがシグナルを部分的に除去する役割なのに対し、追加システムではシグナルを部分的に加工します。
そのため、フィルタと異なりトレード数減少等による信頼性低下が生じにくく、有効性の高いシステムを得ることが可能となります。

基準システムでは基本的に2つのパラメータを調整して最適化しますが、追加システムではそれに更に最大2パラメータを追加します。
すなわち、基準システム+追加システムでは、最大4パラメータのシステムとして機能することになります。

理想的には4つのパラメータを独立して調整し最適化出来れば良いのですが、現実的にはそれは不可能です。そこで、最初に基準システムの2つのパラメータを最適化し、続いて追加システムの2つのパラメータを最適化することで、処理時間を極力抑えながらシステム性能の最大化を図っています。

システムの安定性を判断するファクターとして、最適パラメータが直近において出来るだけ長期に渡り変化しないことが求められます。
基準システムでは最適パラメータは最大2つでしたが、これに追加システムが加わると更に2つ増え、計4つの最適パラメータが安定することが求められます。

すなわち、基準システムあるいは追加システムの最適パラメータが1つでも変化した場合は、そのシステムは運用を見直す必要があるということです。
逆に言えば、最適パラメータが1つも変化しない間は、追加システムであっても基準システムと同等の運用基準が適用出来ます。

追加システムは、2020年6月末時点で6つのロジックがあります。以下に、各ロジックについて、説明いたします。
なお、追加システムにも逆システムを適用することは可能ですが、逆システムでの性能向上効果はほとんど確認できません。通常は正システムのみ考えれば良いかと思います。

また、追加システムにおいては、サマリーページの運用システムにおけるロスカット設定が適用可能です。設定の効果については、実際に適用してご確認ください。
以下では、標準設定(ロスカット設定なし)の場合について説明いたします。


①追加ETD順張り:ETD順張り基準の追加システム

元システムの買いETD及び売りETDが、それぞれの設定値(パラメータ)を割り込んだら、元システムのシグナルを反転します。

例えば、元システムで買いシグナルが続いている時に買いETDが設定値を下回ると、次に売りシグナルが出るまで買いシグナルを売りシグナルに変換します。売りの場合はその逆になります。

以下に、システム事例を示します。上段が元システム、下段が追加システムです。元システムは、6770アルプスアルの回帰順張り逆システムです。

追加システムa.png
追加システムb.png

元システムに追加システムを適用することにより、性能が大幅に向上していることが分かります。代表的な性能指標で比較しますと、損益累計が\9,134⇒\12,190、プロフィットファクターが1.22⇒1.29、損益レシオが0.82⇒0.93、平均損益率が0.28%⇒0.47%、平均リターンが18.33%⇒31.00%、そして年率リターンが8.13%⇒24.28%でした。

チャートを見て分かるように、資産カーブの直線性が劇的に向上しています。その結果、平均損益率や平均リターン、年率リターンが飛躍的に向上しています。

一方、システムの安定性を見るために、最適パラメータの時系列分析結果を示したのが次図になります。上段が元システム、下段が追加システムです。

追加システムc.png
追加システムd.png

元システムでは2011年末以降、追加システムでは2014年末以降、最適パラメータが変化していないことが分かります。すなわち、この追加システムは2020年6月時点において、安定に機能しているということが言えます。

なお、ETDや損益率をパラメータとした場合、最適パラメータの表示値は実際のパラメータの-200倍としています。これはあくまでもチャート表示上の対応であり、実際のパラメータは正常に設定されています。

ちなみに、最適化対象指標が元システムと追加システムとで異なっていますが、これは本質的な問題ではありません。長期に渡って安定しているものの性能がやや劣るシステムと、性能は優れているものの安定性がやや劣るシステムは、通常1つのロジック内に共存しています。
そのどちらを選ぶかは、システム運用者の判断に委ねられています。

最適化対象指標は、あくまで運用システムの候補を見出すための道具であり、どの指標が最も適しているかという類のものではありません。
もちろん、KFインデックスのように、比較的安定性が高く性能が優れているパラメータを見つけやすい指標は存在しますが、絶対ではありません。

特に、追加システムにおいては、元システムによって性能がある程度平準化していることから、最適化対象指標の候補は基準システムの場合よりも広くなります。
そのため、安定性の高さを最も重視して最適パラメータを選定すべきです。


②追加損益率順張り:損益率順張り基準の追加システム

元システムの買い損益率(STD:以下同)及び売り損益率が、それぞれの設定値(パラメータ)を割り込んだら、元システムのシグナルを反転します。

例えば、元システムで買いシグナルが続いている時に買い損益率が設定値を下回ると、次に売りシグナルが出るまで買いシグナルを売りシグナルに変換します。売りの場合はその逆になります。

以下に、システム事例を示します。上段が資産カーブ、下段が時系列分析結果です。元システムは「①追加ETD順張り」同様、6770アルプスアルの回帰順張り逆システムです。

追加システムe.png
追加システムf.png

傾向としては①の事例と近いですが、2003年から2007年に渡っての停滞期間の様子が大きく異なります。また、①で時々見られる短期の急落が緩和されています。

性能指標は、損益累計が\11,976、プロフィットファクターが1.34、損益レシオが1.01、平均損益率が0.63%、平均リターンが31.80%、そして年率リターンが24.92%であり、①よりもやや向上しています。

時系列分析の結果では、最適パラメータの安定期間が比較的長く、性能向上効果が高かった最適化対象指標は、CSRや年率/平均リターン、累計/累積損益率などでした。KFインデックスは本事例では安定期間が短かったため不採択としました。

一方、期待効率は安定期間が2003年末から現在(2020年6月)までと最も長かったのですが、性能が一歩及ばなかったため不採択としています。

このように、最適パラメータの選定に関しては、特に追加システムにおいては選択の自由度が増大します。どのパラメータを採択するかについては、ご自身の投資性向などと照らし合わせて決定する必要があります。

参考までに、期待効率を最適化対象とした場合の、資産カーブと時系列分析結果を次図に示します。

追加システムg.png
追加システムh.png

性能指標は、損益累計が\12,642、プロフィットファクターが1.31、損益レシオが0.90、平均損益率が0.44%、平均リターンが28.73%、そして年率リターンが20.27%となっています。
元システムよりは性能が向上していますが、CSRなどを最適化対象とした場合と比べると、やや見劣りしてしまいます。


③追加ETD逆張り:ETD逆張り基準の追加システム

元システムの買いETD及び売りETDが、それぞれの設定値(パラメータ)を割り込んでいる間は、元システムのシグナルを延長します。

例えば、元システムで買いシグナルから売りシグナルに転換する場合、その時点で買いETDが設定値を下回っていると、売りシグナルをキャンセルして買いシグナルを継続します。売りの場合はその逆になります。

KFシステムクリエイターでは、システムの売買シグナルが転換する場合、転換の当日引け時点で売買シグナルが点灯し、翌寄付きで売買を執行することになりますが、最大で2日分の遅延が生じます。
例えば、買いHOLDから売りに転換する際、株価が買いHOLD中のピークから下落していると、シグナル点灯から売買執行までの間にETDが生じています。

もしも売買執行までの間にETDが縮小するのであれば、それは機会損失として働きます。特に、ETDが極大化した後縮小に転じている過程でシグナルが転換した場合、売買執行までの間にETDがより縮小する可能性は小さくありません。

そこで、ETDが設定値以下である場合は直近のシグナルを最大2日延長し、性能の改善を図るようにしています。これはシステムにおいて逆張り的に作用するため、ETD逆張り基準の追加システムと位置付けています。

以下に、システム事例を示します。上段が資産カーブ、下段が時系列分析結果です。元システムは「①追加ETD順張り」同様、6770アルプスアルの回帰順張り逆システムです。

追加システムi.png
追加システムj.png

①や②の順張り型追加システムと比べると、元システムに対する性能向上度合いはやや低いものの、それなりに効果は認められます。また、チャートパターンとしては、元システムに近いものとなっています。

性能指標は、損益累計が\11,036、プロフィットファクターが1.28、損益レシオが0.81、平均損益率が0.35%、平均リターンが24.16%、そして年率リターンが15.07%であり、①や②よりは低いですが元システムよりは向上しています。

時系列分析結果を見ると、非常に長期に渡って最適パラメータが安定していることが分かります。このことから、本追加システムを1次追加システムとして適用した後、順張り系の追加システムを2次追加システムとして適用する、という方法も考えられます。

なお、売りETDの最適パラメータが-46%という非常に大きな値となっていますが、これは売りシグナルにはこの追加システムを適用しない方が良いということを示しています。
すなわち、売りトレードの場合はETD回復の可能性は低く、出来るだけ早く手仕舞いした方が良い、ということを反映していると考えられます。


④追加損益率逆張り:損益率逆張り基準の追加システム

元システムの買い損益率及び売り損益率が、それぞれの設定値(パラメータ)を割り込んでいる間は、元システムのシグナルを延長します。

例えば、元システムで買いシグナルから売りシグナルに転換する場合、その時点で買い損益率が設定値を下回っていると、売りシグナルをキャンセルして買いシグナルを継続します。売りの場合はその逆になります。

システムの動作原理につきましては、③のETDを損益率に置き換えてお考え下さい。

以下に、システム事例を示します。上段が資産カーブ、下段が時系列分析結果です。元システムは「①追加ETD順張り」同様、6770アルプスアルの回帰順張り逆システムです。

追加システムk.png
追加システムl.png

他の追加システムと比べると、元システムに対する性能向上度合いはやや低いものの、それなりに効果は認められます。特に、直近における資産カーブの停滞が改善されています。

性能指標は、損益累計が\10,598、プロフィットファクターが1.29、損益レシオが0.77、平均損益率が0.41%、平均リターンが24.05%、そして年率リターンが15.28%であり、③とほぼ同程度となっています。


⑤保有日数フィルタ:保有日数フィルタ追加システム版

買い保有日数及び売り保有日数が、それぞれの設定値(パラメータ)を超えると手仕舞いします。

手仕舞い後は、次のシグナルが出るまでキャッシュポジションとなります。株式の保有期間は減少しますが、トレード回数は元システムと変わらないため、エントリー条件を調整して回数を減らすフィルタとは異なり、データ数減少による過剰最適化の懸念は大きくありません。

以下に、システム事例を示します。上段が資産カーブ、下段が時系列分析結果です。元システムは「①追加ETD順張り」同様、6770アルプスアルの回帰順張り逆システムです。

追加システムm.png
追加システムn.png

本事例においては、元システムに対する性能向上度合いはかなり低いものになっています。
性能指標は、損益累計が\10,025、プロフィットファクターが1.25、損益レシオが0.87、平均損益率が0.30%、平均リターンが19.47%、そして年率リターンが10.89%であり、元システムよりもやや向上しているに過ぎません。

ただし、この事例だけを持って保有日数フィルタの効果は小さいと論じられるものではなく、他の事例でも確認を進める必要があります。
例えば、6770アルプスアルの回帰順張り正システムでは、大きな効果が認められています。

以下に、そのシステム事例を示します。上段が元システム、下段が保有日数フィルタ追加システムの資産カーブです。チャート形状は一見ほとんど変わりませんが、数値が大きく向上していることが分かります。

追加システムo.png
追加システムp.png

性能指標で比較しますと、損益累計が\11,791⇒\14,116、プロフィットファクターが2.20⇒2.43、損益レシオが3.65⇒4.03、平均損益率が3.03%⇒3.62%、平均リターンが33.04%⇒39.52%、そして年率リターンが26.38%⇒33.43%でした。

保有日数フィルタでは、ある保有日数に達したらそのエントリーを手仕舞いし、次のエントリーまでキャッシュポジションを継続します。
その間の損失抑制が機会収益となり、システム性能を向上させています。

それならば、キャッシュポジションの代わりにドテンによる逆エントリーとすれば、機会収益は倍化するはずです。かなり作為的な手法ではありますが、試してみる価値はあるかもしれません。
今後、新たな追加システムとして開発していく予定です。


⑥寄引変換:寄付⇒寄引変換システム(改修中)

本追加システムは2020年6月現在改修中であり、説明は割愛いたします。
寄引システムは、現状においてデータ量が倍化することから、一時ペンディングしています。倍化せずに済む方法を検討中です。


追加システムのセットアップについては、基本的には基準システムの場合と同様です。ただ、何点か注意事項がありますので、それらについて以下に説明いたします。

追加システムでは、リンク元を2つ設定する必要があります。リンク元1は株価データファイルですが、それを指定した後、続けてリンク元2を設定します。
リンク元2は追加システムを適用する元システムですが、大抵は基準システムとなります。

基準システムから追加システムをセットアップする場合、その基準システムが追加システムの元システムとなることが少なくありません。
その際に、自分で自分をリンク元に設定することは出来ませんので注意が必要です。

それを避けるために、リンク元となる基準システムを開いた状態で、最初にシステムを別名保存します。そのシステムがそのまま追加システムになりますので、それを意識した名前に設定してください。

続いて、サマリーページからセットアップを選択し、指示に従ってセットアップを行います。その際、ロジック設定では適用したい追加ロジックを選択します。
リンク元1を設定した後、リンク元2の設定ダイアログが開きますが、そこでは必ず「キャンセル」ボタンを押してください。

すると、設定を促すメッセージが表示された後、エクスプローラが開きますので、そこから元システムを選択します。
元システム名の初期値はロジックリストに記載されたシステムファイル名となっていますので、通常は必ず変更を行う必要があります。

以降は基準システムのセットアップと同様です。最後にファイル名入力ダイアログが開きますので、セットアップする追加システム名を入力し、「OK」ボタンを押します。

通常は、セットアップを実行したシステムのファイル名が初期値として設定されていますので、そのまま「OK」を押せば大丈夫です。確認メッセージが出ますので、そのまま同名保存する場合は「はい(Y)」を押してください。

セットアップ完了後、サマリーページを開いて運用システム欄を確認します。システムが「逆システム」になっている場合は、「正システム」に変更します。
また、設定パラメータ欄の手動設定値を、保有日数フィルタでは正の整数、それ以外では負の数に変更してください。

追加システムの最適化演算は、基本的には基準システムの場合と同様です。ただし、パラメータの走査範囲については注意する必要があります。
以下に、標準的なパラメータ設定値を示します。なお、これが絶対という訳ではありませんので、環境等に応じて適宜設定してください。

追加システムq2.png

保有日数フィルタ以外では、パラメータはマイナスの値となります。通常は-1%から-50%まで-1%ステップで走査してください。ただし、最適パラメータの値が-50%に張り付いてしまう場合などは、更に走査範囲を拡大する必要があるかもしれません。

追加システムは必ず元システムとの一体運用となります。そのため、データ更新を行う際は、最初に元システムを更新した後、追加システムを更新してください。
元システムと追加システムの起点日や終点日は、必ず同じになるよう管理する必要があります。

また、元システムのパラメータを変更すると、追加システムは正常に機能しなくなります。そのため、例えば元システムとなる基準システムのパラメータを変更する必要がある場合は、予め別名保存するなどして追加システムに影響が及ばないようにした上で、変更を行うようにしてください。

パラメータ変更後の基準システムに改めて追加システムを適用する場合は、新規の追加システムとしてセットアップを行ってください。
当然、最適化演算もやり直す必要があります。

追加システムは原理的には多重に作成することが可能です。すなわち、追加システムの追加システムの、更にその追加システムなどといったシステムも作成可能です。
ただし、その分パラメータ数が増えることになり、その内のいずれか1つでも変化すると、システムは機能しなくなります。

すなわち、システムとしては非常に不安定なものとなることに留意する必要があります。また、一般に追加システムを多重適用するほど、性能向上効果は小さくなっていきます。さらに、システム設計に要する時間も増大します。
そのため、追加システムの多重化は出来るだけ行わないに越したことはありません。


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