No.23 条件表を最適化して成績を高めるには |
2018年5月に執筆 ・・ HP目次へ.. 講座目次へ. 【1】最適化するための基礎知識 【2】(10日間突破/順)トリガー条件表を最適化してみる 【3】最適化したトリガー条件表の買いマーク位置の検証をする 【4】トリガー条件表に別のチャートを追加すれば成績がよくなる 【5】条件表を分割して追加するチャートを見つける方法 【6】オートマを使って追加するチャートを決める方法 【7】オートマで全数を対象にした条件表を作る 【8】終わりに
《Qエンジン》の「最適化」と「オートマ」について説明します。株式を買うとき、投資家は明日あるいは10日後・1か月後・半年後・1年後・5年後に、株価は上昇しているだろうと思っています。買おうと思った理由・上がると思った理由は投資家によって異なります。世界の経済状態を考えずに決める人もいます。HPなどの噂の情報で決定する人もあるし、チャートで決める人もいます。 |
(図1))は(10日間の高値を上に突破したら買い)のグラフです。順張りです。 (a)の翌日始値767円で仕掛け、20日が経過した翌日始値765円で決済したので-2円のマイナス。 (b)の翌日始値794円で仕掛け、20日が経過した翌日始値758 円で決済したので-36円のマイナス。 (c)の翌日始値768円で仕掛け、20日が経過した翌日始値771 円で決済したので+3円のプラス。 (d)の翌日始値786円で仕掛け、20日が経過した翌日始値931 円で決済したので+145円のプラス。 (e)の翌日始値860円で仕掛け、20日が経過した翌日始値922 円で決済したので+62円のプラス。 この例では3勝2敗です。 (図2)は(10日間の安値を下に突破したら買い)のグラフです。逆張りです。 (a)の翌日の始値588円で仕掛け、この日から20日たった翌日始値600円で決済して+12円のプラス。 (b)の翌日始値595円で仕掛け、20日が経過した翌日始値727円で決済すると+132円のプラス。たまたま+20%の利益率にもなりました。 この例では2勝0敗です。 |
■■ (2)トリガーのヒナ形を設定する ■■ ①順張りと②逆張り の2種類のトリガーを設定しました。(逆張りのトリガーは本講座では説明しません) (図3)は、(10日間の高値を上に突破したら買い)順張りのトリガーです。
|
■■ (3)設定したトリガーの成績を知る ■■ 10日高安値突破の成績はどうなっているのでしょうか? いくら簡単なトリガーであっても、平均利益率が-0.1%だとか、勝率が45%、PFが0.95倍ではやればやるほど損失になります。そういうトリガーは役にたちません。 成績を知るには「検証」を使います。だが検証によってトレードした回数(買いマークが出た日)はパソコンの性能から約32500回しか表示できません。それを超えると検証は強制的に終了します。東証1部の1873銘柄(2017年末でデータ数が500個以上あり、ETF・REITでない銘柄)について「検証」できればよいのですが、2007年1月~2016年12月の10年間で、このトリガーが買いマークを出した回数は、なんと109014回もあります。許容の32500回の3倍以上です。1876銘柄についての「検証」は不可能です。 「検証」のよいところは、買いマークが出た銘柄のひとつひとつの内容(成績)がわかることです。 例えば(図5)の1333 マルハニチロは、1)2016年11月29日に買いマークが出た。2)翌日の始値2865円で仕掛けたところ、3)20日間が経過したので翌日の始値3165円で決済すると、4)+10.12%の利益(最終%欄)になったことがわかります。 1377 サカタの種は、1)2007年2月16日に買いマークが出た。2)翌日始値1465円で仕掛けたところ、3)10日間が経過したので翌日始値14655円で決済すると、4)-0.61%の損失(最終%欄)になったことがわかります。 個々の取引内容よりも全体の成績を知りたいのであれば、1873銘柄の10年間の全体の成績を知ることができます。これは《Qエンジン》の「最適化」の機能を使います。 (図6)は《Qエンジン》の「最適パラメータのもとめかた」の画面です。ここで設定しているのは、 1)3線(10日最大値の行)のパラメータを、 2)(10~10)に変化させるとしています。 (10日~10日)に変化させるということですから、実際には(10日最大値)だけの検証をすることになります。「最適化」では個々の内容を記憶せず、全体の成績だけを記憶するので、10000回や100000回の検証はへっちゃらです。100万回でもできるがパソコンの計算では丸め誤差が累積します。 (図7)は(10日間の高値を上に突破したら買い)の1873銘柄10年間の成績です。
「検証」では32500回の買いで打ち切られますが、32500回の検証では約22分の時間がかかりました。もし109000回の検証ができたとしたら、この3.3倍の72分を要することになります。一方「最適化」で109000回の検証をしたときは7分弱であったので、「検証」は「最適化」の10倍の時間がかかることになります。条件表を設定していく過程では「検証」を繰り返しますが、1回の検証で72分もかかってはたまりません。全体の成績を掴むだけなら「最適化」を使えばよいのです。 |
■■ (4)サンプリングした銘柄で検証する ■■ トリガーの(パラメータ)や(以上以下)の数値はどうあればよいのかを知るために、これから「最適化」をどしどしやっていきます。この時最適化するためにどのくらいの時間がかかるのかは、大きな問題になります。 例えば(図8)は「最適条件行」の画面ですが(パラメータ)を10日・20日・30日・40日の4通りに変化させ、(以上・以下)の以下欄を-15、-10、-5の3通りに変化させると、1銘柄につき(4×3=)12通りの検証をすることになります。 先ほどパラメータを10日に固定して「最適パラメータ」によって検証をしたら7分を要していました。この例では12通りの検証を行うので、だいた12倍の時間がかかります。1873銘柄・10年間では84分かかります。 最適化とは(パラメータ)や(以上・以下)の数字を少しずつ変えて、最も良い成績をだした数字を見つけることですから、パラメータを10日・20日・30日・40日の4通にしか変えないのは不足です。 少なくとも10日~300日の間で10日ずつ変化させる(この場合は30通り)とか、5日~200日の間で5日ずつ変化させる(この場合は40通り)のように、数多く変化させる必要があります。 (10日間の高値を上に突破したら買い)は5日とか9日とかが多く使われているからといって、これに従うことははありません。5日とか9日を持ちだしてくる人は、おそらく大規模な検証はしていません。最近の時期について、適当な銘柄(特に大幅上昇した銘柄を選ぶことが多い)を見て簡単に結論(それも誤っている)を出しているにすぎません。 ■■ (5)サンプリング (1873銘柄からサンプリングする) ■■ 選挙の調査や世論調査は日本の有権者のすべてを調査するわけではありません。2か月に1回くらいある世論調査はだいたい2000人くらいのサンプル抽出された有権者についてアンケートを取るようですが、これに回答する者は半分の1000人程度、有効回答数は500人くらいです。安倍内閣の支持率が40%そこそこになったといってもわずか500人~1000人の回答者の意見です。 新聞各社は同じような方法でサンプリングしていると思いますが、内閣支持率・不支持率には突拍子もない数字は出てきません。2018年3月25日の日経新聞の調査による内閣支持率は42%、サンケイの3月11日の調査による内閣支持率は45%、朝日新聞の3月18日の調査による内閣支持率は31%、毎日新聞の3月18日の調査による内閣支持率は33%、共同通信の3月12日の調査による内閣支持率は39%。です。 45%のサンケイから31%の朝日とでは14%の違いがでていますが、これは調査した時期(森友や加計学園に対する財務省の文書改ざん、自衛隊の日報棄却のウソ、財務次官のセクハラなどが起きたときに調査していれば支持率は低下するし)あるいはサンプル数の大小によっても信頼性は変わります。HPで調べたところ、サンプル数がわかったのは、朝日の1010人、日経は1015人、サンケイは不明、毎日は不明、時事通信はだいたい1300人でした。 新聞社によってアンケートの内容が異なるので、知らず知らずには回答者の意見が変わってくることもあるでしょう。しかし最低の31%(朝日)と最高の45%(サンケイ )を比べるとサンケイの支持率は朝日の1.45倍です。サンケイは安倍内閣を応援し、朝日は安倍内閣に批判的なようだから、支持率に違いに差がでたのでしょうか。 この点「検証」や「最適化」をするための銘柄のサンプリングはスッキリしています。同じ日に、同じ方法で、サンプリングするだけです。重要なことは無作為(ランダム)に銘柄を選ぶということです。 《Qエンジン》にランダムにXX銘柄を選択するという機能を追加しました。(Ver.6から)
|
■■ (6)全数(1878銘柄)とサンプリングした銘柄の成績はほぼ同じ ■■ 準備した結果ファイル 後からから思いついて、(拡張4)に(図9)の結果ファイルを登録しました。
まずNo.987(東証1部ランダム100)を使ってランダムにサンプリングした100銘柄の成績を調べてみましょう。
100銘柄の検証時間は16秒でした。通常の「検証」をすると、トレードした内容をすべて記憶するので、所要時間は1分49秒(109秒)かかりました。「最適パラメータ」で成績を調べると「検証」による時間の6~7倍も速く行えます。 重要な成績の項目は、
|
■■ (7)(10日間突破/順)を使ったサンプリング銘柄の成績は全数の成績とほぼ同じ ■■ (図10)に選択した銘柄数が異なるときの成績をまとめました。使ったトリガー条件表はNo809(10日間突破/順)です。 株価が過去10日間の最高値を上回った日(の翌日始め)に仕掛けたときの成績です。(時間切れは20日間、途中で+20%の利益が出たら利食いする) 注目することは(A)全数・(B)ランダム400銘柄・(C)ランダム100銘柄)の異なる銘柄数によって成績に大きな違いが出るのか出ないのかです。 銘柄数が少ないときはトレード数が少ないのは当たり前です。問題は①平均利益率、②勝率、③Pファクタ の数字です。①平均利益率は(A)が0.43%で最も悪く、(B)が0.60%で最もよい。勝率は(A)49.0%・(B)49.9%・(C)48.6%であまり変わりがない。Pファクタは(A)が1.12倍・(B)が1.17倍・(C)が1.14倍で、これもあまり違いがありません。 全数(1873銘柄)の成績が正しいのですが、サンプリングする意味は、検証や最適化の時間を短縮して、数多くの試行錯誤をすることです。サンプリングすると、全数を調べるのに比べて比較にならないほど能率があがります。 ①利益率、②勝率。、③Pファクタのうちで大きな違いがでる可能性があるのは①利益率と②PFです。ここで採用している売買ルールは「損切り」は採用していません。時によっては-30%とか-50%の損失が出る可能があります。大きな損失は時間切れになったトレードが多ければ、それだけ多く発生すると考えられます。期間切れになったトレードの割合(時間切れ率)を計算すると、
次に日経225銘柄とランダムにサンプリングした225銘柄の成績を対比すると、(D)日経225の(利益率)は0.20%に対し、(E)ランダム225の(利益率)は0.40%です。勝率は(D)50.1 %、(E)49.2%と差はありません。Pファクタは(D)1.06倍、(E)1.12倍と少し差がありますが、大きなものではありません。 時間切れの割合(時間切れ率)は
ある基準(この場合は日経225銘柄とかTOPIX100銘柄とか、JQだけのように制度による基準(業績や増配などを基準にしたものではない)を採用するちすると、案外に成績に差がtyつきます。(図10)の(C)ランダム100銘柄と(F)TOPIX100銘柄の成績を比べると、(利益率)は(C)が0.50%、(F)が0.13%です。(勝率)は(C)48.6%、(F)49.7%と(F)が1.1%高くなっているので勝率はも(C)(F)では差がある感じです。(Pファクタ)は(C)1.14倍、(F)1.04倍で0.1倍の違いがありますがまあ細かな違いです。 (C)と(F)の(時間切れ率)を計算すると、
|
|
(図12)のような条件表をトリガーとするならば、(A)の6行のパラメータを最適化することができます。また(B)の5行の範囲(以上・以下)を最適化することができます。 (図13)は「最適パラメータ」の指示画面です。5行のパラメータを最適化しようとしています。
|
(図14)は「最適以上以下」の指示画面です。4行の(以上・以下)を最適化しようとしています。
|
(図15)は「最適条件行」の指示画面です。パラメータと範囲(以上・以下)を同時に変化させることができます。(パラメータは4行、範囲も4行まで)
|
■■ (1) (10日間突破/順)トリガー条件表の内容 ■■ (10日間突破/順)のトリガー条件表は(図16)のような内容です。この条件表が何をしようとしているのかを説明しておきます。
|
(図16)の条件表でグラフを描かせると、右の(図17)のようになります。 (a)(b)(c)(d)の4か所で買いマークが出ています。この条件表では5日間以上デッドクロスしていること、といいう条件がついているので、(a)→(b)→(c)→(d)の間隔は5日間以上あいています。 もし(d)の条件がついていないときは、右の(図18)のような位置で買いマークがでます。 (a)は過去5日以上デッドクロスしていたものが初めてゴールデンクロスした買いマークです。翌日は株価が最大値を下回ったので、この日のクロス日数は-1です。ところが(b)で再び株価が最大値を上回り、クロス日数は+1となったので買いマークがでています。 (b)の翌日はまた株価が最大値を下回り、クロス日数は-1になります。そして(c)でまた株価が最大値を上回ったので買いマークが出ています。条件表の(d)がないときは、買いマークがこのように繰り返し出る可能性があります。 そこで株価が最大値を上抜いたとき、それまで5日以上は買いマークが出ていない(デッドクロスして5日以上が経っている)という条件をつけるなら図の(b)(c)(d)(f)では買いマーはでません。5日以上経過しているのがよいのか、10日以上経過しているのがよいのかはやってみないとわからないので、「最適化」して調べてみましょう。 次に条件表の(b)は最大値を(1日先行)するとしていますが、1日だけ先行するよりも、5日先行あるいは10日先行したほうがよい結果がでることも考えられます。 右の(図19)は最大値を10日先行させたものです。先行させる期間を長くすると、最大値の線も長く伸びます。1日先行した場合は最大値は1日しか伸びませんが、10日先行すると、最大値の線が10日先まで伸びます。 最大値の線が伸びれば、株価が最大値を上抜くことが難しくなります。右図では(a)(b)(c)(d)の4か所で買いマークが出ていますが、(a)以外はやや遅きに失しています。 (図20)は(10日最大値)のパラメータを(20日)に変えてみたものです。(a)(b)(c)(d)の4か所で買いマークが出ています。(a)(c)はよいとしても(b)(d)は当面のピークで買いマークがでています。 20日最大値)は過去20日間の最大値であるので、(10日最大値)よりも最大値は高くなるのが普通です。 (5日最大値)となると、その最大値は低くなるので、株価は最大値を上抜きやすくなりますが、果たしてよい結果がでるのかどうか。 ■■ (2) (10日間突破/順)トリガー条件を最適化してみる ■■ ランダム100銘柄について、最適化をしてみましょう。ここでは
図の「ステップ数」欄に表示されているように、1銘柄につき80回の検証をするので、100銘柄では延べ8000回の検証(そのパラメータや以上以下を採用したときの成績を調べる)をすることになります。 |
なお最適化で使う売買ルールは右の(図22)です。(最適化とは、さまざまなパラメータや以上以下を使った検証に他ならない)
|
最適化したとき、この条件表は(図23)のような成績になりました。
最適化に要した時間は6分47秒(約400秒)でした。パラメータや以上以下の変化させる個数を絞ったので、早く最適化は終わりましたが、それだけに変化させる数字の範囲が限れており、満足のいく成績ではありません。パラメータや以上以下の変化の範囲を変えると、もっとよいパラメータや以上以下の数字が見つかると思われます。 |
■■ (3) (10日間突破/順)条件表をより広い範囲で最適化してみる ■■ 右の(図24)のような変化をするように指示しました。
|
(図25)のような成績になりました。
しかも6線の-40以下の数字は変化させる(-40~-5)の最小の値です。-50とか-60になればもっとよい成績になるかも知れません 。 同じように4線のパラメータは(21日)になっていますが、これも変化させた(1~21)の最大の数字です。25日とか27日になればもっとよい成績になるかもしれません。 |
■■ (4) (10日間突破/順)条件表の変化の範囲を大胆に変えて最適化してみる ■■ 右の(図26)のような変化をするように指示しました。
|
(図27)のような成績になりました。
|
これまでに最適化した条件表の成績(図23)(図25)と比較すると、
②勝率は 49.5%→55.5%→56.7%へ ③PFは 1.18倍→1.72倍→1.79倍へ向上しています。 100銘柄を10年間検証したとき、どれほど買いマークがでるのがよいのかの確かな決め手はありません、今後このトリガー条件表に別のチャートを加えて成績を向上ようとするなら、ある程度のトレード数が必要です。(条件を加えるたびにトレード数は減るので) まあ乱暴にいえば、100銘柄で10年間なので、1000回程度あればよいのではないか。この半分の500回でもサンプル100銘柄は年間50回の売買マークをだすし、200回では年間20回のトレードができます。延べ(1000銘柄×10年)の数字の20%くらいの数字(200回)を最低限度のトレード数にしてもよいのではないか? と思っています。 |
■■ (5)トリガー条件表No.810として記憶する ■■ トリガー条件表No.809(10日間突破/順)を最適化してすると、最終的に次の(図28)のトリガー条件表になりました。これをNo.810(110日間突破/順) として保存します。 なおサンプリングした(ランダム100銘柄)と(全数1873銘柄)の成績を比較すると、右図のようになっていました。 平均損益%とPファクターはサンプリングの方が全数よりも少しよくなっています。平均利益やPファクタは成績の変化が大きくなりがちです。例えば翌日大窓を空けて寄り付いたとき、20%の利食いのつもりが+30%の利益がでることがあります。これに応じてPFの値も大きくなります。 若干の成績の差はありますが、その差は小さく、サンプリングした銘柄で条件表を作っても、全数の成績に近いものができることがわかります。 |
■■ (3)(売買時期)のグラフ画面 ■■ 売買した日をグラフで確かめることができます。
|
■■ (2) (110日間突破/順)に出来高倍率を追加してみた ■■ (図46)は、No.810(110日間突破/順)の7行目に(5日 出来高倍率)を追加したものです。 (5日)出来高倍率のチャートを追加して、パラメータ(5日)と以上以下の範囲(2以上)を変えて最適化してみましょう。 ランダム100銘柄を選択し、「最適条件行」にいき、次の行の変化の範囲を指示します。
(図48)のような成績になりました。
②勝率は56.7%→57.9%%へ、 ③PFは1.79倍→2.39倍へ向上しています。 上限(Pu)は、0.579+2.58×(√0.579×0.421/114)、下限(Pl)は、0.579-2.58×(√0.579×0.421/114)、の計算によって、(62.5%~53.3%)が信頼区間になります。最悪の場合、この条件表による勝率は53.3%です。 そこで少し勝率は劣るが、トレード数が300に近いものを探してみます。ソートをするにはメニューの「ソート」をクリック。 |
■■ (3) 3つに分割された条件表の成績を調べる ■■ No.901([局面1])の内容は次のようになっています。 No.1行~No.6行はNo.810のトリガー条件表(110日間突破/順)と同じものです。
|
No.901の[局面1]、No.902の[局面2]、No.903の[局面3]のどれが一番成績がよいのかを調べてみましょう。いくつかの条件表の検証をするには、「連続検証」が便利です。
|
■■ (4) 最も成績がよかった条件表を最適化する ■■
「最適条件行」の最適化結果は、
トリガー条件表No.810(110日突破)の成績と比較すると次の(表4)のようになっています。
■■ (5) 基準とするチャートを切り替えて別の条件表に分割する②回目 ■■ 今度は(9日線カイリ)を分割の基準にしてみます。
|
一応No.906を最適化するとして、その成績を次表に追加しました。(13日線カイリ)が(+1.4%以上で買い)が最適とされました。この検証結果は(表5)のようになっています。 |
No. | (表5) 条件表 | 件数 | 利食数 | 利食率% | 平均利益% | 勝率 | PF |
810 | 110日間突破 (トリガー) | 709 | 92 | 13.0 % | 2.38 % | 56.7 % | 1.79倍 |
903 | 110日間突破+ (21rci) | 393 | 57 | 14.5 % | 3.13 % | 61.6 % | 2.15倍 |
906 | 110日間突破+ (13KD) | 676 | 89 | 13.2 % | 2.34 % | 56.4 % | 1.77倍 |
(図55)で分割用の条件表を用意しましたが、そこには(17日順位相関)(9日線カイリ)(25日線カイリ)(50日線カイリ)(5日変動率)・・・(17日ベクトル)など12種類のチャートを役立つであるとチャートとして設定していました。 この12種類のチャートを3分割すると36本の条件表が作られます。(以上以下)欄は、(xxx以下) (xxx以上~yyy以下)(yyy以上)の3つの局面に分割されなされますが、No.810(110日間突破)のトリガーでは、(yyy以上)の局面のトレード数が多く、(xxx以下)や (xxx~yyy)の局面のトレードは極めて少なくなっています。(yyy以上)の条件表だけを最適化すればよいことがわかります。(トリガーによっては(xxx以下)が有効になることもある) そこで12種類のチャートについて、パラメータは変更せず、(以上以下)の数値だけを最適化したものが、次の(表6)です。(トレード数は300回以上のものに限った。) ■■ (6) チャートを追加したときの成績のまとめ ■■ |
No. | (表6) 条件表 | 件数 | 利食数 | 利食率% | 平均利益% | 勝率 | PF |
810 | 110日間突破 (トリガー) | 709 | 92 | 13.0 % | 2.38 % | 56.7 % | 1.79倍 |
903 | 110日間突破 (17rci) +66以上 | 440 | 63 | 14.3 % | * 3.01 % | 60.0 % | 2.10倍 |
906 | 110日間突破 (9KD) +2.3以上 | 570 | 87 | 15.3 % | 2.54 % | 56.5 % | 1.78倍 |
909 | 110日間突破 (25KD) +4.0以上 | 588 | 87 | 14.8 % | 2.65 % | 57.5 % | 1.85倍 |
912 | 110日間突破 (50KD) +4.9以上 | 633 | 89 | 14.1 % | 2.46 % | 56.6 % | 1.80倍 |
915 | 110日間突破 (5hen) +5.3以上 | 371 | 72 | 19.4 % | 2.77 % | 55.8 % | 1.72倍 |
918 | 110日間突破 (9hen) +4.8以上 | 549 | 84 | 15.3 % | 2.55 % | 56.1 % | 1.79倍 |
921 | 110日間突破 (17hen) +11.8以上 | 320 | 71 | 22.2 % | * 3.64 % | 59.7 % | 2.07倍 |
924 | 110日間突破 (1kako) +2.8以上 | 326 | 70 | 21.4 % | 2.85 % | 53.7 % | 1.77倍 |
927 | 110日間突破 (5dekiB) +2.8以上 | 491 | 75 | 15.3 % | 2.79 % | 57.6 % | 1.92倍 |
930 | 110日間突破 (5vec) +2.4以上 | 651 | 88 | 13.5 % | 2.79 % | 56.5 % | 1.80倍 |
933 | 110日間突破 (9vec) +4.9以上 | 469 | 75 | 16.0 % | 2.60 % | 55.7 % | 1.81倍 |
936 | 110日間突破 (17vec) +4.9以上 | 314 | 65 | 20.1 % | * 3.72 % | 60.2 % | 2.19倍 |
(表6)を見ると
|
11種類のチャートについて3分割して、最適化すればよいのですが、No.810(110日間突破)のトリガー条件表では、株価がある程度上昇していないと売買マークはでません。したがって(yyy以上)の最適化をいきなり行いました。 ■■ (7) トリガーを増やした後の各チャートの成績 ■■
チャートを追加することによって、成績がNo.821よりもよくなるものがほとんどですが、 ①No952(50日線カイリが10.0倍以上) ②No967(5日出来高倍率が1.1倍以上) の成績がよいようです。
①利食い率は11.3%→20.2%へ向上し ②平均利益率は1.93%→2.49%へ向上していますが、勝率とPFはほとんど向上していません。 これ以上チャートを追加することは限界だと思われます。 この結果次の(図57)のような条件表ができあがりました。 この条件表を使って全数(1873銘柄)の検証を行うと、次の(表8)のようになりました。トレード数3190回あるので、さらにチャートを追加すれば成績は向上すると思いますが、先にためした12種のチャートでは無理です。どうやって役に立つチャートを見つければよいのか? それは次章の「オートマ」で解決できます。 |
No. | (表8) 条件表 | 件数 | 利食数 | 利食率% | 平均利益% | 勝率 | PF |
810 | (初期のトリガー) | 12876 | 1457 | 11.3 % | 1.93 % | 55.1 % | 1.63倍 |
821 | トリガーに17日べクトルを追加 | 5461 | 896 | 16.3 % | 2.29 % | 55.2 % | 1.64倍 |
822 | 5日出来高倍率を追加 | 3658 | 674 | 18.4 % | 2.31 % | 54.4 % | 1.60倍 |
823 | 50日カイリ率を追加 | 3190 | 643 | 20.2 % | 2.49 % | 54.9 % | 1.63倍 |
【5】ではトリガー条件表にどのようなチャートを追加すればよいのかを「条件表の分割」という方法で行いました。この方法はやや面倒です。《Qエンジン》にはオートマという機能があって、用意したチャートの中から役立つチャートを選び、最適化してくれます。 |
■■ (5)オートマが作った条件表を検証する ■■ オートマが作ったNo.830条件表の検証をしてみます。 ランダム100銘柄を選択しておいて「新規検証」をクリック。
■■ (6)全数での検証をする ■■ ランダム100銘柄についてオートマで条件表を作ったところ、異常によい成績になっていました。①平均利益率が11.28%、勝率が75.9%、③PFが4.36倍です。このように異常な成績になったのは、トレード数が29回と少ないのが原因です。 【4】「トリガー条件表に別のチャートすれば成績がよくなる」の (1)「条件表を作ったときのトレード数に注目すること」でいったように同じ勝率が60%とはいってもトレード数が30回しかないときの60%とトレード数が500回あるときの60%ではその信頼性に大きな差があります。(図45)で「トレード数と勝率の信頼区間」の表を掲げましたが、トレード数が50回のときの勝率60%の信頼区間は(77.9%~42.1%)です。29回のトレードで勝率が75%あっても信頼できる下限は50~55%の間でしょう。 ということで、No.830(110日間突破.ランダム100銘柄)を使って全数(1873銘柄)の検証をしてみました。 |
No. | (表9) 条件表 | 件数 | 利食数 | 利食率% | 平均利益% | 勝率 | PF |
830 | ランダム100銘柄での検証 | 29 | 21 | 72.4 % | 11.28 % | 75.9 % | 4.36倍 |
830 | 全数(1873銘柄)での検証 | 643 | 211 | 32.8 % | 2.47 % | 52.1 % | 1.44倍 |
トレード数を増やすために、全数(1873銘柄)を対象にしてオートマで条件表を作ります。 |
No. | (表10) 条件表 | 件数 | 利食数 | 利食率% | 平均利益% | 勝率 | PF |
831 | オートマの23行条件表の検証 | 22 | 19 | 86.4 % | 11.15 % | 86.4 % | 13.38倍 |
832 | 15行でカットした条件表の検証 | 76 | 48 | 63.2 % | 11.54 % | 73.7 % | 6.00倍 |
833 | 13行でカットした条件表の検証 | 120 | 63 | 52.5 % | 8.15 % | 65.0 % | 3.10倍 |
834 | 12行でカットした条件表の検証 | 754 | 292 | 38.7 % | 4.26 % | 58.5 % | 1.83倍 |
成績のよい条件表を作るには、 |
HP目次へ.. 講座目次へ. |