KFシステムコントローラ取扱説明書(改訂版)

記事
マネー・副業

0.重要確認事項


KFシステム研究所が提供する各種ツール(以下本品)をご利用いただくに当たり、下記確認事項をよくご覧の上、順守いただきますようお願い申し上げます。

・本品の著作権は、KFシステム研究所並びにKフローが有します。第三者への販売ならびに供与等は、ご遠慮ください。

・本品並びに関連品のご使用に際して生じるいかなる損害に対しても、KFシステム研究所並びにKフローは一切の責任を負いません。また、本品はトレードで収益を上げることを約束するものではありません。必ず自己責任にてご利用願います。

・本品及びその派生物を、有償無償を問わず、第三者に開示することは禁止しておりますが、運用結果の公開や新規ロジック等の開発につきましては、自己責任において自由に行って構いません。

・本品の実行にはインストール版のMicrosoft Excel 2003以降が必要です。Web版Excelや他社製Excel互換ソフトでは動作を保証できませんのでご注意ください。なお、本品を動作させるためには、マクロの実行を許可する必要があります。

・Excel2007以降で本品を使用する場合は、原則として「互換モード」をご利用ください。それ以外のモードで保存した場合、本品を起動できなくなる場合があります。

・本品はExcel2003上で開発し、動作確認を行なっています。上記の条件を満たす限り、直近のExcelバージョンでも動作いたしますが、演算速度が2割程度以上遅くなる場合があります。何卒ご承知置きくださいますよう、お願い申し上げます。

・一部マクロにおいて、シートの切り替えなどの度に再計算が行われる場合があります。シートの状態によっては、非常に時間が掛かる場合がありますが、それを避けたい場合は、「オプション」の「数式」にて、「計算方法の設定」の"ブックの計算"の「手動」にチェックを入れてください。

・Excel2013以降では、ブックが開かれるプロセスが変更になりました。それ以前では、エクセルを起動する度に新規プロセスが使用されていましたが、2013以降では既存プロセスが使用されるようになりました。そのため、例えばシステムの最適化演算を行なう場合、従来は新たにエクセルを起動してシステムを読み込めば、個々のプロセスで実行されましたが、2013以降では同一プロセス内で実行されてしまい、処理が著しく停滞する場合があります。新規プロセスでエクセルを実行するためには、Altキーを押しながら起動するか、起動時に-xオプションを付ける必要があります。詳しくはWebやエクセルの解説書等をご覧ください。

2022年2月19日 KFシステム研究所 Kフロー


1.はじめに


システムトレードを実行するに当たって、システムそのものが主役となるのは、主に開発・設計の段階です。実際の運用局面に入ったら、システムは日々シグナルを発することが主な役割となり、大半の機能は利用されることがありません。

管理・運用するシステムの数が高々数個程度であれば、株価データを更新した後、システムを開いて更新すると共に、シグナルを確認すれば良いだけなのですが、その数が多くなると、システムを順次手動で開くことさえ大変になります。

そんな場合、システムを連続的に開いて更新し、保存してから閉じてくれるツールがあったら、どんなに便利でしょう。
更には、更新したシステムのシグナルや性能を一覧で表示し確認出来たなら、日々のシステム運用が劇的に簡単になることでしょう。

そのような思いによって開発してきたのが、KFシステムコントローラとそれを構成するツール群です。

資金的な理由などにより、実際に運用するシステムはそう多くはないかもしれません。しかし、運用はしないものの、様々なシステムの成績の推移を比較・確認したい場合はあるでしょう。

また、複雑なうねり取りシステムを運用する場合には、それだけで基準システムや追加システム、合成システムなど複数のシステムを、欠落なく順番通りに更新する必要があります。

システム運用面に限らず、例えばシステムのセットアップを行ったり、最適化演算を行ったりする際にも、対象銘柄やシステムの数が多くなれば、手作業で行うのは困難です。

そんな裏方的な仕事を一気に引き受けてくれるのが、KFシステムコントローラということになります。

KFシステムクリエイターは、非常に膨大な演算処理を行っているため、エクセルのマルチスレッド計算や同処理を行うと、オーバーヘッドが発生して却って処理が重くなってしまいます。
そのため、通常はそれらの機能を無効にしておく必要があります。

しかし、そうするとCPUの能力をフルに活用することが出来ません。特に最適化演算では、処理時間を削減するためにCPUパワーを最大限に活用する必要があります。
4コアCPUの場合、マルチスレッド処理を封印してしまうと、CPUは全能力の25%しか利用することが出来なくなってしまいます。

そこで考えられるのが、並列処理です。エクセルは起動する毎に空いているCPUパワーを使用する、という性質があります。
例えば4コアCPUであれば、エクセルを4つ同時起動することにより、CPU能力を100%利用することが出来るようになります。

ここで注意が必要なのは、エクセル2013より以前のバージョンでは、エクセルを起動する度に新規プロセスが使用されていたのですが、以降のバージョンでは既存プロセスが使用されるように変更されたということです。
ただし、マクロなどからエクセルを呼び出す場合は、従来同様新規プロセスが使用されるようであり、特に意識する必要はありません。

並列処理を手動で行う場合、例えばエクセルを4つ同時に起動し、それぞれにKFシステムクリエイターで作成した異なるシステムを開き、最適化演算等の処理を個々に行う必要があります。
それぞれのオペレーションページから「最適化演算」ボタンを押し、演算条件を設定した後、順次演算を実行します。

時系列分析には、通常、1システム当たり数時間掛かりますが、基準システム18種類を全て分析する場合、4コアCPUを用いたとして、4回の4並列演算と、1回の2並列演算が必要になります。
手動でそれらを行う場合、並列演算の準備処理に加え、分析完了後に次のシステムを開き、連続して演算を行うことになります。

複数のパソコンがあれば、処理を各パソコンに分散することにより、連続処理の部分の負荷を軽減することが出来ますが、分析銘柄数が増えると、それも難しくなってしまいます。
特に、分析が深夜に及んでしまう場合には、夜中に起きてシステムを入れ替え、分析を継続する必要が生じるかもしれません。

それらを全て自動化するために、KFシステムコントローラには、連続実行ツールと並列実行ツールが備わっています。

連続実行ツールは、ワークシートに記載された順番に、ブックのマクロ処理を実行します。また、並列実行ツールは、ワークシートに記載されたブックを、別々のプロセスのエクセルで開き、マクロ処理を実行します。

例えば、連続実行ツールにセットアップツールと並列実行ツールを記載して、セットアップツールには18種類の基準システムのセットアップ条件を、並列実行ツールには4つのシステム最適化ツールを記述すれば、セットアップを実行した後、最適化演算を並列実行する処理が自動化出来ます。

もちろん、各条件は事前にシート上で設定しておく必要がありますが、手動で都度設定することを考えれば、遥かに効率的です。

なお、セットアップツールやシステム最適化ツールは、システム上におけるダイアログでの条件設定を、各ツールのワークシート上に予め記述しておく必要があるため、専用のワークシートとなっています。
単純に、KFシステムクリエイター上のマクロを呼び出して、実行できるわけではありません。

これらのツールの在り方や記述方法については、今後、改善の余地があるかもしれません。

KFシステムコントローラでは、システム運用に欠かせない上記のツール群の他に、システム運用とは直接的な関わりのないユーティリティツール群も有しています。
これらは、システム開発に際して参考となる情報をもたらしてくれます。

以上のように、KFシステムコントローラは、KFシステムクリエイターを効率的に運用するために必要不可欠な存在であり、KFシステムクリエイターを包含する巨大なツール群です。
これらのツール群を駆使することにより、効果的かつ効率的なシステム開発~運用が可能となります。

これはKFシステムクリエイターの重要な機能の一つであり、他のシステムやEA等ではけして真似のできない特長となっています。
KFシステムクリエイター及びKFシステムコントローラが、皆様のトレードのお役に立てることを、強く願っています。


2.システムの概要


(1)KFシステムコントローラとは


KFシステムコントローラは、KFシステムクリエイターをより効果的・効率的にご利用いただくために開発されたツール群です。
KFシステムクリエイター単独では成し得ない様々な制御処理を、並列的・直列的に実行することが出来ます。また、システム運用に役立つ様々なユーティリティを提供しています。

KFシステムコントローラ自体は、次図に示すように各ツールをテーブル上に記載したブックとなっています。ファイル名欄に記載された各ツール名(ファイル名)をダブルクリックすることで、それらのツールを起動することが出来ます。
また、項目名を右クリックすると、そのツールの取扱説明書を開くことが出来ます。

システムコントローラ001.png

具体的な操作は、起動したツールから行います。ユーティリティやシステムファイルを除く各ツールは、基本的にはそのツールを実行するファイル名の記載と実行ボタンから成り立っています。
ツールにファイル名等の必要事項を記載した後、実行ボタンを押すことで、そのツールの機能が実行されます。

KFシステムクリエイターは単独で機能するトレーディングシステム作成ツールですが、実際にシステムを運用する際には、株価データの更新⇒基準システムの更新(⇒追加システムの更新⇒合成システムの更新)⇒売買シグナルの確認⇒システム・機能判定の確認(⇒各種性能指標の確認⇒各種チャートの確認)、といった手順を日々踏む必要があります。

運用システムや監視システムの数が少なければ、それらを日々手動で更新し確認しても良いのですが、数が多くなるとそれは非常に困難になります。
KFシステムコントローラがあれば、それらを自動で連続処理することが可能となります。

例えば、ファイル更新ツールを用いれば、それに登録した様々なツールを開き、ツール内のマクロを実行することが出来ます。
KFデータマネージャシステム更新ツールシグナルチェッカー性能一覧ツールを順に登録しておき、更新ボタンを押せば、株価データ⇒システム⇒売買シグナル一覧⇒性能一覧、の更新を順次行います。

また、自動実行ツールKFデータマネージャセットアップツールシステム最適化ツールを順に登録しておけば、株価データ取得⇒システムセットアップ⇒最適化演算、というシステム開発の一連の流れを自動化することが出来ます。

更に、最適化演算ツールを並列実行ツールに登録しておき、上記の最適化演算の代わりに並列実行ツールを適用すれば、最適化演算処理を並列実行することができ、システム開発に要する時間を大幅に短縮することが可能となります。

KFシステムコントローラでは、これらのシステム運用効率化ツール以外に、様々なユーティリティツールを提供しています。

ドキュメントギャラリーでは、登録しておいたドキュメントファイルをダブルクリックで開くことが出来ます。フルセットでは、SSブログで公開している1,600本以上の記事や、閉鎖中のKFシステム研究所サイトの解説記事等を、ドキュメントギャラリーから閲覧することが出来ます。

また、KFシステムアナライザでは、作成したシステムの月次、四半期、年次毎の各成績や、統計的振る舞いを分析し確認することが出来ます。

それ以外にも、パラメータ抽出・変換/システム復元ツール相関係数算出ツール当日データ取得更新ツール、等を提供しています。
それらについては、以降のセクションにて説明いたします。

KFシステムコントローラは、KFシステムクリエイターを最大限活用するために、無くてはならないツールです。本ツールを活用することで、より効果的かつ効率的で、安定したシステム開発~運用環境を得ることが可能となります。

(2)システムの基本構成と概要


KFシステムコントローラは、大きく4つの項目から成り立っています。以下に、順次説明いたします。併せて、「(1)KFシステムコントローラとは」で示した全体図をご参照ください。

①並列実行

並列実行ツールを設定します。並列実行ツールには終了処理ツールと連続実行ツールa、bが予め登録されていますが、更にツールを追加することも出来ます。
次図にその概要を示します。終了処理欄に連番を記載して、ツールのフォルダ名とファイル名、実行マクロ名を記載することにより、記載したツールを並列実行します。

システムコントローラ002.png

終了処理ツールは、ファイルコピーやシャットダウン等の終了処理を実行します。この処理は、全ての並列処理が完了した時点で実行されます。設定方法等、詳細については後述します。

連続実行ツールは、連続処理したいファイルやツールを予め登録した順に実行します。

②ファイル更新

ファイル更新ツールは、主に日々更新するファイルを登録し、実行します。
主な更新対象ファイルを次図に示します。

システムコントローラ003.png

KFデータマネージャは、日々の株価を更新するツールです。また、新規銘柄の株価を取得することも出来ます。詳細については、「KFデータマネージャ取扱説明書」をご覧ください。

システム更新ツールは、KFシステムクリエイターで作成したシステムの更新を行います。システムのオペレーションページにおける「データ更新」と同じ処理を、登録順に連続して実行します。

システム更新更新ツールは、システム更新ツールに改定があった場合に、更新作業を連続して行います。通常、ほとんど使用機会はありません。

KFシグナルチェッカーは、登録したシステムの売買判定や機能・システム判定、建値や現値、運用条件や直近性能等を一覧にして表示し、日々更新します。複数のシステムを運用している場合などに、個々のシステムファイルを開くことなく、運用状態を一覧で確認することが出来ます。

シグナルチェッカー更新ツールは、KFシグナルチェッカーに改定があった場合に、更新作業を連続して行います。通常、ほとんど使用機会はありません。

システム性能一覧は、登録したシステムの買い、売り、ドテンの各トレード毎に、基本的な運用条件と性能指標を一覧で表示します。これにより、作成したシステムから運用システムを選択する等の際に、比較検討しやすくなります。また、様々なシステム同士を比較する際にも利用できます。

性能一覧更新ツールは、システム性能一覧に改定があった場合に、更新作業を連続して行います。通常、ほとんど使用機会はありません。

③自動実行

自動実行ツールは、基本構成こそファイル更新ツールと同じですが、主にシステム設計段階での様々な処理を自動的に行う際に使用します。システム設計の基本は、銘柄選定⇒株価データ取得⇒システムセットアップ⇒最適化演算⇒システム選定、となります。

自動実行ツールでは、その内、銘柄選択とシステム選定を除いた作業を自動化することが出来ます。基本的な実行対象ファイル構成を次図に示します。

システムコントローラ004.png

株価データ取得は、KFデータマネージャで行います。選定した銘柄をKFデータマネージャに登録し、データ取得フラグを立てておきます。そのKFデータマネージャを別名保存し、自動実行ツールに登録しておきます。その際、取得する株価データのファイル名を予め決めておき、指定したフォルダに保存するように設定します。

KFデータマネージャの使用方法につきましては、「KFデータマネージャ取扱説明書」をご覧ください。

システムセットアップツールは、選定した銘柄の全基準システムを予め登録しておくことで、セットアップを自動的に実行することが出来ます。基準システムのみならず、追加システムや合成システムのセットアップも可能ですが、これらは通常、元となる基準システムを選定した後の作業となります。

システムセットアップでは、選定した銘柄の株価データと共に、元となるシステムファイル及びロジックリストを参照します。そのため、システムファイルが改定されれば、システムセットアップツールで作成するシステムもまた改定版となります。

最適化演算ツールは、登録したシステムの最適化演算を自動実行します。セットアップしたシステムを全て登録しておくことで、セットアップ完了後に最適化演算を行い、最終的なシステムを自動設計することが可能となります。

ただし、同一ロジックのシステムでも、最適パラメータの選択にはある程度の裁量要素が入り込む場合があります。そのため、最適化が完了したシステムを一つ一つ開き、目視で確認する必要があります。

また、最適化演算には通常、多大な時間が掛かります。そのため、例えば4コアCPUパソコンの場合では、最適化演算ツールをファイル名を変えて4つ用意し、それぞれ等分にシステムを割り振ります。それらを並列実行ツールに登録し、それを最適化演算ツールの代わりに自動実行ツールに登録することで、処理時間を大幅に短縮することが出来ます。

④ユーティリティ

ユーティリティツール群では、システム作成やシステム更新に直接的な影響のないファイルやツールを提供しています。これらのツールは、今後変更になる可能性があります。

各種バッチ編集は、終了処理ツールで使用するバッチファイルの編集を行います。これらを編集することで、バックアップ条件等の設定を行うことが出来ますが、そのためにはある程度のコマンドの知識が必要となります。設定を間違えると重大な不具合を引き起こす可能性がありますので、十分に注意する必要があります。

ドキュメントギャラリーは、PDFファイルやTXTファイルを登録しておくことで、項目やタイトルのダブルクリックにより、当該ファイルを開くことが出来るツールです。
初期状態では、2021年末までのKフローのブログ記事や研究所サイト(休止中)の解説記事などを登録してあります。

SSブログ記事一覧ツールは、SSブログに投稿した記事を、公開日時順、閲覧数順、カテゴリー順、タイトル順で一覧表示するツールです。ただし、対象期間は2021年8月28日までとなっています。

ファイルリストアップツールは、指定したフォルダとその直下にあるフォルダのファイル名を抽出するツールです。システム更新ツール等にフォルダ名やファイル名を記載する際、このツールで目的のファイルをリストアップし転記することで、登録作業が容易になります。

エクセルコンバータは、xls形式で作成された各種ファイルをxlsb形式に変換するためのツールです。本ツール自体はxlsb形式となっており、エクセル2007以降で実行する必要があります。ただし、現状では互換モードでの使用を推奨しているため、特別な理由がない限り、本ツールを使う必要はありません。

KFシステムアナライザは、システムの統計情報を解析するツールです。資産カーブの回帰直線回りにおける資産分布のヒストグラムや、月次、四半期、年次の各期毎における成績等を求めることが出来ます。KFシステムクリエイターでは連続した成績しか分かりませんが、KFシステムアナライザを使うことで、例えば投資信託などの成績との比較が容易になります。

パラメータ抽出・変換/システム復元ツールは、登録したシステムから連続してパラメータを抽出したり、逆にパラメータファイルから連続してシステムを復元したりすることが出来ます。本ツールは、システムに改定があった場合などに、作成したシステムを改定版に更新する際にも利用されます。

相関係数算出ツールシステム版は、登録したシステムの資産カーブがどの程度類似しているかを判定することが出来ます。本ツールを使用することにより、システムポートフォリオを構築したり、合成システムを設計する際に、どのシステム同士を組み合わせれば良いかを判断する指針が得られます。

相関係数算出ツール株式版は、登録した銘柄の株価推移がどの程度類似しているかを判定することが出来ます。本ツールを使用することにより、株式ポートフォリオを構築する際に、どの銘柄同士を組み合わせれば良いかを判断する指針が得られます。

datファイル合成ツールは、システム間相関係数算出ツールで選出したシステムのdatファイルを合成し、その合成システムのdatファイルを生成するツールです。なお、datファイルのサマリーは合成されません。合成されたdatファイルは、システム間相関係数算出ツールやKFシステムアナライザで分析することが出来ます。

株価データ合成ツールは、株式銘柄間相関係数算出ツールで選出した銘柄の株価を合成し、その合成株価の株価データファイルを生成するツールです。合成された株価データファイルは、KFシステムクリエイターに組み込んでシステム設計に用いることが出来ます。

最適トレンドライン算出ツールは、株価や為替等の価格推移を分析し、最適なトレンドラインを算出・設定するためのツールです。本ツールを用いることにより、主観によらない客観的なトレンドラインが得られ、トレードにおける売買タイミングを的確につかむことが出来ます。

当日データ取得更新ツールは、登録した証券コードの銘柄の、日々の株価や出来高などを取得します。また、ヤフーファイナンスに登録されている銘柄の、証券コードと銘柄名を取得します。KFデータマネージャと異なり、日々の株価のみを取得するだけですが、それらを一覧で表示するため、様々な集計を行うことが可能です。 

3.KFシステムコントローラの設定


KFシステムコントローラを使用するためには、ご自身のパソコン環境に合わせてフォルダ名を設定する必要があります。フォルダ名は親フォルダ名と子フォルダ名とに分かれ、親フォルダ名にはファイル名に記載された各ファイルが「共通して」格納されているフォルダ名を記載します。

例えば、「2.(1)システムコントローラとは」に掲載しているKFシステムコントローラの図においては、全てのファイルが共通して含まれる親フォルダとして、「D:\株式2\」を設定しています。これはあくまで一例であり、ご自身の環境に合わせて変更する必要があります。

また、子フォルダ名としては、親フォルダ名とファイル名とをつなぐフォルダ名を記載します。もしも子フォルダの最初のフォルダ名が、全てのファイルに共通しているのならば、その部分を親フォルダ名に組み入れることができます。例示した図の場合は、ほとんどのファイルで「KFコントローラ\」というフォルダ名が共通ですが、それを含まない「System\」フォルダが存在するために、親フォルダに組み入れることは出来ません。

親フォルダ名、子フォルダ名共に、名前の最後には「\」を付ける必要があります。また、ファイル名には必ず拡張子を付ける必要があります。ただし、ファイル名に関しては、初期状態において予め設定されていますので、特に手を加える必要はありません。

全てのフォルダ名やファイル名の設定が終わったら、それらのファイル名をダブルクリックしてみてください。設定が正常に行われていれば、ダブルクリックしたファイルが開きます。
もしもファイルが開かない場合は、フォルダ名やファイル名に間違いがないか、もう一度確認してください。

また、項目名を右クリックすると、その当該ツールの取扱説明書が表示されますが、もしも反応しない場合は、次章に示す方法でフォルダ名の確認を行ってください。

正常にファイルが開くことを確認出来たら、KFシステムコントローラの設定は完了です。確認用に開いたファイルを保存せずに閉じてください。
また、KFシステムコントローラの設定完了後は、必ず上書き保存を行ってください。

4.KFシステムコントローラの基本操作


実行するツールのファイル名をダブルクリックすることで、そのツールを開くことが出来ます。
開いたツールは、そのまま実行可能です。

もしも「エクセルファイルを選択してください」というメッセージが表示される場合は、フォルダ名やファイル名が違っているか、ファイルが存在しない可能性があります。エクスプローラ等でフォルダやファイルを確認してください。なお、同メッセージはファイル名欄以外をダブルクリックしても表示されます。

各ツールの項目名を右クリックすることで、そのツールの取扱説明書を開くことが出来ます。取扱説明書ファイルが存在しない場合は、「ファイル名が正しくありません」というメッセージが表示されます。

取扱説明書を開くために、H列に取扱説明書が格納されているフォルダ名(フルパス)、I列に同じくファイル名が設定されています。これらは予め設定してありますが、ご利用環境によってはフォルダ名を変更する必要があります。
H列及びI列は非表示となっていますので、それを再表示した後、フォルダ名を変更してください。変更後は、再び非表示に戻してください。

なお、エクセルのバージョンや使用環境によっては、非表示メニューがリボン上で見つけにくい場合があります。そのような場合は、当該列を選択した状態で右クリックしてください。最初に「ファイル名が正しくありません」というメッセージが表示されますが、それを閉じた後、右クリックメニューが表示されます。

5.おわりに


システムトレードは簡単に実行できると思われるかもしれませんが、実際には多大の労力と忍耐を強いられます。それは、システム開発場面だけではなく、日々の運用場面でも同様です。

もちろん、最近では優れた自動売買ツールもあり、運用面での負荷はかなり低減されているかもしれません。
しかし、システムポートフォリオを組む等、ちょっと複雑な運用を行おうとすると、その運用手順を取り違えなく実行していくためには、系統だった処理が必要になるでしょう。

KFシステムコントローラは、システム開発・設計やシステム運用の場面において、それらを系統的に順序だって実行していくために必要と思われる機能を実装しています。それに加えて、システムの詳細な分析を行なったり、新たなシステム開発に役立つ情報の提供や、ポートフォリオ分析を行うツール等もあります。

たった一つだけのトレーディングシステムを運用していくだけなら、それらのツール群は必要ないかもしれません。しかし、運用と並行して複数のバックアップシステムを仮想運用したり、システムポートフォリオを組んだりする場合などは、それらを日々管理しなければなりません。

KFシステムコントローラは、そのような状況を緩和すると共に、新たな創造を手助けするために生まれました。
KFシステムコントローラが皆様のシステムトレードライフの一助になれば幸いです。

2022年2月17日 KFシステム研究所 Kフロー


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