Kフロー株式トレード研究所

当HPは、株式トレードに関する技術的な情報を発信するサイトです。

ホーム
システム紹介
取扱説明書
KFシステムコントローラ
システム事例
システム事例2
システム事例3
システム事例4
コラム・解説
連載コラム
システムトレード実践講座
ご注文・お問い合わせ
ダウンロード
アーカイブ
研究所紹介
特定商取引法
重要確認事項
KFシステムクリエイターVer5 取扱説明書
 
1.はじめに

2.システムの概要
 (1)KFシステムクリエイターでできること
 (2)システムの構成
 (3)ロジックの種類
 (4)システムのインプット
 (5)システムのアウトプット

3.初期設定
 (1)エクセルの設定
 (2)システムの設定
 (3)株価データの取得

4.システムの基本操作
 (1)サマリーページの操作
 (2)オペレーションページの操作
 (3)チャートの操作
 (4)システムシートの操作

5.セットアップ
 (1)ロジックの選択
 (2)フィルタの選択
 (3)システムのセットアップ

6.最適化
 (1)最適化とは
 (2)最適化条件と対象指標
 (3)システムの最適化

7.追加システムと合成システム
 (1)追加システム
 (2)システム間の相関
 (3)合成システム

8.システムの運用
 (1)運用形態の設定
 (2)運用の開始

9.システムの保守管理
 (1)株価データの更新
 (2)システムの更新
 (3)機能性判定

10.より深くご利用いただくために
 (1)オリジナルロジックの作成
 (2)オリジナルフィルタの作成

11.おわりに
 
 
 
1.はじめに

システムトレードは、客観的な判定方法(ルール)に従って売買を行なうトレーディング手法です。これは言い換えれば、誰が行なっても同じ売買シグナルが得られるように、客観的なデータを用い、ルールを客観的に定義した手法である、ということです。

ルールを客観的に定義する、ということ自体は、昨今においてはあまり難しくありません。例えば、エクセルなどの表計算ソフトを用い、その上でルールを定義してやれば、それが客観的なルールであればエクセルはきちんとした結果を返します。
逆に、ルールが客観的でない場合は、エクセルはエラーを返してくるでしょう。唯一気を付けるべき点は、未来を先読みしない、ということです。

一方、客観的なデータを用いる、という点に関しては、十分に注意しなければいけません。

例えば、当日の天気が晴れならば「買い」、雨ならば「売り」とするシステムを作成したとします。この売買ルールについては、十分な客観性を有しています。エクセルのワークシートのデータ列に、日付と天気を時系列で入力し、それに基づいて売買判定を行なう計算式を記述すれば、「買い」か「売り」かのシグナルが出るでしょう。

ここで重要なのは、計算式を間違えて、晴れなのに「売り」、雨なのに「買い」というシグナルが得られてしまったとしても、「ルールの客観性」という原理原則は損なわれないということです。
その場合は単に、晴れならば「売り」、雨ならば「買い」という、本来の意図とは逆の、客観的なルールを有したシステムを作成してしまった、というだけのことです。

しかし、「晴れ」と「雨」の判定を、自分の感覚で行なったとしたらどうでしょう?曇りはどう判断するのでしょう?晴れであっても、雲が多い場合は判断に困ります。
また、朝の6時には晴れていても、8時には雨に変わることだってあるかもしれません。

すなわち、天気を自分で判断するという行為は、多くの場合、客観的ではないということになり、その結果得られるデータもまた、客観性に欠けることになります。

では、天気はシステムトレードには使えないのでしょうか?

そんなことはありません。例えば、特定新聞の日々の朝刊に載る前日の天気、もしくは天気予報であれば、十分客観的なデータであると言えるでしょう。

株価データの場合、日中の4本足であれば、それは十分客観的なデータと考えても問題ないでしょう。しかし、分足などの場合は、それを提供する証券会社などによって、微妙に異なることはよくあるようですし、客観性を十分に担保できないかもしれません。
その場合は、データ入手先を固定したり、スプレッドを多めに取ったりしてやる必要がありますが、その分、システムのアウトプットには不確実性が含まれてしまいます。

このように、システムトレードとは、客観的なデータとルールに基づいたトレードである、と言えるわけです。
しかし、それだけではトレードとしての意味を為しません。

トレードとは、継続的に利益を上げていくことを目指す行為ですから、システムトレードもまた、継続的な利益の計上を目指す必要があります。
そのためには、想定運用期間における累計損益の期待値が、少なくともプラスであることが求められます。

上述の天気予報のシステム事例の場合、データとルールは客観的であっても、期待値という意味では運用に値しないでしょう。
なぜなら、当日もしくは前日の(それも特定地域、特定時間における)天気が、当日の株価に影響を与えるであろう、いかなる合理的な理由も見出せないからです。

一方、前日までの株価や指数、海外市場の指数、為替、様々な経済指標やニュースなどは、多くの市場参加者が売買の参考にするものであり、そういった意味では、合理的な説明力を有すると考えられます。

システムトレードにおいては、このように合理的に説明可能な(たとえそれを証明できなくても)データやルールを用いることが重要です。
統計的優位性とか、大数の法則とか、確率論とかは、あくまでそれを補強するための道具にすぎません。

「客観的なデータとルール」という要請からも分かるように、広義のシステムトレードは、必ずしも過去検証を必要としません。
あるデータを用いて、それに対するルールを策定すれば、それ以降の売買は客観的に行なうことができるからです。

その時点では、システムの期待値が正か負か分かりませんが、ルールを策定した際の理論的背景と、しばらくの期間の運用実績があれば、その後もシステムを運用していくべきかどうかの最低限の判断は可能だと思われます。

しかし、システムの将来しか分からないと、そのシステムにどれだけの資金を投じればよいのか、などといったマネーマネジメントに支障を来たします。
システムの期待値が正であろうことは、高い確率で分かっているとしても、そのバラツキの度合い、裏を返せばどの程度の損失を考慮すべきか、といった判断は困難です。

その判断を多少なりとも裏付けを持って行なえるようにするためには、過去検証(バックテスト)を行なう必要があります。
そして、それを可能とするためには、過去から現在に渡って入手可能な客観的データと、そのデータが存在するどの時間軸においてもただ一つの結果を返す、客観的ルールが要求されます。

ここで注意しなければいけないのは、バックテストを行なうに当たって、裁量判断が入る余地を残してはならない、ということです。
例えば、パラメータの最適化に当たっては、パラメータを客観的・一意的に決定する必要があります。

もしも最適パラメータを裁量で決定したとすると、「どの時間軸においてもただ一つの結果を示す客観的なルール」という要件を満たせなくなります。
そのため、パラメータの決定機構は完全にシステム化する必要があります。

例えば、2つのパラメータによる最適化を考える場合、一般には平面に近いなだらかなパラメータ分布の方が良いとされるようですが、そこには大きな落とし穴があります。
それは、最適パラメータを一意的に決め難い、ということです。そこに裁量判断を用いると、客観的なシステム設計ができません。

パラメータ分布がなだらかなのだから、将来成績のバラツキも小さいはずであり問題ない、と考えるかもしれませんが、それを保証するいかなる理由も存在しません。
特に、複利運用を考える場合は、時間の経過とともに、信じられないくらいの性能差が生じてくるかもしれません。

一方、最適パラメータの選択に一意性を求めた場合、決定された最適パラメータが、必ずしも最適な値ではないという可能性があります。しかし、仮にそうであったとしても、同一条件下では常に同じ値であることが重要なのです。
そうでなければ、それ以降のいかなる検証も、客観性を担保できないことは明らかです。

そのようなシステムであって初めて、過去の結果が将来まで引き継がれるかという、極めて重要な命題を、客観的に議論できるようになるのです。
そして、それこそが、トレーディングシステムに求められる、最も重要な機能の一つなのではないでしょうか。

以上は、システムが将来に渡って機能するかどうかを検証するための、前提条件に過ぎません。実際には、バックテストが良好だったからといって将来が保証されるわけではありませんし、更には、フォワードテストを行なった結果を持ってして、将来を決定論的に論じられるわけではありません。

それでも、客観的な前提条件を設定した上で、様々な角度から検証を行なうことによって、多少なりとも不確実性を減らすことがができるわけであり、そういった地道な一歩一歩の積み重ねが、システムトレードにとって重要なのではないかと考えます。

さて、トレーディングシステムには、実にさまざまな種類があります。大抵は、システム開発者の投資哲学に根差したものであり、それに応じて市場へのアプローチの仕方が異なります。
現在一般向けに公開されているシステムは、大きく2つのアプローチの仕方に分けられます。

一つは、トップダウン型とでも呼ぶべきもので、市場全体あるいは特定ユニバースに共通の戦略を定め、それに所属する全てもしくは一部の銘柄にその戦略を適用する方法です。
この方法の利点は、戦略を適用する銘柄の数が多いために、非常に多くの売買が可能となり、その結果、統計的優位性が得られやすくなることです。
また、一度に多数の銘柄を売買することから、銘柄分散によるリスク低減効果も期待できます。

一方、その戦略は売買対象銘柄全てに共通であるため、明らかにその戦略に適合しない銘柄が、少なからず、かつ恒久的に存在するというジレンマがあります。
しかし、個々の銘柄で捉えると、その売買回数は必ずしも十分ではないため、特定銘柄を取捨選択するという行為に統計的な裏付けを求めることは困難です。

そうであっても、シグナルが出た銘柄全てを売買することは、資金的に不可能な場合も少なくありませんから、結局、上記の矛盾を孕みながらの運用に成らざるを得ません。
したがって、この方法はシステムの戦略以上に、マネーマネジメントが重要となってきます。

続いてもう一つは、ボトムアップ型とでも呼ぶべきアプローチです。これは、個別銘柄や指数先物、為替など、単一の対象についてシステムを作成し、必要に応じてそれらを組み合わせて運用するスタイルを採ります。

古くからある海外製のトレーディングシステムや、証券会社などが提供するシステムの多くは、このタイプです。また、KFシステムクリエイターもこのタイプになります。
このアプローチのメリットは、トレード対象に合わせた細かな設定が可能なことですが、その反面、過剰最適化に陥りやすいというデメリットがあります。

また、通常、対象一つ当たりのシステム開発や検証に掛る時間が多くなるため、多数の投資対象に対して運用する用途には向かないかもしれません。
もっとも、最近では指数先物や為替を対象としたシステムが主流となっているため、検証時間については必ずしもデメリットとはならないでしょう。

ボトムアップ型のアプローチは、もちろん株式の個別銘柄にも用いることができますが、リスクを考慮した場合、複数のシステムでポートフォリオを組むことが望ましくなります。
これは、必ずしも異なる複数銘柄をシステム化するということではなく、同一銘柄であっても異なるロジックを用いた複数システムを組み合わせても良い、ということです。

ボトムアップ型のデメリットとして過剰最適化を掲げましたが、そのような危険性を内包している以上、システムの分散は必須です。
そうでない場合は、エクスポージャーをできるだけ小さくする必要があるでしょう。

なお、これはボトムアップ型に限ったことではないのですが、これら一般的なシステムの多くは、テクニカルデータに基づいた指標を組み合わせて売買ロジックを作成するため、得られるシステムは多くの場合、自己回帰型となります。

自己回帰型はシングルファクターモデルということになりますが、それをマルチファクターモデルに拡張するためには、最低限、複数のデータ系列を参照できる仕組みが必要です。

ブラックボックス化されたシステムの場合、当初から設計仕様に含まれていない限り、それは容易ではありませんが、例えばエクセルベースのオープンシステムであれば、マルチファクターモデルへの拡張は容易です。

もちろん、マルチファクターだから性能が良くて、シングルファクター(自己回帰)だから駄目だ、という訳ではありません。
ただ、はっきりと言えることは、数学的には「マルチファクター」⊃「シングルファクター」である、ということです。

しかし、闇雲に複数ファクターを組み合わせてシステム化しただけでは、かえってリスクを拡大させるだけの結果になるかもしれません。
重要なのは、マルチファクターであれシングルファクターであれ、合理的な裏付けのあるロジックを構築することでしょう。

KFシステムクリエイターでは、主にボトムアップ型の自己回帰システムを作成することができますが、エクセルの知識があれば、マルチファクターシステムの作成とその運用も可能です。
ただし、その前提条件として、有効なファクターの選定等は、別途事前に行なう必要があります。KFシステムクリエイターが支援できるのは、各ファクターの組み合わせを変更することで、システム性能がどのように変わるかを評価することです。

KFシステムクリエイターが、皆様のトレードのお役に立てれば幸いです。
 
 
 
2.システムの概要

 


(1)KFシステムクリエイターでできること

KFシステムクリエイターでは、ボトムアップ型のトレーディングシステムを作成し、それに基づいた運用を行なうことができます。
いくつかの基本的なロジックやフィルタを予め備えているため、運用対象とする株価データ(4本値)を用意すれば、どなたでも簡単な手順でシステムトレードを開始することができます(注)。

また、ロジック定義やフィルタ定義を行なう領域は、システム内で明確に決められているため、その部分を書き換えることにより、オリジナルロジックや同フィルタを作成することが可能です。
それらの作成は、エクセルのワークシートを直接書き換えることで行ない、その結果をボタン一つでロジックリストに登録して、後からいつでも呼び出すことができます。

システムに用いるデータは基本的には株価の4本値と出来高の計5種類であり、それらは付属のKFデータマネージャを用いることで取得・作成できます。
ただし、オリジナルロジックの場合はその限りではなく、元となるデータを別途用意することで、例えば始値と終値、そして他の3つのファクター、といったようなマルチファクター構成にすることも可能です。もちろん、そのデータを有効に利用するためには、ロジックがそれらのファクターに対応している必要があります。

以降では、KFシステムクリエイターに標準的に備わっている機能について、ご説明いたします。それらは基本的にはオリジナルシステムにおいても当てはまりますが、ロジックの内容によっては、正しく機能しない場合もありますのでご注意ください。

さて、システムに用いるデータの時間軸には、2通りあります。

一つは、不連続な時間軸。例えば、株価の日足データなど、終値と翌始値とが異なる場合です。
この場合、システムは終値以前のデータで売買判定を行ない、翌始値以降のデータで売買します。すなわち、終値から翌始値までの情報は参照しません。

もう一つは、連続した時間軸。例えば、株価の時間足データや為替データなど、基本的にはある時間における終値が翌始値に等しい場合です。
この場合、システムの売買判定や実際の売買を行なうタイミングに、実質的な制約はありません。始値=直近終値ですから、始値と終値は完全に対等であり、どのようなタイミングでも判定や売買を行なうことができます。

不連続な時間軸においては、引け判定、翌寄付き売買が基本となりますが、連続した時間軸を用いれば、寄付き判定、引け売買も可能となります。
これは、日足データに夜間足データを追加することで、達成できます。それを実現する機能は、KFデータマネージャで提供しています。

連続した時間軸を用いれば、事実上システムの時間軸に関する制約はほとんど無くすことができますが、それだけデータ数が増大するため、システムの処理時間もまた増大するという問題があります。
また、時間軸の自由度とシステム性能とは必ずしも連動しないため、労多くして功少なしとなる可能性も多分にあります。

KFシステムクリエイターでは、時間軸の自由度増大の他にも、運用数の自由度を高めることが可能です。

一般的なシステムにおいては、1株毎もしくは取引単位毎のトレードとなりますが、KFシステムクリエイターでは任意の実数単位毎のトレードが可能です。
もちろん、実際の運用場面では取引単位の整数倍のトレードしかできないわけですが、運用時の設定により、建玉数を取引単位の整数倍に丸めると共に、その運用経過を確認することができます。

実数単位毎のトレードが可能になることで、システム運用に様々なバリエーションが生じます。例えば、0単位のトレードを設定することで、それはキャッシュポジションを採ることと同義になりますし、時間の経過と共に取引単位を増減させることで、うねり取りシステムの作成・運用が可能となります。

従来、うねり取りトレードを実現するためには、非常に多くの運用資金を必要としましたが、建玉数を取引単位の整数倍に丸めることで、少ない運用資金で擬似的にうねり取りトレードを実践することができます。

うねり取りシステムの作成は、最初からそのようなロジックを作成してもいいのですが、簡易的には複数の異なる同一銘柄システムを合成することで実現できます。
システムの合成は、一度に最大3システムをセットアップ可能で、それらを更に階層化することで、事実上無制限の数のシステムを合成することができます。

システムの合成数が多いほど、うねりの推移は滑らかとなり、一般にリスクは低減しますが、そのトレードオフとして取引コストが増大します。
システム合成はシステムポートフォリオとほぼ同義ですが、運用上は「買い増し」や「売り乗せ」などを行なう「うねり取りシステム」として機能します。

合成システムは基準となる複数のシステムの出力を参照することで実現していますが、単一の基準システムの出力を参照するシステムも作成可能です。
それは「追加システム」として提供していますが、フィルタに近い役割を果たしています。

ただし、フィルタが一般にトレードを絞り込むためのものであるのに対し、追加システムは基準システムの出力を加工するためのものとなっています。
また、追加システムは合成システム同様、無制限の階層化が可能ですが、一般に階層が深くなるほど過剰最適化の危険性が増大します。

更には、建玉数を反転させることで、最初のシステム(正システム)とは逆のシグナルを発する「逆システム」を作成することができます。
標準システムにおいては、サマリーページから「正システム」か「逆システム」かを設定することにより、両システムを容易に使い分けることが可能です。

既存のシステムを反転させただけでは、一般にマイナスの収益しか得られませんが、反転後に改めて最適化を行なうことで、既存システムを上回る性能が得られる場合があります。
一般に、既存システムが順張りシステムの場合は、その反転システムは逆張りに、既存システムが逆張りシステムの場合は、その反転システムは順張りになります。

ある1つのシステムから得られる「正」と「逆」の2つのシステムは、通常、大きな相関となることはありません。
そのため、これらを合成したシステムは、元となるそれぞれのシステムよりも、累計損益のバラツキを小さくすることができます。すなわち、低リスク化が可能となるわけです。

もちろんそれだけでは、システムが長期に渡って機能し続けることを、保証できるわけではありませんが、単独システムと比べれば下方リスクが低減される分、より長期に渡った運用が可能になることが期待できます。

なお、同一ロジックに拘らずに、様々なロジック間の相関を検証することで、より安定したシステムを合成することもできます。
それを容易に実行するために、複数のシステム間の相関を求めるマクロを、KFシステムコントローラに同梱しています。

KFシステムコントローラは、KFシステムクリエイターを効率的に扱うためのマクロ群で、株価データやシステムの更新を連続実行したり、セットアップや最適化などの作業を連続して行なったりすることができます。
また、システム開発に役立つ様々なユーティリティを提供しています。

これらのブック(ワークシート)やマクロは、完全にオープンとなっていますので、ご利用者自身で内容を確認したり、改造したりすることが可能です。
また、これらに使われている様々なTipsを、いろいろな場面で活用することがでるでしょう。


(注)KFシステムクリエイターの実行には、Microsoft Excel 97以降(Excel 2003を推奨)および、それが軽快に動作するパソコン環境が必要となります。
Excel本体はKFシステムクリエイターには同梱されていませんので、ご利用者が別途ご用意する必要があります。

 
 
(2)システムの構成

KFシステムクリエイターは、基準システム、追加システム、合成システムの3種類の基本構成となっていますが、それらは共通のシステム本体に異なったロジックを適用することで、実現されています。
次のシステム構成図に示しますように、システム本体にロジックとフィルタを組み込んだ上で、株価データを設定することでシステムとして機能します。



KFシステムクリエイターは単独でも機能しますが、より効率的に機能させるために、KFシステムコントローラの一部として運用することができます。
KFシステムコントローラでは、様々なユーティリティを提供すると共に、各種運用ファイルの処理を自動実行させることができます。

例えば、日々のルーチンワークとして、複数銘柄の株価データ更新後、それらのシステムを更新し、性能やシグナルを一覧表示する、といった処理が可能となります。
また、複数のシステムを連続セットアップ後、それらの最適化演算を行なう、といった処理を自動化することができます。

なお、KFシステムコントローラにつきましては、別途提供する「KFシステムコントローラVer5 取扱説明書」をご覧ください。
本書では、システムの中心となるKFシステムクリエイターについてのみ、解説いたします。

KFシステムクリエイターの構成は、次図のようになっています。



システムは大きく、[システム]、[サマリー]、[オペレーション]、[テーブル]、[チャート]の5ブロックに分けられ、それらのサポートとして[マクロ]を使用しています。
[マクロ]の機能の多くは、[オペレーション]に含まれる各種ボタンで実行することができます。また、チャートの条件設定にも使用しています。

以下、順に各ブロックの内容について、解説いたします。

(a)システム

このブロックは、①データ設定、②指標演算1、③指標演算2、④ロジック設定、⑤ロジック出力、⑥フィルタ設定、⑦フィルタ出力、⑧売買出力、⑨コスト設定、⑩性能演算、⑪指標演算の各エリアから構成されています。
各エリア内の項目は、ワークシート上に時系列で表され、設定の変更に応じて瞬時に再計算されます。



データ設定エリアでは、株価データファイルから取り込んだ日付と株価4本値、そして出来高を時系列で設定します。データの設定は、通常、オペレーションページのセットアップから行ない、日々の更新は、データ更新から行ないます。
このデータが、システムの全ての演算の基準となります。データが異なれば、システムが発する出力もまた異なってきます。

指標演算1、2エリアでは、データの2次加工を行ないます。これは、株価データからシグナルを抽出しやすくする処理で、株価推移を解析的に分析したり、あるいは他のシステムの出力やデータを参照したりします。
指標演算1は指標演算2の前処理であり、指標演算2の計算を高速化するために、各種統計演算の漸化式処理を行なったりします。

ロジック設定エリアでは、データ設定および指標演算の結果に基づいて、売買シグナルを発生させるための計算式を設定します。
設定するロジックは、通常、セットアップから指定しますが、ワークシート上で直接設定することも可能です。その際、オペレーションページからロジック抽出を実行することで、設定したロジックをロジックリストに登録することができます。

ロジック出力エリアでは、ロジック設定に基づいた結果を出力します。出力は通常、"1"、"-1"、"0"、そして""(NULL)のいずれかの値となりますが、任意の実数値であっても構いません。
出力が"1"の時は、1単位の買いポジションを表します。出力が"-1"の時は、1単位の売りポジションを表します。そして、出力が"0"の時は、キャッシュポジションを表します。また、出力が""の時は、ポジションを決定するデータが存在しないことを表します。

ポジションを任意の実数値pとする場合は、pが正ならばp単位の買いポジションを、pが負ならばp単位の売りポジションを持つことを表します。
実数ポジションを有効にすることで、合成システムやうねり取りシステムを、容易に実現することができるようになります。

フィルタ設定エリアでは、ロジック出力に対するフィルタを指定します。フィルタは、通常、セットアップから指定しますが、ロジック設定同様、ワークシート上から直接設定したり、それをロジックリストに登録したりすることも可能です。
フィルタはシステム性能を高めることができる反面、システムの堅牢性を低下させる場合があります。そのため、初期状態ではフィルタ設定はオフになっています。

フィルタ出力エリアでは、フィルタ設定に基づいた結果を出力します。出力は通常、"1"か"0"となりますが、任意の実数値であっても構いません。
フィルタ出力が"1"の時はロジック出力をそのまま通し、"0"の時はロジック出力を"0"とします。
なお、特殊な事例として、フィルタ出力を"-1"とすればロジック出力を反転させ、任意の実数値pとすれば、ロジック出力をp倍します。

売買出力エリアでは、ロジック出力にフィルタ出力を重畳すると共に、逆システムの場合はその出力を反転させます。
最終的に、売買ポジションを表す出力が得られ、その変化を抽出することで、売買シグナルを発します。その売買シグナルに基づいて、売買価格や建値などを算出します。

コスト設定エリアでは、売買手数料と売買金利を独立して設定し、計算します。これらの設定はサマリーページから行ないます。
売買手数料は、1株当り手数料と手数料率とを独立して設定でき、それらを併用することができます。そのため、実際の取引に近いコスト設定が可能となります。

性能演算エリアでは、以上の設定に基づいて様々な性能指標の時系列計算を行ないます。また、指標演算エリアでは、性能演算の結果を統計処理するなどして、最終的な各種性能指標値を求めます。
これらの結果はサマリーページから参照され、一覧表示されます。また、主要な性能指標の時系列データは、チャート表示されます。

システムブロックは、KFシステムクリエイターの心臓部です。基本的にはこのブロックだけで、全ての設定や演算を行なうことが可能ですが、それを効率的に行なったり、演算結果の視認性を高めるために、他のブロックやマクロが存在します。

(b)サマリー

このブロックでは、①パラメータや様々なテスト条件を設定したり、②その結果としての性能指標を確認したり、③運用条件の設定やその管理を行なったりします。
システムブロックへの各種条件設定や、そこからのフィードバックの確認は、基本的にほとんど全てこのブロックから行なうことができます。



①テスト条件設定エリアでは、システムの様々な条件を設定します。ここでは、システムの起点日や終点日、パラメータやレバレッジを変更できます。また、システムの正逆を設定できます。
それらを変更する度に、リアルタイムでシステム性能が更新されます。

②性能指標エリアでは、テスト条件で設定されたシステムの性能指標を表示します。性能指標は、買い、売り、ドテンの各システム(運用)毎に表示され、システムの様々な側面の評価に役立ちます。
PFや勝率などの代表的な指標は元より、年率リターンや最大ドローダウン等、全部で100種類ほどのシステム性能を確認することができます。

③運用設定エリアでは、システムの運用条件を設定します。運用開始日や運用システム(ドテン、買い、売り)、運用形態(単利、複利、単株)、評価形態(時価、簿価)、取引単位(考慮、未考慮)などの設定ができます。
また、想定元本やレバレッジ、取引コスト(手数料、金利)の設定を行なうことができます。

運用管理エリアでは、売買判定に加え、運用後元利計や運用建玉数、などを確認可能です。日々システムを更新することで、これらの指示に従いトレードを実行することができます。
また、機能判定やシステム判定を備え、システムの信頼性を客観的に判断することが可能です。

(c)オペレーション

このブロックでは、システム開発や運用に伴う様々な操作を、自動実行することができます。各ボタンはマクロに直結し、対応する動作を実行します。
システムの基本的な操作は、このブロックだけで行なうことが可能です。



データ更新ボタンは、システムを最新の状態に更新します。このボタンを押す前には、株価データやリンク元ファイルの更新を行なっておく必要があります。
立会終了後にデータ更新を行ない、サマリーページの売買判定や運用建玉数を最新状態にすることで、翌日のトレード内容を確認することができます。

最適レバレッジ設定ボタンは、システムの最適レバレッジを、買い、売り、ドテンの各場合について算出します。その結果は、サマリーページの最適レバレッジ欄に表示されます。
システムの運用レバレッジを決定する際には、この最適レバレッジを超えないことが重要です。また、最適レバレッジの値が小さいシステムは、運用そのものを見合わせる必要があります。

最適化演算ボタンは、システムの最適化演算(最適パラメータの決定)を行ないます。最適化対象指標やテスト期間を設定し、演算方法を決定するだけで、その条件下における最高性能が得られるパラメータを一意的に求めます。

セットアップボタンは、実行中のシステムとは異なった銘柄やロジック、フィルタを適用して、システムを再設定します。
これによって、実行中のシステムを閉じて元システムを起動することなく、新たなシステムを作成することが可能となります。

ロジック・フィルタ抽出ボタンは、実行中のシステムのロジックまたはフィルタを抽出し、ロジックリストに追加します。
オリジナルロジックやフィルタを作成した場合は、この操作によってそれらを保存し、後から他のシステムでセットアップを行なうことによって、そのロジックを適用することができます。

パラメータ抽出ボタンは、システムのパラメータをパラメータファイルとして出力します。パラメータファイルからは、システム復元ボタンを押すことで、元のシステムを復元することができます。そのため、普段見ることはないが記録として残しておきたいシステムなどは、パラメータファイルのみを保存しておくことで、保存容量を大幅に削減することができます。
また、システム復元の際には最新のシステムにパラメータを戻すため、システムアップデートにも利用することができます。

サマリー保存ボタンは、システムのサマリーページのみを保存します。システムを復元する必要はないものの、結果だけは残しておきたい、といった用途に用います。
例えば、同一システムにおいて、いくつかの異なった条件の結果を残して、後でそれらを比較する場合などに役立ちます。

システム凍結ボタンは、直近を除く時系列データ(計算式)を計算結果(値)に置き換えることで、ファイル容量を削減すると共に、処理時間を高速化します。
運用開始したシステムなど、それ以上設定を変更する必要がない場合などに適用することで、日々のシステム更新が高速化されます。

システム解凍ボタンは、凍結したシステムを元の状態に戻します。解凍したシステムは、自由に設定を変更したり、最適化やセットアップなどの処理を行なうことができます。
凍結と解凍は何度でも実行可能であるため、保存容量の節約のために、パラメータファイルの代わりに用いることができます。

チャート修正ボタンは、チャートの表示期間(X軸)を任意に設定することができます。標準では自動設定となっているため、起点日から終点日までのチャートを表示しますが、これを任意の日付間の表示に一括変換します。
元に戻す時は、同じくチャート修正ボタンを押して、自動設定を選択します。

システムリセットボタンは、株式分割などで株価データに変更が生じた場合などに、システム上の株価データを変更後のデータに修正します。

(d)テーブル

このブロックは、最適化演算結果の出力に用います。テーブル1もしくはテーブル2を対象とした最適化演算を実行すると、テーブルに表示されたパラメータ走査範囲の全ての組み合わせに対して、その最適化対象指標の値を出力します。



サマリー上には、最適化演算の結果選択された最適パラメータの値が反映されますが、テーブルには全てのパラメータの組み合わせの結果が残りますので、パラメータに対する最適化対象指標の分布(パラメータ分布)を把握することができます。

パラメータ走査範囲を選択後、3Dグラフ表示をさせれば、視覚的にパラメータ分布を捉えることが可能となります。それにより、システムの堅牢性や次善パラメータの確認など、システム運用上重要な知見を得ることができるかもしれません。

(e)チャート

このブロックでは、次の11種類のチャートを表示することができます。

 ①全体チャート:累計資産(買い、売り、ドテン)、株価および売買基準の推移。


 ②直近チャート:全体チャートの直近1年間の推移。



 ③累計損益:累計損益(買い、売り、ドテン)および株価騰落の推移。



 ④累積損益率:累積損益率(買い、売り、ドテン)および株価騰落率の推移。



 ⑤トレード毎損益率:各トレード毎の損益率推移。



 ⑥トレード毎ドローダウン:各トレード毎のドローダウン(ETD、STD、STD2)の推移。



 ⑦時価累計ドローダウン:累計資産(および最大資産、最小資産)、ドローダウン額の推移。



 ⑧時価累積ドローダウン:累積損益率(および最大損益率、最小損益率)、ドローダウン率の推移。



 ⑨回帰推定値:累計損益、回帰推定値、同±2標準誤差、および資産/株価の推移。



 ⑩運用後資産:運用開始後の資産および株価騰落の推移。



 ⑪運用後ドローダウン:運用開始後の資産(および最大資産、最小資産)、ドローダウンの推移。




各チャート内では、画面上をダブルクリックすることにより、さらに次の各項目の設定変更が可能です。なお、これらの変更は、そのチャート内のみで有効であり、ページを移動するとサマリーページで設定された状態に戻ります。

 ①全体チャート、直近チャート、トレード毎損益率
  :表示期間、パラメータ、レバレッジ、取引コスト



 ②累計損益、累計損益率
  :評価基準(時価、簿価)、表示期間、パラメータ、レバレッジ、取引コスト



 ③トレード毎ドローダウン
  :システム(買い、売り、ドテン)、表示期間、パラメータ、レバレッジ、取引コスト



 ④時価累計ドローダウン、時価累積ドローダウン
  :システム、評価基準、表示期間、パラメータ、レバレッジ、取引コスト



 ⑤回帰推定値
  :システム、判定基準(単株、単利)、表示期間、運用開始日、パラメータ、レバレッジ、取引コスト



 ⑥運用後資産
  :運用基準(単株、複利、単利)、評価基準、取引単位(考慮、未考慮)、表示期間、運用開始日、パラ
   メータ、レバレッジ、取引コスト、想定元本



 ⑦運用後ドローダウン
  :運用システム(買い、売り、ドテン)、運用基準、評価基準、取引単位(考慮、未考慮)、表示期間、運
   用開始日、パラメータ、レバレッジ、取引コスト、想定元本



標準で用意されているチャートは以上ですが、システム内容はすべてオープンにされていますので、必要に応じて任意のチャートを作成し、システムに追加することができます。
なお、チャートの作成方法は、エクセルのグラフ作成・操作方法と全く同じです。
 
 
(3)ロジックの種類

KFシステムクリエイターには、2011年2月時点で、9個の基本ロジック、6個の追加ロジック、3個の合成ロジック、および2個のフィルタが標準で用意されています。
以下に、それらについて簡単にご説明いたします。なお、それぞれのロジックには、正システムと逆システムが存在します。逆システムを設定すると、順張りの場合は逆張り的な動作、逆張りの場合は順張り的な動作となります。

(a)基本ロジック



 ①回帰順張り:回帰トレンドを利用した順張りシステム
 ②回帰逆張り:回帰トレンドを利用した逆張りシステム
 ③累乗平均:累乗平均を利用した順張りシステム
 ④ブレイクアウト:ブレイクアウトを利用した順張りシステム
 ⑤RSI順張り:RSIを利用した順張りシステム
 ⑥RSI逆張り:RSIを利用した逆張りシステム
 ⑦ブレイクアウト2:寄引ブレイクアウトシステム
 ⑧理想システム:参照用(ベンチマーク)システム
 ⑨裏デイトレ改:ギャップトレードを主に利用したシステム

(b)追加ロジック



 ①追加ETD順張り:ETD順張り基準の追加システム
 ②追加損益率順張り:損益率順張り基準の追加システム
 ③追加ETD逆張り:ETD逆張り基準の追加システム
 ④追加損益率逆張り:損益率逆張り基準の追加システム
 ⑤保有日数フィルタ:保有日数フィルタを用いた追加システム
 ⑥寄引変換:寄付システムを寄引システムに変換

(c)合成ロジック



 ①合成S1S2:2システムの合成システム
 ②合成S1S2S3:3システムの合成システム
 ③合成S1bS2s:買いシステムと売りシステムの合成システム

(d)フィルタ



 ①ATR01:ATRを利用したフィルタ
 ②保有日数:保有日数に上限を設定

以上の他に、オリジナルロジックやフィルタを作成して、保存・復元することができます。作成方法は、システムシートの指定範囲に数式を記述し、動作を確認するだけです。
その後、オペレーションページからロジック抽出ボタンを押せばそのロジックが、フィルタ抽出ロジックを押せばそのフィルタが、ロジックリストに保存されます。また、保存したロジックやフィルタは、オペレーションページからセットアップを行なうことで、自由に復元することができます。
 
 
(4)システムのインプット

KFシステムクリエイターでは、さまざまな条件でシステムの評価を行なうことができます。それらのインプット(入力値)を変更すると、リアルタイムで性能指標等の値が変わります。
以下に、システムのインプット項目について、説明いたします。なお、インプット項目は、サマリーページやシステムページ、あるいはテーブルシートにおいて、ベージュやローズまたはラベンダーで塗り潰されたセルとなっています。



 ①起点日:評価開始日。通常はデータの最初の日付を設定。
 ②終点日:評価終了日。通常はデータの直近日を設定。
 ③機能判定基準(運用方法):単株資産カーブ基準か単利資産カーブ基準かを選択。
 ④機能判定基準(閾値):資産カーブの回帰直線から標準誤差の何倍以上下回ったら機能停止と判定する
   かを設定。
 ⑤1株当り手数料:売買1株当たりの手数料を設定。
 ⑥手数料率:売買金額に対する手数料率を設定。
 ⑦買い金利:信用取引における買い方金利を設定。
 ⑧売り金利:信用取引における売り方金利を設定。



 ①システム名(サブ):システム名を補完する情報を設定。
 ②テスト開始日:バックテスト開始日。通常はバックテスト後に自動設定。
 ③テスト終了日:バクテスト終了日。通常はバックテスト後に自動設定。
 ④運用開始日:通常はバックテスト終了日の翌立会日を設定。
 ⑤テスト対象:最適化対象指標のサマリーページ上のセル番地を設定。
 ⑥テーブルNo.:設定するパラメータが存在するテーブル番号を選択。"0"を選択すると手動設定欄のパラ
   メータを設定。
 ⑦パラメータ1(手動):手動設定時のパラメータ1を設定。
 ⑧パラメータ2(手動):手動設定時のパラメータ2を設定。
 ⑨評価形態:運用開始後の資産推移において時価基準とするか簿価基準とするかを選択。
 ⑩取引単位:運用開始後の資産推移において売買単位を考慮するか考慮しないかを選択。
 ⑪対元利計許容損失率:運用後元利計に対する許容損失率を設定。設定値は最大建玉数に反映。
 ⑫DD対象:運用後ドローダウンチャートに表示する運用システムを選択。
 ⑬運用システムA:運用開始後の運用システムを選択。選択内容は運用後元利計に反映。
 ⑭運用システムB:正システムか逆システムかを選択。正と逆とではシグナルが反対。
 ⑮運用形態:システムの運用形態を単株、複利、単利から選択。選択内容は運用後元利計に反映。
 ⑯レバレッジ:運用レバレッジを設定。設定値は全ての性能指標に反映。
 ⑰想定元本:運用に際しての元本を設定。設定値は運用建玉数に反映。取引単位を考慮した場合、想定
   元本によって運用結果が異なる。



 ①KFインデックス[選択]:最適化対象とするKFインデックスA、B、Cのいずれかの行番号を設定。
 ②KFインデックスA:最小平均損益率を設定。平均損益率がこの値より小さい場合、KFインデックス
   を"0"にする。
 ③KFインデックスB:最小トレード数を設定。最小トレード数がこの値より小さい場合、KFインデックス
   を"0"にする。
 ④KFインデックスC:追加ファクターの重み付けを設定。この値が"1"より大きいほど、追加ファクターの重
   みが増大。
 ⑤KFインデックス(単利)[選択]:最適化対象とするKFインデックスA(単利)、B(単利)、C(単利)のいずれか
   の行番号を設定。
 ⑥KFインデックスA(単利):最小平均損益率を設定。平均損益率がこの値より小さい場合、KFインデックス
   (単利)を"0"にする。
 ⑦KFインデックスB(単利):最小トレード数を設定。最小トレード数がこの値より小さい場合、KFインデック
   ス(単利)を"0"にする。
 ⑧KFインデックスC(単利):追加ファクターの重み付けを設定。この値が"1"より大きいほど、追加ファクター
   の重みが増大。



 ①テーブル1パラメータ1初期値:テーブル1を用いる最適化演算時のパラメータ1の初期値を設定。
 ②テーブル1パラメータ2初期値:テーブル1を用いる最適化演算時のパラメータ2の初期値を設定。
 ③テーブル1パラメータ1ステップ:テーブル1を用いる最適化演算時のパラメータ1の走査間隔を設定。
 ④テーブル1パラメータ2ステップ:テーブル1を用いる最適化演算時のパラメータ2の走査間隔を設定。
 ⑤テーブル2パラメータ1最端値:テーブル2を用いる最適化演算時のパラメータ1の初期値を設定。
 ⑥テーブル2パラメータ2最端値:テーブル2を用いる最適化演算時のパラメータ2の初期値を設定。
 ⑦テーブル2パラメータ1ステップ:テーブル2を用いる最適化演算時のパラメータ1の走査間隔を設定。
 ⑧テーブル2パラメータ2ステップ:テーブル2を用いる最適化演算時のパラメータ2の走査間隔を設定。
 ⑨表示形式パラメータ1:パラメータ1の表示形式を設定。
 ⑩表示形式パラメータ2:パラメータ2の表示形式を設定。
 ⑪ロジック名:システム名を設定(セットアップ時自動設定)。設定内容はシステム名に反映。
 ⑫元システム:システムファイルの保管先を設定。セットアップ時の参照先。
 ⑬ロジックリスト:ロジックリストの保管先を設定。セットアップ時の参照先。



 ①固定パラメータ1:ロジックの固定パラメータ1を設定(セットアップ時自動設定)。
 ②固定パラメータ2:ロジックの固定パラメータ2を設定(セットアップ時自動設定)。
 ③ロジック番号:ロジックファイル上のロジック番号を設定(セットアップ時自動設定)。
 ④ロジック名:ロジック番号に対応するロジック名を設定(セットアップ時自動設定)。
 ⑤フィルタ番号:ロジックファイル上のフィルタ番号を設定(セットアップ時自動設定)。
 ⑥フィルタ名:フィルタ番号に対応するフィルタ名を設定(セットアップ時自動設定)。



 ①系列1指標設定:Q列に関するチャート表示設定。列方向のオフセット値を設定。""は非表示。
 ②系列1系列名:系列1の凡例表示名を設定。
 ③系列1Y軸:系列1を主軸に表示する場合は"1"を、第2軸に表示する場合は"2"を設定。
 ④系列1軸書式:系列1の第2数値軸(Y)の表示形式を設定。表示形式パラメータの設定方法に準拠。
 ⑤系列2指標設定:R列に関するチャート表示設定。列方向のオフセット値を設定。""は非表示。
 ⑥系列2系列名:系列2の凡例表示名を設定。
 ⑦系列2Y軸:系列2を主軸に表示する場合は"1"を、第2軸に表示する場合は"2"を設定。
 ⑧系列2軸書式:系列2の第2数値軸(Y)の表示形式を設定。表示形式パラメータの設定方法に準拠。
 ⑨系列3指標設定:S列に関するチャート表示設定。列方向のオフセット値を設定。""は非表示。
 ⑩系列3系列名:系列3の凡例表示名を設定。
 ⑪系列3Y軸:系列3を主軸に表示する場合は"1"を、第2軸に表示する場合は"2"を設定。
 ⑫系列3軸書式:系列3の第2数値軸(Y)の表示形式を設定。表示形式パラメータの設定方法に準拠。
 ⑬系列4指標設定:T列に関するチャート表示設定。列方向のオフセット値を設定。""は非表示。
 ⑭系列4系列名:系列4の凡例表示名を設定。
 ⑮系列4Y軸:系列4を主軸に表示する場合は"1"を、第2軸に表示する場合は"2"を設定。
 ⑯系列4軸書式:系列4の第2数値軸(Y)の表示形式を設定。表示形式パラメータの設定方法に準拠。
 ⑰系列5指標設定:U列に関するチャート表示設定。列方向のオフセット値を設定。""は非表示。
 ⑱系列5系列名:系列5の凡例表示名を設定。
 ⑲系列5Y軸:系列5を主軸に表示する場合は"1"を、第2軸に表示する場合は"2"を設定。
 ⑳系列5軸書式:系列5の第2数値軸(Y)の表示形式を設定。表示形式パラメータの設定方法に準拠。



 ①ATR期間:ATRフィルタにおけるATR算出期間を設定。
 ②ATRフラグ:ATRフィルタの適用有無を設定。"0"は非適用。
 ③買い基準:買い基準価格の修正率を設定。寄値に修正率を乗じた値を加えた価格で買建てたものとし
   て評価。同価格が高値-1ティックを上回る場合は引値を適用。
 ④売り基準:売り基準価格の修正率を設定。寄値から修正率を乗じた値を引いた価格で売建てたものと
   して評価。同価格が安値+1ティックを下回る場合は引値を適用。
 ⑤LC基準:ロスカット基準を設定。ドテン時ETDが設定値を下回るとロスカット。




 ①テーブル1パラメータ1:テーブル1におけるパラメータ1を設定(最適化演算時自動設定)。
 ②テーブル1パラメータ2:テーブル1におけるパラメータ2を設定(最適化演算時自動設定)。
 ③テーブル2パラメータ1:テーブル2におけるパラメータ1を設定(最適化演算時自動設定)。
 ④テーブル2パラメータ2:テーブル2におけるパラメータ2を設定(最適化演算時自動設定)。
 
 
(5)システムのアウトプット

KFシステムクリエイターでは、サマリーページにおいて、さまざまな性能指標を確認することができます。それらは大きく、全テスト期間を通しての値と、運用開始後の値に分けられます。
また、全テスト期間の場合は、買い、売り、ドテンの各システム毎として、運用開始後の場合は、それに加えて、評価形態や運用形態毎として、出力されます。

以下に、それらの性能指標について説明いたします。

(a)全評価期間



 ①期待効率:資産推移の回帰直線の傾き。大きいほど良。
 ②標準偏差:資産推移の標準偏差。
 ③標準誤差:資産推移の標準誤差。小さいほど良。
 ④EER:365×期待効率/標準誤差。シャープレシオに相当。大きいほど良。
 ⑤標準猶予日数:2×365/EER。資産が回帰推定値-標準誤差を割り込むまでの平均日数。小さいほ
   ど良。
 ⑥統計期間:評価開始日から直近日までの評価期間数(立会日基準)。
 ⑦安定指数:統計期間/標準猶予日数。システムの安定度の目安。大きいほど良。
 ⑧RSQ:資産推移の決定係数。大きいほど良。最大値は1。EERと1対1の対応。



 ①損益累計:評価期間中の損益計。未決済トレードの評価損益含む。大きいほど良。
 ②総利益:評価期間中全トレードの利益計。未決済トレード含まず。大きいほど良。
 ③総損失:評価期間中全トレードの損失計。未決済トレード含まず。絶対値が小さいほど良。
 ④プロフィットファクター:総利益/総損失の絶対値。大きいほど良。
 ⑤トレード数:評価期間中全トレードの回数。未決済トレード含まず。多いほど良。
 ⑥勝ち数:評価期間中勝ちトレードの回数。未決済トレード含まず。多いほど良。
 ⑦負け数:評価期間中負けトレードの回数。未決済トレード含まず。損益ゼロを含む。少ないほど良。
 ⑧勝率:勝ち数/トレード数。大きいほど良。
 ⑨平均利益:総利益/勝ち数。大きいほど良。
 ⑩平均損失:総損失/負け数。絶対値が小さいほど良。
 ⑪損益レシオ:平均利益/平均損失の絶対値。大きいほど良。
 ⑫平均損益:(総利益+総損失)/トレード数。総損失はマイナス数。大きいほど良。
 ⑬投資効率:(総利益+総損失)/(総利益-総損失)。総損失はマイナス数。大きいほど良。



 ①整合率:資産推移がその回帰推定値±2×標準誤差内に位置する割合。大きいほど良。
 ②現在ポジション:直近資産がその回帰推定値から標準誤差の何倍離れているかを示す値。
 ③最小推定損益:資産推移の回帰推定値-2×標準誤差。大きいほど良。



 ①平均損益率:評価期間中全トレードの損益率の平均値。大きいほど良。
 ②損益率標準偏差:評価期間中全トレードの損益率の標準偏差。小さいほど良。
 ③最大利益率:評価期間中勝ちトレードの利益率の最大値。大きいほど良。
 ④最大損失率:評価期間中負けトレードの損失率(マイナス値)の最小値。絶対値が小さいほど良。
 ⑤平均利益率:評価期間中勝ちトレードの利益率の平均値。大きいほど良。
 ⑥利益率標準偏差:評価期間中勝ちトレードの利益率の標準偏差。小さいほど良。
 ⑦平均損失率:評価期間中負けトレードの損失率の平均値。絶対値が小さいほど良。
 ⑧損失率標準偏差:評価期間中負けトレードの損失率の標準偏差。小さいほど良。
 ⑨累計損益率:評価期間中全トレードの損益率の累計。大きいほど良。
 ⑩最大STD(注1):評価期間中全トレードのSTD(マイナス値)の最小値。絶対値が小さいほど良。
 ⑪最大ETD(注2):評価期間中全トレードのETD(マイナス値)の最小値。絶対値が小さいほど良。
 ⑫平均ETD(注2):評価期間中全トレードのETDの平均値。絶対値が小さいほど良。
 ⑬ETD標準偏差:評価期間中全トレードのETDの標準偏差。絶対値が小さいほど良。
 ⑭時価累積損益率:評価期間中における時価基準損益率の累積値。大きいほど良。
 ⑮簿価累積損益率:評価期間中における簿価基準損益率の累積値。大きいほど良。
 ⑯平均リターン:246×累計損益率/統計期間。大きいほど良。246は平均年間立会日数。
 ⑰年率リターン:時価累積損益率^(246/統計期間)-1。大きいほど良。
 ⑱CSR:年率リターン/平均リターン。大きいほど良。
 ⑲最適レバレッジ:年率リターンが最大となるレバレッジ。大きいほど良。オプティマルfに相当。

 (注1)STDは各トレードにおけるエントリー時点からの評価額減少率。
 (注2)ETDは各トレードにおける最大評価益時点からの評価額減少率。



 ①資産対株価直近値:累積損益率/評価期間中株価騰落率の直近値。大きいほど良。
 ②資産対株価平均値:累積損益率/評価期間中株価騰落率の平均値。大きいほど良。
 ③資産対株価最大値:累積損益率/評価期間中株価騰落率の最大値。大きいほど良。
 ④資産対株価最小値:累積損益率/評価期間中株価騰落率の最小値。大きいほど良。



 ①勝ちトレード総日数:勝ちトレードの総保有期間(立会日基準)。
 ②勝ちトレード平均日数:勝ちトレードの平均保有期間(立会日基準)。
 ③勝ちトレード最大日数:勝ちトレードの最大保有期間(立会日基準)。
 ④勝ちトレード最小日数:勝ちトレードの最小保有期間(立会日基準)。
 ⑤勝ちトレード標準偏差:勝ちトレードの保有期間の標準偏差(立会日基準)。
 ⑥負けトレード総日数:負けトレードの総保有期間(立会日基準)。
 ⑦負けトレード平均日数:負けトレードの平均保有期間(立会日基準)。
 ⑧負けトレード最大日数:負けトレードの最大保有期間(立会日基準)。
 ⑨負けトレード最小日数:負けトレードの最小保有期間(立会日基準)。
 ⑩負けトレード標準偏差:負けトレードの保有期間の標準偏差(立会日基準)。



 ①直近連勝数:直近の勝ちトレード連続回数。多いほど良。
 ②直近連敗数:直近の負けトレード連続回数。少ないほど良。
 ③最大連勝数:勝ちトレード連続回数の最大値。多いほど良。
 ④最大連敗数:負けトレード連続回数の最大値。少ないほど良。
 ⑤平均連勝数:勝ちトレード連続回数の平均値。多いほど良。
 ⑥平均連敗数:負けトレード連続回数の平均値。少ないほど良。



 ①時価累計直近DD量:時価累計基準における直近ドローダウンの大きさ。絶対値が小さいほど良。
 ②時価累計直近DD期間:時価累計基準における直近ドローダウンの期間。小さいほど良。
 ③時価累計最大DD量:時価累計基準における最大ドローダウンの大きさ。絶対値が小さいほど良。
 ④時価累計最大DD期間:時価累計基準における最大ドローダウンの期間。小さいほど良。
 ⑤時価累計平均DD期間:時価累計基準におけるドローダウンの平均期間。小さいほど良。
 ⑥時価累積直近DD量:時価累積基準における直近ドローダウンの大きさ。絶対値が小さいほど良。
 ⑦時価累積直近DD期間:時価累積基準における直近ドローダウンの期間。小さいほど良。
 ⑧時価累積最大DD量:時価累積基準における最大ドローダウンの大きさ。絶対値が小さいほど良。
 ⑨時価累積最大DD期間:時価累積基準における最大ドローダウンの期間。小さいほど良。
 ⑩時価累積平均DD期間:時価累積基準におけるドローダウンの平均期間。小さいほど良。
 ⑪簿価累計直近DD量:簿価累計基準における直近ドローダウンの大きさ。絶対値が小さいほど良。
 ⑫簿価累計直近DD期間:簿価累計基準における直近ドローダウンの期間。小さいほど良。
 ⑬簿価累計最大DD量:簿価累計基準における最大ドローダウンの大きさ。絶対値が小さいほど良。
 ⑭簿価累計最大DD期間:簿価累計基準における最大ドローダウンの期間。小さいほど良。
 ⑮簿価累計平均DD期間:簿価累計基準におけるドローダウンの平均期間。小さいほど良。
 ⑯簿価累積直近DD量:簿価累積基準における直近ドローダウンの大きさ。絶対値が小さいほど良。
 ⑰簿価累積直近DD期間:簿価累積基準における直近ドローダウンの期間。小さいほど良。
 ⑱簿価累積最大DD量:簿価累積基準における最大ドローダウンの大きさ。絶対値が小さいほど良。
 ⑲簿価累積最大DD期間:簿価累積基準における最大ドローダウンの期間。小さいほど良。
 ⑳簿価累積平均DD期間:簿価累積基準におけるドローダウンの平均期間。小さいほど良。



 ①単利期待効率:単利基準資産推移の回帰直線の傾き。大きいほど良。
 ②単利標準偏差:単利基準資産推移の標準偏差。
 ③単利標準誤差:単利基準資産推移の標準誤差。小さいほど良。
 ④単利EER:365×単利期待効率/単利標準誤差。シャープレシオに相当。大きいほど良。
 ⑤単利標準猶予日数:2×365/単利EER。資産が単利回帰推定値-単利標準誤差を割り込むまでの
   平均日数。小さいほど良。
 ⑥統計期間:評価開始日から直近日までの評価期間数(立会日基準)。
 ⑦単利安定指数:統計期間/単利標準猶予日数。システムの安定度の目安。大きいほど良。
 ⑧単利RSQ:単利資産推移の決定係数。大きいほど良。最大値は1。単利EERと1対1の対応。
 ⑨単利資産増減倍率:単利基準資産増減率。累計損益率+1。大きいほど良。



 ①KFインデックス[選択]:KFインデックスA~Cのいずれかの選択値。大きいほど良。
 ②KFインデックスA:KFインデックスの基本値。大きいほど良。
 ③KFインデックスB:KFインデックスAにトレード数フィルタを適用。大きいほど良。
 ④KFインデックスC:KFインデックスBに鋭敏度を加味。大きいほど良。



 ①KFインデックス(単利)[選択]:単利基準のKFインデックス。大きいほど良。
 ②KFインデックスA(単利):単利基準のKFインデックスA。大きいほど良。
 ③KFインデックスB(単利):単利基準のKFインデックスB。大きいほど良。
 ④KFインデックスC(単利):単利基準のKFインデックスC。大きいほど良。

(b)運用後評価



 ①銘柄:運用対象銘柄名。
 ②統計期間:起点日から終点日までの期間数(立会日基準)。
 ③売買判定:終点日の翌寄付きにおける売買シグナル。
 ④機能判定1:直近におけるシステム機能状態。OK、WARNING、NGの3通り。現在ポジションが機能
   判定基準(閾値)を下回るとNG。
 ⑤機能判定2:運用開始日以降で初めて機能停止となった日付。該当なしの場合は機能中と表示。
 ⑥システム判定:資産推移が回帰直線を中心とした正規分布に近いかの簡易判定。OK、WARNING、
   NGの3通り。整合率が85%を下回るとNG。
 ⑦建値:直近建玉の建値。
 ⑧現値:直近株価。
 ⑨損益率:直近建玉の損益率。大きいほど良。
 ⑩買返済予定株価:売建てにおける想定最大損失時の返済買い予定株価。低いほど良。
 ⑪売返済予定株価:買建てにおける想定最大損失時の返済売り予定株価。高いほど良。
 ⑫最大想定損益1:現値に対する想定最大損失または想定最小利益。大きいほど良。
 ⑬最大想定損益2:建値に対する想定最大損失または想定最小利益。大きいほど良。
 ⑭最大建玉数(参考):想定最大損失が対元利計許容損失以内となる最大建玉数。
 ⑮運用後元利計1:運用開始日以降の直近元利計。大きいほど良。
 ⑯運用後元利計2:想定元本に対する運用後元利計増減率。大きいほど良。
 ⑰運用建玉数:建玉代金が運用後元利計×レバレッジを上回らない最大建玉数。
 ⑱運用必要資金:運用建玉数を維持するための必要資金。



 ①システム:評価システム名。通常は自動設定。
 ②テスト対象:テスト対象性能指標の直近値。
 ③基準システムパラメータ1:追加システムにおける基準システムのパラメータ1の値。
 ④基準システムパラメータ2:追加システムにおける基準システムのパラメータ2の値。
 ⑤パラメータ1:評価システムのパラメータ1の値。
 ⑥パラメータ2:評価システムのパラメータ2の値。
 ⑦平均誤差:ロジック毎に定義。
 ⑧直近誤差:ロジック毎に定義。
 ⑨取引単位:評価対象銘柄の単元株数。株価データファイルより自動設定。
 ⑩対元利計許容損失:対元利計許容損失率×運用後元利計。
 
 
(以降順次更新)