No.25 《Qエンジン24》Ver.6の条件表の作り方


2018年9月に執筆 ・・  HP目次へ.. 講座目次へ.

    【1-1】 付属のトレード条件表の作り方
    【1-2】 トレード条件表以外の条件表が用意されている
    【1-3】 検証のしかた
    【1-4】 売買ルールについて
    【1-5】 全数トレードと選抜トレードについて

    【2-1】 トリガー条件表について
    【2-2】 トリガー条件表(買い)を作る
    【2-3】 トリガー条件表(売り)を作る
    【2-4】 売買ルールで変わるトリガーの成績
    【2-5】 トリガー条件表の成績 (トリガー条件表のまとめ)

    【3-1】 オートマで成績は格段によくなる
    【3-2】 オートマ実行例①(買い) トリガーNo.2 からトレード条件表No.102を作る
    【3-3】 オートマ実行例②(売り) トリガーNo.25 からトレード条件表No.125を作る
    【3-4】 トレード条件表の成績
    【3-5】 優良なトレード条件表を1本にまとめる
    【3-6】 1年ごとに新しいトレード条件表を作り、1本にまとめる(統合する)



【1-1】付属のトレード条件表の作り方


[ ダウンロード ]

本講座で解説している条件表は《Qエンジン24》Ver.6の「アップデート」→「拡張条件表のダウンロード」でダウンロードできます。

( 1 ) 用意されているトレード条件表

トレード用の条件表のことを「トレード条件表」と呼びます。売買マークがでて仕掛けのタイミングを教えてくれます。これに対してトリガーだけが設定されている「トリガー条件表」があります。これはトレード条件表を作るめの材料なので、トレードには使いません。


2018年7月28日に《Qエンジン24》Ver.6をリリースしました。今回のバージョンアップの内容はこれまでとはうんと違っています。Ver.5までは《Qエンジン》を使って、ユーザーが自分の希望に沿うようなトレード条件表を設定できるようにすることを目的としていました。

したがってヘルプ゚の説明も多岐にわたる複雑なものになり、ユーザーはヘルプを読むだけで疲れてしまいました。《Qエンジン》の使い方を理解するところまではいかない方が多かったように思います。

今回はユーザーに、トレード条件表を一から設定してもらうことは諦めました。どうしたかというと
  1. トレードして利益がでる完成したトレード条件表を提供する。日頃はこのトレード条件表を使って、買いがでれば買い。売りがでれば売ればよい。

  2. 明日のことがわからない相場を相手にしているのだから、負けることも多くあるが、半年くらいのトータルでは勝てるトレード条件表を提供したい。

  3. それでも時間が経過するごとに、提供したトレード条件表の成績は悪化していきます。手本にした時期の現象とは違った現象が間違いなく発生します。手本にないことが多発するようになると、提供した成績はしだいに低下していきます。

  4. このとき、ユーザーがその時期にも当てはまるようなトレード条件表ができるようにしておく必要があります。だがユーザーが自分でトレード条件表を設定するには、多大な時間が必要となるし、頭がついていかないこともあるし、根気が続かないことがあるでしょう。

  5. そこで①多くのトリガー条件表を用意し、ユーザーはこれを使って、②オートマにかけてやれば、③トレード条件表が自動的にできる。という仕組みにしました。これまでの条件表の設定のしかたは格段に容易になりました。

ということでVer.6は2つの目的を持っています。1つ目はすぐに使えるトレード条件表を提供することです。《Qエンジン》Ver.6には、完成しているトレード条件表が入っています。2つ目はトレード条件表をつくるためのパーツ(トリガー条件表や計算用条件表)を揃えておくことです。これは(拡張4)に収めています。

すぐに使えるトレード条件表についていうと、一般銘柄のトレード条件表としては、
  1. ①(20日間で20%の利益)をあげることを目的としたNo.101「BS まとめ(A) 20D20%」があります。このまとめの材料になったトリガー別の条件表が31本((拡張4)No.102~No.132まで)あります。

  2. ②(10日間で10%の利益をあげることを目的としたNo.141「BS まとめ(B) 10D10%」があります。このまとめの材料になったトリガー別の条件表が31本((拡張4)No.142~No.172まで)あります。

  3. ③日経先物用として(5日間で2%の利益)をあげることを目的にしたNo.181「日経先物・まとめ(X)」があります。このまとめの材料になったトリガー別の条件表が28本((拡張4)No.182~No.209まで)あります。

    全部で93本のトレード条件表が入っています。

  4. だが93本のトレード条件表のすべてについて、毎日検索し、売買マークがでた銘柄をチェックすることはできません。日頃は、①②③の「まとめ」の条件表を使ってトレードする銘柄を見つけてください。

( 2 ) トレードするときの取り決め

すべてのトレード条件表は、以下の3つの取り決めによってトレードしたときの成績です。

① 建玉を決済するまで次の仕掛けはしない

例えば「25日順位相関が-80以下のとき買い」という条件表でトレードしたとき、1)初めて-80以下になったので買い、2)翌日も-80以下だったので買い、3)その次も-80以下であったので買い、・・・と、買いマークが連続する場合があります。

このとき買いマークが出るたびにトレード(仕掛け)をしていては、何度買わねばならないのかの予想がつきません。買い過ぎて仕掛ける資金が無くなることがあります。こういう仕掛けはしてはならない。

仕掛は、1)同じ売買の建玉がないとき、2)初めて順位相関が-80以下になった日だけにします。異なる売買の建玉があっても仕掛けはできます。

売買ルールの(時間切れ)が20日間のときを例にすると、
  1. の買い仕掛けの時間切れは(a')なので、この間の買いの仕掛けはできない。

  2. の売り仕掛けは、(a)の買い建玉があるが、売り仕掛けとは関係がないので、売り仕掛けはできる。

  3. の買い仕掛けは、(b)の売り建玉があるが、買い仕掛けとは関係がないので、買い仕掛けはできる。

  4. の買い仕掛けはの時間切れは(d')である。(e)の買いマークは、まだ(d)の買いの建玉があるので、買い仕掛けはできない。
要するに建玉はいつでも1銘柄、1回きりで、2つ3つと建玉を増やすことはしません。これが現実的なトレードです。
    ■(建玉を決済するまで次の仕掛けはしない)を守るには、

    実は《Qエンジン24》や《カナル24》の検証では、はじめから(建玉を決済するまで次の仕掛けはしない) というルールのもとで、トレードしています。だから、特に何かの指示をする必要はありません。

    買いの建玉があるときは買いの仕掛けをしないし、売りの建玉があるときは売りの仕掛けはしません。買いの建玉があって売りマークがでたときは、売りの仕掛けをします。(買いの仕掛けと買いの建玉)と(売りの仕掛けと売りの建玉)はセットで考えます。(買いと売り)の組み合わせでは(選抜トレード)の制限はありません。

② 選抜トレードをする

「選抜トレード」とは、①同じ日に、②同じ売買マークがでた銘柄が、③複数個あったとき、どれか1つを選んで仕掛けることをいいます。

選抜仕掛けをすると、①1日に1銘柄だけ仕掛ける、したがって②1日に1トレードしかしない。ということになります。複数の銘柄からどれをえらぶのかは、一定の基準があります。(【1-5】 全数トレードと選抜トレードについて を参照)。通常は株価が最も高い1銘柄をトレードします。
右図では2018年1月18日に、3銘柄が同じ買いマークをだしています。

選抜トレードをするので、このうちから1銘柄を選んで仕掛けます。

通常は、株価が最も高い銘柄を選びます。図では

6839の終値(851円)
4820の終値(1271円)
4540の終値(3665円)

なので、4540ツムラを仕掛けます。
よく勝率が95%であると 自慢する者があるけれど、同じ日に100銘柄が買いマークを出していても100銘柄全部を買うことはできません。そのうちの1銘柄を買うのが現実的なトレードです。 売買マークが出たら全部を仕掛けるという仮定は「絵に描いた餅」です。例えば
  1. 1年間に売買マークが1000個でた。(全部仕掛けるとトレード数は1000回)

  2. ある日に大震災が発し発生し。200銘柄が一斉に買いマークを出して、全部が利益をだした。(勝数は200回)

  3. また別の日に経済政策が突然に変更され、100銘柄が一斉に買いマークを出して、全部が利益をだした。(勝数は100回)

  4. 1000回のトレードのうち、その他の日(トレード数は700回)に250回は損失がでた。700回のトレードの勝数は450回です。(=1000-100-200-250=450)

  5. このときの勝率は1000回のトレードで750回利益をだしているので75%です。
(選抜トレード)の制限がついているときの勝ち数は452回です。(震災)で1勝、(政策変更)で1勝、(その他の日)に450勝。全部で452勝です。トレード数は(震災)の1回、(政策変更)の1回、(その他の日)の700回、です。勝率は64.3%(=452÷702×100)です。「絵に描いた餅」は勝率75%であったが、現実のトレードの勝率は64%です。勝率は大きく水増しされています。
    ■(選抜トレード)の制限をつけた成績を知るには、

    1) 検証が終ったら「損益経過」にいき、
    2) 「仕掛ける銘柄数の制限」で、(銘柄数は1銘柄まで)と指示します。
    3) これで①トレード数、②累計利益、③平均利益率、④勝率などの成績は(選抜トレード)をしたときの数字になります。

③「ランダム200銘柄」を対象にして条件表を作った

    対象銘柄は取り決めではありませんが、この講座のほとんどの成績は、「ランダム200銘柄」です。「ランダム200銘柄」を使ったものです。

    「ランダム200銘柄」を対象にしてトリガーを最適化し、オートマでチャートを追加しているので、「ランダム200銘柄」を対象にして検証するときが一番よい成績になります。

    「ランダム200銘柄」の結果ファイルは《Qエンジン24》の「アップデート」からダウンロードできます。



【1-2】 トレード条件表以外の条件表が用意されている



右図はトレード条件表を作る手順です。粗っぽくいえば、4ステップがあります。
    (以下の( )内は、一般銘柄の(20日・+20%)を目的とした条件表のNo.です)

  1. トリガー条件表を考え出して設定する。(No.2~No.32)

  2. トリガー条件表を最適化する。(No.2~No.32は最適化されている)

  3. トリガー条件表をオートマにかけてトレード条件表を作る。(No.102~No.132)

  4. 何本かのトレード条件表ができたら、成績のよいもの数本を1本の条件表にまとめる。(No.101の「まとめ(A)」)

( 1 ) 用意してあるトリガー条件表


条件表を作ることは難しいことではありません。一定の手順にしたがって作業すれば、誰でも簡単に条件表を作ることができます。

ただし時間がかかります。時間に余裕のある方や熱意のあるかたは、自在に条件表を作れるようになりますが、ほとんどの方は自分で条件表を設定することは難しい。

今回の《Qエンジン24》Ver.6には、出来上がったトレード条件表(前章の条件表一覧表を参照)のほかに、右図のトリガー条件表とオートマのための計算用条件表が用意されています。これを組み合わせてオートマにかければ、割りに簡単にトレード条件表ができます。

(拡張4)条件ファイルには、
  1. (20日間で+20%の利益)を目的として最適化してある一般銘柄用のトリガー条件表が31本入っています。(No.2~No.32)

  2. また(10日間で+10%の利益)を目的として最適化してある一般銘柄用のトリガー条件表が31本入っています。(No.242~No.272)

  3. (5日間で+2%の利益)を目的として最適化してある日経先物用のトリガーが28本入っています。(No.42~No.69)
冒頭にトレード条件表の作り方の手順を掲げましたが、一番時間がかかるのが、①トリガー条件表の設定と②トリガーの最適化です。

①は成功する確率が高い条件表を作るにはどういうトリガーを使えばよいのか?を決めるためのものです。トリガーに使えそうなチャートはいくつもあります。例えば、
  1. 小波動が転換したら買い。
  2. 株価が過去N日間の高値を突破したら買い。
  3. 順位相関が0以上になったら買い(順張り)。
  4. 順位相関が-80以下になったら買い(逆張り)。
  5. 株価がN日平均線を上抜いたら買い(順張り)。
  6. 株価とN日平均線のカイリ率が-15以下になったら買い(逆張り)。
  7. 出来高倍率が5倍以上になったら買い。
などなどです。時には自分で新しいチャートを設定して使わねばならないこともあります。

③以降は何も考えることなく、自動的にトレード条件表が出来上がります。《Qエンジン》Ver.6でトリガー条件表を用意したので、ユーザーは③以降をすればよく、これは①②の作業の1/10~1/100の時間ですみます。Ver.6が画期的であるという理由のひとつです。

もし右図のような条件表がないときは、「アップデート」→「条件表をダウンロード}で、(拡張4)または(サンプル0)条件ファイルをダウンロードしてください。

( 2 ) 用意してあるオートマの計算用条件表


右図はオートマで使う計算用条件表です。これはオートマでしか使えません。
  1. 一般銘柄用の計算条件表。No.72~No.75まで4本の計算用条件表が収められていますが、よく使うのはNo.73「計算 一般銘柄Y(短期)」です。

  2. 日経先物用の計算条件表。No.82~No.85まで4本の計算用条件表が収められていますが、よく使うのはNo.85「計算 日経先物C(短期)」です。



【1-3】 検証のしかた



検証はトレード条件表を作る際に最も重要な作業です。右図はトレード条件表を作る手順です。粗っぽくいえば、4ステップがあります。
  1. トリガー条件表を考え出して設定する。→検証する

  2. トリガー条件表を最適化する。→検証する

  3. トリガー条件表をオートマにかけてトレード条件表を作る。→検証する

  4. 何本かのトレード条件表ができたら、成績のよいもの数本を1本の条件表にまとめる。→検証する
このように1ステップが終わるごとに検証をしてください。

トリガー条件表の例

次のトリガー条件表を例にして、どのような検証をするのかを説明します。設定されている内容は
  1. No.3行、株価の過去10日間の高値(ザラバ高値)を取り出し
  2. No.4行、これを1日先行させる
  3. No.5行、株価が過去10日間の高値を上回ったら買い
  4. No.6行、ただし昨日までは10日間以上、株価が高値を上回っていないこと


グラフでは右図の日に買いマークが出ます。
  1. 前日まで33日間は高値水準を下回っていたが、初めて株価(終値)が高値水準を上抜いた。

  2. 前日まで39日間は高値水準を下回っていたが、初めて株価(終値)が高値水準を上抜いた。

  3. 前日まで10日間は高値水準を下回っていたが、初めて株価(終値)が高値水準を上抜いた。

( 1 ) トリガー条件表の検証

No.302のトリガー条件表の検証をしてみましょう。


右図の「検証のしかた」の指示は、
  1. ランダム200銘柄を対象にする

  2. 2007年1月~2016年12月(10年間)を調べる

  3. 「買い」の検証をする

  4. 売買ルールは重要です。これは次章で述べます。

    ここでは(20日間で時間切れ)(+20%で利食い)を売買ルールとします。

  5. 200銘柄の検証が終りました。

    約4分かかりました。時間の長さは条件表の設定内容により違ってきます。

  6. 200銘柄全体の成績は「損益経過」でわかります。

    「損益経過の指示」の画面が現れるので、次のように指示します。

  7. (理論金額で売買する)は必須です。

    ①制限なし(全数トレード)か

    ②1銘柄まで(選抜トレード)

    のどちらかを指示します。ここでは(制限なし=全数トレード)を指示しました。

  8. 「開始」で、200銘柄全体の成績がまとめられます。


以下の数字が200銘柄全体の成績です。
  1. トレード数は、10711回

  2. 累計損益%は、3394%(約33倍)

  3. 平均利益%は、0.32%

  4. 勝率は、48.7%

  5. PFは、1.09倍(総利益額は総損失額の1.09倍ある)
重視するのは平均利益率です。トレード数が10000回以上あるので高い平均利益率は望めませんが、最低でも0.5%は欲しい。

( 2 ) 最適化したトリガー条件表の検証

No.302のトリガー条件表の成績(平均利益率)は0.32%でした。このNo.302の条件表を最適化すれば、成績は向上します。

右図の「最適条件行のもとめかた」の指示は、
  1. ランダム200銘柄を対象にする

  2. 2007年1月~2016年12月(10年間)を調べる

  3. 「買い」の最適化をする

  4. 売買ルールはここでは(20日間で時間切れ)(+20%で利食い)とします。

  5. No.6線を(-50から-5まで5ずつ)変化させる

  6. No.3線を(10から100まで10ずつ)変化させる

    (なお上図でトリガー条件表はNo.302でなくNo.303を選択しています。これはNo.302の条件表の内容を残すために、No.303に複写したものです)


  7. 200銘柄についてNo.303のトリガーの最適化が終りました。

    約25分かかりました。時間の長さは条件表の設定内容と最適化するパラメータなどの変化のしかたにより違ってきます。

    ①評価得点が最高のものは、3線のパラメータが(90日)で、6線が(-50以下)です。このときの平均利益率は2.03%です。

    ②平均利益率が高い上位5つのうちでトレード数が2245回と最も多いのは評価得点が最高のものは、3線のパラメータが(90日)で、6線が(-40以下)です。このときの平均利益率は1.96%です。

  8. ここでは(90日)(-40以下)を最適であるとして、「条件書換え」で、条件表を変更しました。


最適化した条件表No.303の成績がどのようになったかを検証します。「検証のしかた」の指示は「最適化」の指示と同じです。
  1. ランダム200銘柄を対象にする

  2. No.303「TRG最適化高安突破」を調べる

  3. 2007年1月~2016年12月(10年間)を調べる

  4. 「買い」の検証をする

  5. 売買ルールは(20日間で時間切れ)(+20%で利食い)としておく。

  6. 200銘柄の検証は、1分30秒で終りました。

  7. すぐに「損益経過」を見ます。

    「損益経過の指示」の画面が現れます。No.302の損益経過の指示と同じことを指示します。

  8. (理論金額で売買する)は必須です。

    ①制限なし(全数トレード)か

    ②1銘柄まで(選抜トレード)

    のどちらかを指示します。ここでは(制限なし=全数トレード)を指示しました。

  9. 「開始」で、200銘柄全体の成績がまとめられます。


以下の数字が200銘柄全体の成績です。( )内は最適化していないNo.302の成績)
  1. トレード数は、2245回 (10711回)

  2. 累計損益%は、4410% (3394%)

  3. 平均利益%は、1.96% (0.32%)

  4. 勝率は、54.6% (48.7%)

  5. PFは、1.66倍 (1.09倍)(総利益額は総損失額の1.09倍ある)
トレード数は10711回→2245回へ1/5になりましたが、平均利益率は0.32%→1.96%へ向上しています。なおこの例では200銘柄を対象にしたので、トレード数は2000回以上あるのが望ましい。(あまり少ないと、①成績(数字)の信頼性が薄れるし、②オートマにかけたときにトレード数が極端に少なくなります)

( 3 ) オートマにかけてできたトレード条件表の検証

No.303の最適化したトリガー条件表の成績(平均利益率)は1.96%でした。トレードを1回すれば平均して1.96%の利益がでるのであるから、人によってはこれで満足されるかも知れません。

だがこの条件表はトリガーだけで売買マークを出しています。トリガーが売買マークを出した時の局面(チャート上の相場環境)は少しも見ていません。オートマにかけると、成功の確率が高い局面を絞って、より高い成績をだす条件表を作ってくれます。条件表の内容は(トリガー+局面の制限)になります。


右図の「オートマの指示」画面で指示したことは、
  1. ランダム200銘柄を対象にする

  2. 2007年1月~2016年12月(10年間)を調べる

  3. 「買い」の条件表を作る

  4. 注目点は(20日間のうちに)(+20%の上昇)をしたものとする。(売買ルールと同じ内容)

  5. No.303「最適化高安突破」にNo.73の計算用条件表を追加してみて、最も成績がよくなるチャートをみつけて、No.304にトレード条件表を生成(作る)する。

  6. 最低でも50回のトレードができること。
以上のことを指示して「新規実行」をすると、この後は何もすることなくトレード条件表が出来上がります。


オートマはトレード条件表をNo.304に作りました。12分ほどかかりました。

この条件表は実際のトレードに使うことができるので、「トレード条件表」と呼びます)

No.304のタイトルは「B34j4303c401k4073・・・・」のようになっています。これは条件表の材料や作ったときの条件を表示していますが、アルファベットと数字だけでは後で何の条件表であったのかわからなくなります。

そこで「確認」をクリックして条件表の内容を表示させ、タイトルを変更してください。

(例では「オートマ高安突破」としました)


オートマが作った条件表No.304の成績がどのようになったかを検証します。「検証のしかた」の指示は「最適化」の指示と同じです。
  1. ランダム200銘柄を対象にする

  2. No.304「オートマ高安突破」を調べる

  3. 2007年1月~2016年12月(10年間)を調べる

  4. 「買い」の検証をする

  5. 売買ルールは(20日間で時間切れ)(+20%で利食い)としておく。

  6. 200銘柄の検証は、1分30秒で終りました。

  7. すぐに「損益経過」を見ます。

    「損益経過の指示」の画面が現れます。No.302やNo.303の損益経過の指示と同じことを指示します。

  8. (理論金額で売買する)は必須です。

    ①制限なし(全数トレード)または

    ②1銘柄まで(選抜トレード)

    のどちらかを指示します。ここでは(制限なし=全数トレード)を指示しました。

  9. 「開始」で、200銘柄全体の成績がまとめられます。


以下の数字が200銘柄全体の成績です。( )内は最適化したNo.303「最適化高安突破」(トリガー条件表)の成績。
  1. トレード数は、113回 (2245回)

  2. 累計損益%は、881.2% (4410%)

  3. 平均利益%は、7.80% (1.96%)

  4. 勝率は、66.4% (54.6%)

  5. PFは、3.53倍 (1.66倍)(総利益額は総損失額の1.09倍ある)
トレード数は2245回→113回へ1/20になりました。しかし平均利益率は1.96%→7.80%へ向上しています。トレードを1回すれば平均して7.8%の利益がでるというのは驚異的な成績です。

200銘柄を対象として、(2)でトリガーの最適化をしましたが、トレード数は2000回以上あるのが望ましい。といいました。オートマが作った条件表のトレード数は20000回の1/20になっています。トレード数が100回あればだいたいその成績は信頼できます。そのためには最適化したトレード条件表のトレード数が2000回は必要であったのです。

なお最終的なトレード条件表は数本(5~10本)をまとめて1本の条件表にしますから、最適化したトリガー条件表のトレード数は2000回より少ない1000回でもよいと思われます。

[ この章のまとめ ]
トレード条件表を作るための4つのステップのうちの3ステップ(①トリガー条件表、②最適化トリガー条件表、③オートマによるトレード条件表)の手順と「検証」について解説しました。④トレード条件表をまとめる については他のトリガー条件表を用意していなので今はできませんが、すべては「検証」に基づいて次のステップに移ることができるということは理解しておいてください。



【1-4】 売買ルールについて


売買ルールは2つの役割を持っています。
  1. 実際のトレードをするときの指針
  2. 条件表(トリガー条件表やトレード条件表)を作るときの目的
です。

( 1 ) トレードの指針としての売買ルールについて


(拡張4)No.103「平均線クロス」はすでに完成しているトレード条件表です。

右図下部のような条件行が設定されています。
  1. この条件表を使ってトレードするときは、この条件表が決めている売買ルールに従わねばなりません。

  2. 売買ルールは条件表ごとに決められています。

    (同じ売買ルールにしておいたほうが迷わなくてすむし、なにかと便利なので、異なる条件表であっても同じ売買ルールを採用することが多い)

  3. 採用している売買ルールを確認するには「売買ルールを見る」ボタンをクリックします。

  4. 条件表No.103が決めている売買ルールが表示されます。
この内容は
  1. 買いマークがでたら、(翌日の始値)で仕掛ける。

  2. 仕掛て(20日)が経過したら(翌日の始値=仕掛て21日目の始値)で決済する。

  3. 建玉している20日間のうちに、(ザラバ)で(+20%)の利益がでたら利食いする。(予め指値の注文を出しておく)

  4. 損切りはしない。
としています。トレードはこの売買ルールに従って行います。また検証はこの売買ルールに従って成績を出します。

売買ルールが違えば、その成績は変わります。元は(時間切れは20日間で、利食いは+20%)というルールですが、 (時間切れは10日間で、利食いは+10%)と(時間切れは30日間で、利食いは+25%)にしたときの成績を出してみます。( 対象銘柄はランダム200銘柄、対象期間は2007年1月~2016年12月の10年間です。)

① (時間切れは20日間で、利食いは+20%) の選抜トレードの成績


② (時間切れは10日間で、利食いは+10%) の選抜トレードの成績


③ (時間切れは30日間で、利食いは+25%) の選抜トレードの成績



上の3例の成績は「選抜トレード」によるものです。選抜トレードとは同じ日に異なる銘柄が買いマークを出していういるときは、1銘柄に絞って仕掛けるというものです。(次章を参照)

同じ条件表を使っても、売買ルールが違えば成績はうんと異なります。売買ルールによる違い・特徴を掲げると、
  1. (時間切れは20日間で、利食いは+20%)の ②累計損益%は519.3%(最高)、③平均利益率は5.71%(最高)、④勝率は62.6%(2位)、⑤PFは2.38倍(最高)

  2. (時間切れは10日間で、利食いは+10%)の ②累計損益%は276.5%(最低)、③平均利益率は3.04%(最低)、④勝率は68.1%(最高)、⑤PFは1.91倍(2位)

  3. (時間切れは30日間で、利食いは+25%)の ②累計損益%は449.0%(2位)、③平均利益率は4.93%(2位)、④勝率は54.9%(最低)、⑤PFは1.73倍(最低)
です。もともとNo.103条件表は(20日間で+20%)を目的にして作っているので、成績項目の数字が最高になっているものがほとんどです。

( 2 ) 条件表を作るときの目的としての売買ルールについて

前章 【1-3】 検証のしかた の(2)でトリガー条件表No.303「TRG 高安突破」を最適化しました。このときは(20日間で時間切れ)(+20%で利食い)という売買ルールを採用していました。

最適化された条件表は、次のようなものでした。
(No.3線は(90日)または(100日)がよく、No.5線は(-40日以下)または(-50日以下)がよい。


では(時間切れ10日)(利食い+10%)を目的とするように最適化するとどういうことになるのでしょうか?


①売買ルールを変更したトリガー条件表の最適化をする

トリガー条件表No.303の条件表の内容を残すために、これをNo.305に複写しておき、No.305についてトリガー条件表を最適化します。

「最適条件行のもとめかた」の指示は、
  1. ランダム200銘柄を対象にする

  2. 2007年1月~2016年12月(10年間)を調べる

  3. 「買い」の最適化をする

  4. No.6線を(-50から-5まで5ずつ)変化させる

  5. No.3線を(10から100まで10ずつ)変化させる

  6. 売買ルールは次図のように(10日間で時間切れ)(+10%で利食い)に変更します。

  7. 時間切れを(10日)に変更する

  8. 利食いを(+10%)に変更する。

    これによって、No.305の条件表は(10日間で時間切れ)(+10%で利食い)という売買ルールのもとで、最もよい成績を出すことを目的にして最適化が行われます。

  9. 200銘柄についてNo.305のトリガーの最適化が終りました。

    ①評価得点が最高のものは、3線のパラメータが(90日)で、6線が(-50以下)です。このときの平均利益率は0.86%です。

    ②平均利益率が高い上位3つのうちでトレード数が2747回と最も多いのは、3線のパラメータが(100日)で、6線が(-20以下)です。このときの平均利益率は0.85%です。

  10. ここでは(100日)(-20日以下)を最適であるとして、「条件書換え」で、条件表を変更しました。


②売買ルールを変更してオートマにかける

No.305で最適化トリガー条件表ができたので、次はこのトリガー条件表をオートマにかけて、実際のトレードをするためのトレード条件表を作ります。

右図の「オートマの指示」画面で指示したことは、
  1. ランダム200銘柄を対象にする

  2. 2007年1月~2016年12月(10年間)を調べる

  3. 「買い」の条件表を作る

  4. 注目点は(10日間のうちに)(+10%の上昇)をしたものとする。(売買ルールと同じ内容)

  5. No.305「最適化高②安突破」にNo.73の計算用条件表を追加してみて、最も成績がよくなるチャートをみつけて、No.306にトレード条件表を生成(作る)する。

  6. 最低でも50回のトレードができること。
オートマは売買ルールを使いませんが、「注目点の条件」で注目点(売買マークを出したい日)を(10日間)に(+10%以上)とします。これが売買ルールの(時間切れ10日間・利食い+10%)に当たります。 以上のことを指示して「新規実行」をすると、この後は何もすることなくトレード条件表が出来上がります。

オートマはトレード条件表をNo.306に作りました。12分ほどかかりました。

この条件表は実際のトレードに使うことができるので、「トレード条件表」と呼びます。 (No.306のタイトルは「アルファベットと数字だけなので、「オートマ②高安突破」に変更しました)


オートマが作った条件表No.306の成績がどのようになったかを検証します。
  1. ランダム200銘柄を対象にする

  2. No.306「オートマ②高安突破」を調べる

  3. 2007年1月~2016年12月(10年間)を調べる

  4. 「買い」の検証をする

  5. 売買ルールは(10日間で時間切れ)(+10%で利食い)とする。

    (売買ルールを変更することに注意)

  6. 200銘柄の検証は、1分20秒で終りました。

  7. すぐに「損益経過」を見ます。

    「損益経過の指示」の画面が現れます。次のことを指示します。

  8. (理論金額で売買する)は必須です。

    ①制限なし(全数トレード)または
    ②1銘柄まで(選抜トレード)
    のどちらかを指示します。本章では選抜トレードの成績を見ているので(1銘柄まで=選抜トレード)を指示しました。

    選抜の基準は「株価が高いもの」としました。

  9. 「開始」で、200銘柄全体の成績がまとめられます。


以下の数字が200銘柄全体の成績です。( )内は(時間切れ20 日・利食い+20%)の売買ルールで最適化したNo.304「オートマ高安突破」の成績。
  1. トレード数は、109回 (113回)

  2. 累計損益%は、448.0% (881.2%)

  3. 平均利益%は、4.11% (7.80%)

  4. 勝率は、 65.1% (66.4%)

  5. PFは、 2.67倍 (3.53倍)
(時間切れ10日・利食い+10%)を目的にして作ったトレード条件表No306の成績は、(時間切れ20日・利食い+20%)を目的にして作ったトレード条件表No.304の成績の成績に比べて劣ります。

「高安突破」をトリガーにした条件表は、(時間切れ10日・利食い+10%)の売買ルールでトレードしてはいけないのです。これを証明するために、
  1. No.306の条件表の内容はそのままにして、
  2. 売買ルールを(時間切れ20日・利食い+20%)でトレードする
としたときの成績は次図のようになりました。

( )内は(時間切れ10日・利食い+10%)の売買ルールでトレードしたときの成績。
  1. トレード数は、109回 (109回)

  2. 累計損益%は、817.6% (448.0%)

  3. 平均利益%は、7.50%(4.11%)

  4. 勝率は、 64.2% (65.1%)

  5. PFは、 3.22倍 (2.67倍)

No.306「オートマ②高安突破」は(時間切れ10日・利食い+10%)を目的にして作った条件表ですが、実際のトレードでは(時間切れ20日・利食い+20%)の売買ルールを採用したほうが格段に成績が上がっています。その成績は(時間切れ20日・利食い+20%)を目的として作ったNo.304「オートマ高安突破」よりわずかに成績が悪いだけです。 このことから、トレードの成績は、条件表の内容よりも、売買ルールに依存する ということがわかります。

[ この章でわかったこと ]

この章では重大なことがわかりました。条件表を設定するための売買ルールよりも、実行時の売買ルールのほうが重要である、ということです。

つまりいくら(10日間で+10%の利食い)をすることを望んで条件表を設定しても、(10日間で+10%の利食い)の売買ルールでは、成績はよくならない。相場のスケール(時間と上昇率)に合った売買ルールに従ってトレードするほうが、よい成績が出るわけです。



【1-5】 全数トレードと選抜トレードについて



No.11「TRG 順位相関」はトリガーだけの条件表です。条件表は次のものが設定されています。
  1. 行目で(7日順位相関)を計算する。
  2. 行目で、順位相関が-20の水準を取り出す(-20を記憶する)
  3. 行で、順位相関の値(-100~+100までの数字)が-20以上になったら買い。
  4. ただし前日までは14日間-20以下であったこと。


この条件表によるトレードの成績を調べてみます。

  1. ランダム200銘柄を対象にする

  2. 2007年1月~2016年12月(10年間)を調べる

  3. 「買い」の検証をする

  4. 売買ルールは
    (20日間で時間切れ)
    (+20%で利食い)
    とする。


検証リストが表示されます。

最後の行は2012行となっています。全数トレードはこの2012回のトレードをしたときの成績です。

全体の成績を知りたいときは「損益経過」をクリックします。

その前に、売買マークがどのような日にでているのかを見てみましょう。「売買時期」をクリック。

グラフ下部の棒グラフは、その日に出た売買マークの個数です。ある銘柄は1日に2個以上の売買マークを出すことはありません。売買マークの個数が3つ出ているとは、同じ日に異なる3銘柄が売買マークをだしているということです。

青色□で囲っている日を例にすれば、1日目は2銘柄、2日目は3銘柄、3日目は7銘柄、4日目は2銘柄、5日目も2銘柄 が売買マークを出しています。この5日間で16銘柄が売買マークを出しているわけです。

全数トレードは売買マークがでたすべての銘柄を仕掛けるので、この間のトレード数は16回になります。

選抜トレードは2個以上の銘柄が売買マークを出しているときは、どれか1銘柄だけを仕掛けます。この5日間のトレード数は5回です。

( 1 ) 全数トレード

検証リストの画面の「損益経過」ボタンをクリックします。

「損益経過の指示」の画面が現れます。次のようなことを指示します。
  1. (理論金額で売買する)は必須です。

  2. 「仕掛ける銘柄数の制限」は

    ①制限なし(全数トレード)か
    ②1銘柄まで(選抜トレード)

    のどちらかを指示します。ここでは(制限なし=全数トレード)を指示します。

  3. 「開始」で、200銘柄全体の成績がまとめられます。


全数トレードの成績は
  1. トレード数は、2012回

  2. 累計損益%は、1431.3%

  3. 平均利益%は、0.71%

  4. 勝率  は、52.2%

  5. PF  は、1.18倍
です。

( 2 ) 選抜トレード

同じ日に異なる銘柄が同じ売買マークを出していたときは、そのうちのどれか1銘柄を選んで仕掛けるのが「選抜トレード」です。

検証リストの画面のメニュー「ソート」をクリックし→「仕掛け年月日」を選択します。

検証リストは、仕掛けた年月日の順に並べ替えられます。

2016年8月29日は3銘柄(9312ケイヒン・3883サイバー・5975東プレ)が買いマークを出しています。

2016年8月26日も3銘柄(9070トナミ・8217オークワ・8020兼松)が買いマークを出しています。

2016年8月12日には6銘柄が買いマークを出しています。

選抜トレードではこれら同じ日に買いマークを出したどれか1銘柄を選んで仕掛けます。

「損益経過」ボタンをクリック。

「損益経過の指示」の画面が現れます。次のようなことを指示します。
  1. (理論金額で売買する)は必須です。

  2. 「仕掛ける銘柄数の制限」は

    ①制限なし(全数トレード)か
    ②1銘柄まで(選抜トレード)

    のどちらかを指示します。ここでは(1銘柄=選抜トレード)を指示します。

  3. 「開始」で、200銘柄全体の成績がまとめられます。


選抜トレードの成績は
  1. トレード数は、762回

  2. 累計損益%は、-235.5%

  3. 平均利益%は、-0.31%

  4. 勝率  は、48.3%

  5. PF  は、0.93倍
です。 全数トレードではなんとか平均利益が0.71%とプラスで、勝率は52.2%ありましたが、実際のトレードに近い選抜トレードでは平均利益%は-0.31%、勝率は46.3%とよくありません。

このことはNo.11「順位相関/順」はトリガー条件表として失格であるということを表明しています。

複数の銘柄の中からどういう銘柄を選ぶかの基準を今は「株価が高いもの」としましたが、
  1. 株価が最も高い(安い)銘柄

  2. 出来高が最も多い(少ない)銘柄

  3. 前日比%が最も大きい(小さい)銘柄

  4. 計算した条件表の行の数値の大小

    などを指定できます。


①全数トレードの成績、
②選抜トレード(株価が高い銘柄)、
②選抜トレード(前日比が最も大きい銘柄)

の3通りを指定したときの成績を掲げます。

①全数トレードのとき


②(株価が最も高い)銘柄を選んだとき


③(株価が最も安い)銘柄を選んだとき


④(出来高が最も多い)銘柄を選んだとき


⑤(前日比が最も大きい)銘柄を選んだとき




【2-1】 トリガー条件表について



右図はトレード条件表を作る手順です。4ステップがあります。《Qエンジン24》Ver.6には右のステップを辿ることなく、すぐにトレードができるように、図の①②③④の条件表がすでに用意されています。したがって、
  1. ④の「まとめたトレード条件表」を使えばすぐにトレードができます。条件表は(拡張4)の
    1. No.101「まとめ(A)」(20日間+20%)を目的としたもの
    2. No.141「まとめ(B)」(10日間+10%)を目的としたもの
    3. No.181「まとめ(X)」 日経先物用。(5日間+2%)を目的としたもの
    の3本が用意されています。

    しかしトレード条件表は次第に成績が低下していきます。今後5年間これまでの成績を維持できることはまずありません。条件表を作ったときの手本は2007年~2016年の10年間ですが、今後はこの手本になかった事象が発生してきます。手本にない(統計にない)ことが起きれば成績が落ちるのは当然です。ではそのときはどうすればよいのか?


  2. 最も簡単で効果があるのは、オートマで、③のトレード条件表を作らせることです。オートマはほとんど人の手を必要としません。新しく手本になった事象を取り込んで、最適なトレード条件表を作ってくれます。

    オートマで使うトリガー条件表は、②の最適化トリガー条件表を使います。最適化されたトリガー条件表は(拡張4)の

    1. No.2~No.32(20日間+20%)を目的としたトリガーが31本(右図)

    2. No.242~No.272(10日間+10%)を目的としたトリガーが31本

    3. No.42~No.69 (5日間+2%)を目的とした日経先物用のトリガーが28本

    の合計90本が用意されています。これを使えばユーザーはトリガー条件表を設定する必要はありません。トリガー条件表を選び、トレード条件表を記憶させる条件表No.を指定すれば、自動的にトレード条件表が出来上がります。

    オートマが1本のトレード条件表を作るために要する時間は 10分~20分ほどです。31本のトリガー条件表をオートマにかけたとき仮に1本が15分を要したとすれば、465分(約8時間)で31本の新しいトレード条件表ができるわけです。

  3. 用意しているトリガー条件表以外のトリガー条件表を作れば、もっとよいトレード条件表ができる可能性があります。そのときは図の①トリガー条件表を考え出し、②これを最適化する、という作業をせねばなりません。

以上の①~④のステップを踏んでトレード条件表を作ることに大いにチャレンジして欲しいのですが、①②の作業は大変に時間がかかります。1つのトリガー条件表を 1)考え出し、2)最適化をしてみて、3)役立つかの検証をすることは試行錯誤の連続です。何時間でできるというものではありません。1つのトリガー条件表を決めるまでには1日・2日かかることも稀ではありません。

トレード条件表を作るには、以下のステップを踏みます。この解説は完成したトレード条件表(No.101、No.141、No.181 )を作った過程を例題にしています。だが全部を読む必要はありません。面倒な作業をしたくない方や、解説を読むことを厭う方は、トリガーについて解説している(【2-1】~【2-4】)章は読まなくてもかまいません。【2-5】「トリガー条件表の成績」から、【3-1】から始まる「オートマ」の章を読んでください。


条件表を設定したときの手順と前提条件を掲げます。
  1. ランダム200銘柄を対象にして、(ランダム200銘柄の結果ファイルはメニューの「アップデート」→「結果ファイルのダウンロード」でダウンロードできます)

  2. 2007年1月~2016年12月の10年間を手本にして、

  3. 売買ルールを(時間切れが20日間)(利食いは+20%)とした条件表を作る。
またこの講座で採用している売買ルールは、
  1. 買いマークが出たら、翌日の始値で仕掛ける
  2. 仕掛て20日が経過したら、翌日の始値で決済する(時間切れ)
  3. 途中ザラバで+20%の利益が出たら決済する(利食い)
という簡単なルールです。(この講座に限らず、だいたいにおいて、この売買ルールはよいルールです)

( 1 )トリガーとは?

株式を買うとき、投資家は明日あるいは10日後・1か月後・半年後・1年後・5年後に、株価は上昇しているだろうと思っています。買おうと思った理由・上がると思った理由は投資家によって異なります。世界の経済状態を考えずに決める人もいます。HPなどの噂の情報で決定する人もあるし、チャートで決める人もいます。

私は株式投資のウェートは、①チャートが60%、②経済を含めた情報(金融政策・為替・景気・企業業績・新製品などの情報)が30%、③世界の政治状況が5%、④残り5%は天災などの突発的な原因によるもので予想不能。くらいかなと思っています。チャートには②③をリサーチした投資家が現に株式を売買しているので、予想は正しいとは限らないが、現時点で投資家が思っていることが表現されているはずです。チャートのウエートは高くて当然です。

だからよいチャートの見方を身につけるならば、60%程度の勝率はあります。チャートの見方を身につけなくても、よい条件表を持っているなら同じように60%の勝率が得られます。(この際の勝率とは、投資家によって①保有する期間や、②利食いの大小が異なるので、X日後に評価益が少しでも出たなら、「勝ち」としたものです。自分が20%の利益を上げたいと思っているときに20%の利益がでる確率ではありません。

どうすれば勝率を60%にすることができるのかです。私が思っていることは、

    (右図はNo.6のトリガーだけで出した買いマーク)

  1. 簡単なチャートを中心に据える。この簡単なチャートを「トリガー」と呼びます。トリガーは何であってもかまいません。

    例えば、①株価が最近10日間の高値を上回ったとき、②ボリンジャーの+2σの線を上回ったとき、③9日順位相関が20以上になったとき、④長短2本の平均線がクロスしたとき、などいくつか考えられます。

    多くはこのトリガーだけで仕掛けるなら、その勝率は50%前後でしょう。(まれには55%の勝率を出すものもあります)

  2. このトリガーに別のチャートを追加して、より勝率を高める(オートマがこれを行う) というのが理論的な道筋です。

    (右図はNo.6のトリガーにオートマが他のチャートを追加して、買いマークを制限したNo.106のグラフ。買いマークは消えている)

    勝率を高くするには、①キツイ売買条件をつけて売買マークを絞るか、②わずかの利益で利食いする、のどちらかです。

    しかし①の場合は投資機会はドンドン減り、1年に1回の機会しかなかったということになりかねません。また②の場合はわずかの利益ですぐに利食いするので、累計利益がナカナカ積み上がりません。

  3. ①の勝率と②の利益額との兼ね合いですが、200銘柄の10年間のデータを手本にしているので、1銘柄が年に1回買いマークをだすようなトリガーを考えるなら、トリガー条件表は2000個(= 200銘柄×10年)の買いマークをださねばなりません。

    次にオートマはトリガー条件表に成功の確率が高くなるように買いマークを制限するチャートを付け加えますが、あまり制限する(絞る)とトレード数が少なくなります。最終的に出来上がるトレード条件表は100個程度買いマークを出さねば実用になりません。

( 2 )買いのトリガー・売りのトリガー

トリガー条件表は
    ①買いマークを出す買いのトリガー と
    ②売りマークを出す売りのトリガー 
    の2通りがあります。
(拡張4)のNo.6「TRG 平均SLクロス/順 (B)」はタイトルの最後に「(B)」とあるように買いのトリガー条件表です。(SLクロスは、(S)短期線と(L)長期線のクロスを意味します)この条件表は次のものが設定されています。



上図では、
  1. No.3行のパラメータが(8日)

  2. No.4行のパラメータが(9日)となり

  3. No.5行の以上以下が(1以上 1以下)

  4. No.6行の以上以下が(-16以下)
になっていますから、4つの数字を変えて、最適なトリガー条件表にすることができます。

「最適な」とは、①一定のトレード数があり、②平均利益率が高いものを指します。
(拡張4)のNo.24「TRG 平均SLクロス/順 (S)」はタイトルの最後に「(S)」とあるように売りのトリガー条件表です。この条件表は次のものが設定されています。



上図では、
  1. No.3行のパラメータが(3日)

  2. No.4行のパラメータが(23日)となり

  3. No.5行の以上以下が(-1以上 -1以下)

  4. No.6行の以上以下が(19以上)
になっていますから、「最適条件行」の機能を使って、 4つの数字を変えて検証をさせれば、最適なトリガー条件表にすることができます。

( 3 )順張りのトリガー・逆張りのトリガー

トリガー条件表は、そのマークの出し方から、
    ①順張りでマークを出す順張りのトリガー と
    ②逆張りでマークを出す逆張りのトリガー 
    に分類できます。
通常多くのチャートは、順張りでも逆張りでも支えます。順張りとは買いの場合は株価が上昇したら買い、売りの場合は株価が下落したら売りとするものです。株価の動きの方向に従って売買マークをだします。

逆張りとは、株価の動きの方向に逆らって売買マークを出します。買いの場合は株価が下落したら買い、売りの場合は株価が上昇したら売りとするものです。

(拡張4)のNo.7「TRG 平均SLクロス/逆 (B)」はタイトルに(逆)とあるように逆張りのトリガー条件表です。これはNo.6の順張りのトリガー条件表を逆張りに変えたものです。この条件表は次のものが設定されています。



上図では、
  1. No.3行のパラメータが(6日)

  2. No.4行のパラメータが(7日)となり

  3. No.5行の以上以下が(-1以上 -1以下)順張りの条件表No.6は(1以上 1以下)br>
  4. No.6行の以上以下が(10以上)順張りの条件表No.6は(-15以下)
になっています。順張りはSL2線がゴールデンクロスしたときに買いであるのに、逆張りではデッドクロスしたときに買いとなっています。この4つの数字を最適なものにすれば、逆張りであっても良いトリガー条件表になる可能性がありますが、多くの逆張りはあまりよい成績をだしません。



【2-2】 トリガー条件表(買い)を作る


( 1 ) 元のトリガー条件表(買い)

(拡張4)No.2の「TRG 陰陽/順 (B)」は、買いのトリガー条件表です。これを思いついたときは、次のような設定をしていました。


12行を設定していますが、内容は簡単です。
  1. No2.行~No.7行で当日の株価の値幅(ザラバ高値-ザラバ安値)が当日の終値の何%の値幅であったのかを計算します。その値幅率が1%以上なら買い。
  2. No.8行目で、過去30日間の最小値は何日目であるかを計算します。最小値から1日目(最小値の翌日)であれば買い。
  3. No.9は当日が陽線であれば買い。
  4. No.11は1日前が陰線であれば買い。
  5. No.12は2日前が陽線であれば買い。
  6. No.13は3日前が陽線であれば買い。

言葉で表せば、
  1. 3日間陰線(図のc→b)が続いた後、

  2. 当日(a)が陽線で、

  3. その日の値幅が1%以上あって、

  4. 昨日(b)は過去30日間の最小値であった
ときに買いマークを出す条件表です。

この思いついたときのNo.2「陰陽/順 (B)」の成績はどうなっているのでしょうか? 検証してみます。

  1. ランダム200銘柄を選択して、「新規検証」にいき、条件表No.2を選択し、

  2. 検証期間(2007年1月~2016年12月)を決め、

  3. 「売買共」を指定する。

    (条件表が買いの条件ばかりなので、売買共のときは買いの条件の検証をすることになる)、

  4. 「売買ルール」を設定します。


  1. 20日間で20%の利益を出すことを目的としているので、売買ルールは右図のようにします。

    1. 買いマークがでたら、翌日の始値で買う

    2. 20日間が経過したら翌日の始値で決済する(時間切れ)

    3. 20日間のうちで利利益が+20%になったら利食いする(利食い)

  2. 「実行」で検証が開始します。


検証リストが表示されたら、「損益経過」をクリック。

「損益経過の指示」の画面が現われるので、次図のような指示をします。

最適化をしていないNo.2のトリガーでは、
  1. トレード数は2000回以上(全数トレード)、

  2. 平均利益率は0.5%以上

  3. 勝率は50以上であればよい。

これが合格の条件です。
次図は最適化する前のNo.2「陰陽/順 (B)」の成績です。
  1. トレード数は2400回(全数トレード。2000回以上あるので合格)

  2. 平均利益は+1.32%  (0.5%以上あるので合格)

  3. 勝率は55.2% (50%以上なので合格)
このNo.2の成績は最適化していないのにナカナカの成績を出しています。

( 2 )No.2トリガー条件表(買い)を最適化する


No.2トリガー条件表を最適化します。
  1. ランダム200銘柄を選択して、「新規検証」にいき、条件表No.2を選択し、

  2. 検証期間(2007年1月~2016年12月)を決め、

  3. 「売買共」または「買いだけ」を指定する。

  4. 「売買ルール」は先ほどの検証と同じルールにする。

  5. 「変化させるパラメータや以上以下の変化の範囲を指定する。

    この例では、①No.8行のパラメータを10日~120日の範囲で10ずつ変化させ、

    ②No.7行の以上以下を1%~4%の範囲で0.2ずつ変化させる、としました。

  6. 「実行」で最適化が始まります。


最適化が終わりました。約49分かかりました。

最適リストの成績は、常に全数トレードをしたときの数字です。
  1. 「ソート」をクリックして、

  2. 「評価得点」の大きい順に並べ替えます。

最適化したときの合格基準は、
  1. 全数トレード数が1000回以上
  2. 平均利益率が1.0%以上
  3. 勝率が50%以上
です。

  1. 「評価得点」順に並んでいる条件行のリストを下へスクロールして、トレード数が1000回以上のものを探すと、139行目が1039回となっています。

    この行は8線(最小値の期間)が100日で、7線(値幅率)が1.6%以上になっています。

    この数字を使ったときの平均利益率は2.08%、勝率が59.1%なので、2つとも合格基準を満たしています。

  2. No.139行を選択し、「書き換え」でトリガー条件表No.2「陰陽/順 (B)」のパラメータを(100日)に、以上以下の数字を(1.6%)に書き換えます。

( 3 )最適化したトリガー条件表(買い)を検証する(選抜トレード)

最適化したNo.2「陰陽/順 (B)」の成績は、全数トレードをした場合、①トレード数は1039回、②平均利益率は2.08%、③勝率は59.1%になることはわかっています。だが全数トレードは売買マークがでたもの全てをトレードした場合の成績です。

同じ日に異なる銘柄(例えば10銘柄)が買いマークをだしているなら、10銘柄を仕掛けることになりますが、これは現実的ではありません。10銘柄のうちどれかの銘柄を仕掛けるのが普通です。複数の銘柄から1銘柄を選んでトレードすることを「選抜トレード」と呼びます。実際的な選抜トレードではどのような成績になるのかを検証してみます。

  1. ランダム200銘柄を選択して、「新規検証」にいき、条件表No.2を選択し、

  2. 検証期間(2007年1月~2016年12月)を決め、

  3. 「売買共」または「買いだけ」を指定する。

  4. 「売買ルール」はいつものように(期間切れ20日・利食い+20%)です。

  5. 「実行」で検証が開始します。


検証リストが表示されます。

最適化ではトレード数は1039回となっていましたが、検証リストでは1040回になっています。

パソコンの小数点以下の計算では誤差が生まれます。例えば1÷3を計算したとき、正しい答えは=0.3333333・・・と小数点以下に「3」が無限に続きますが、パソコンは0.333333と小数以下6桁くらいで打ち切るので正しい数値にはなりません。

このためこの例では1039回と1040回の違いがでていますが、気にするほどの差ではありません。

  1. 「損益経過」をクリック。


「損益経過の指示」の画面が現われるので、右図のような指示をします。
  1. (理論金額で売買する)は必須です。

  2. 「仕掛ける銘柄数の制限」は(1銘柄まで)の選抜トレードとする。

  3. 選抜するときの基準は(株価が高いもの)とします。

  4. 「開始」で、200銘柄全体の成績がまとめられます。


選抜トレードの成績は
  1. トレード数は465回
  2. 累計損益%は+368.1%
  3. 平均利益%は+0.79%
  4. 勝率 は、54.0%
  5. PF は、1.21倍
です。 全数トレードでは平均利益が2.08%、勝率は59.1%ありましたが、実際のトレードに近い選抜トレードでは平均利益%は0.79%、勝率は54.0%と成績は低下しています。

選抜トレードの成績は全数トレードよりも低下するのが普通です。
選抜トレードは実際のトレードに近いので、ここでよい成績がでれば一番よいのですが、成績が悪くても「オートマ」にかけると飛躍的に成績は向上します。

ただしオートマがチャートを加えて売買マークを絞る分だけトレード数は少なくなります。 トリガー条件表の内容によりますが、大雑把にいうとトレード数は、トリガーだけのトレード数の1/10か1/20くらいに減ります。この例では最適化したトリガー条件表No.2の選抜トレード数は465回なので、1/10なら46回、1/20なら23回のトレード数に減ります。

だからここでの成績で一番大切なものはトレードが多いかtどうかです。この例のトレード数465回がやや不足しています。トリガー条件表が選抜トレードをしたときの合格基準は以下のものにしておきます。
  1. 選抜トレード数は500回以上 (1000回以上が望ましい)
  2. 平均利益率は0.5%以上 (1.0%以上が望ましい)
  3. 勝率は50以上であればよい。

これが合格の条件です。これに合格しているトリガー条件表は「オートマ」にかける価値があります。

( 4 ) 最適化リストから、合格基準に合うものをさらに見つける方法

上で見つけたトリガー条件表No.2「陰陽/順 (B)」(最小日数=100日・幅%=1.6%)の選抜トレードの成績は、トレード数が465回だったので、惜しくもトレード条件表として合格することはできませんでした。だが他にも合格する可能性があるものがあるはずです。

メニューの「最適化」→「最適条件行のもとめかた」にいきます。
  1. No.2 「TRG 陰陽/順 (B)」を選択し

  2. 「最適リストを開く」ボタンをクリック。
最適化リストは条件表No.ごとにファイルに記憶されます。

No.2を最適化したときは、No.2の最適化リストが記憶されるので、No.2については、時間のかかる最適化を繰り返す必要はありません。

  1. 最適化リストが表示されたら、「評価得点」順にソートし、

  2. トレード数が1000以上、平均利益率が1%以上、勝率が50%以上 のものを探します。

  1. は(100日・1.6%)で当初見つけたもの。全数トレード数は1039回だったが、選抜トレードがは465回で不合格。

  2. は(100日・1.4%) 全数トレード数は1081回だが、これを最適条件行として検証すると、選抜トレードは479回で不合格。

  3. は(100日・1.2%) 全数トレード数は1121回だが、これを最適条件行として検証すると、選抜トレードは494回で不合格。

  4. は(40日・3.0%) 全数トレード数は1025回だが、(c)のトレード数1121回よりも少ないので、検証はしない。

  5. は(50日・2.4%) 全数トレード数は1200回だが、これを最適条件行として検証すると、選抜トレードは486回で不合格。

  6. は(40日・2.4%) 全数トレード数は1344回と多い。これを最適条件行として検証すると、選抜トレードは544回、平均利益率が1.25%、勝率は54.2%で合格。

  7. は(10日・3.4%) 全数トレード数は1563回。これを最適条件行として検証すると、選抜トレードは645回、平均利益率が1.03%、勝率は52.4%で合格。
(f)も(g)も合格ですが、ここでは平均利益率が1.25%と高い(f)をNo.2の最適条件行とします。

ただし、本章の「(4) 最適化リストから、合格基準に合うものをさらに見つける方法」をし始めるとキリがないので、「(2)No.2トリガー条件表(買い)を最適化する」で、初めてトレード数が1000回を超えたときの最適条件行の(100日、1.6%)としておきます。



【2-3】 トリガー条件表(売り)を作る


( 1 ) 元のトリガー条件表(売り)

(拡張4)No.20の「TRG 陰陽/順 (S)」は、売りのトリガー条件表です。これを考えたときは、次のような設定をしていました。


12行を設定していますが、内容は簡単です。
  1. No2.行~No.7行で当日の株価の値幅(ザラバ高値-ザラバ安値)が当日の終値の何%の値幅であったのかを計算します。その値幅率が1%以上なら売り。
  2. No.8行目で、過去10日間の最大値は何日目であるかを計算します。最大値から1日目(最大値の翌日)であれば売り。
  3. No.9は当日が陰線であれば売り。
  4. No.11は1日前が陽線であれば売り。
  5. No.12は2日前が陽線であれば売り。
  6. No.13は3日前が陽線であれば売り。

言葉で表せば、
  1. 3日間陽線(図のc→b)が続いた後、

  2. 当日(a)が陰線で、

  3. その日の値幅が1%以上あって、

  4. 昨日(b)は過去10日間の最大値であった
ときに売りマークを出す条件表です。

この思いついたNo.2「陰陽/順 (S)」の成績はどうなっているのでしょうか? 検証してみます。

  1. ランダム200銘柄を選択して、「新規検証」にいき、条件表No.20を選択し、

  2. 検証期間(2007年1月~2016年12月)を決め、

  3. 「売買共」を指定する。

    (条件表が売りの条件ばかりなので、売買共のときは売りの条件の検証をすることになる)、

  4. 「売買ルール」は(時間切れ20日間・利食い+20%)と設定します。

  5. 「実行」で検証が開始します。


3644回のトレードがありました。

検証リストが表示されたら、「損益経過」をクリック。

「損益経過の指示」の画面が現われるので、次図のような指示をします。

最適化をしていないNo.20のトリガーでは、
  1. トレード数は2000回以上(全数トレード)、

  2. 平均利益率は0.5%以上

  3. 勝率は50以上であればよい。

これが合格の条件です。
次図は最適化する前のNo.20「陰陽/順 (S)」の成績です。
  1. トレード数は3644回(全数トレード。2000回以上あるのでOK)。

  2. 平均利益は-0.39%  (0.5%以上ないのでダメ)

  3. 勝率は49.5% (50%未満なのでダメ)
このNo.20の成績では有効なトリガー条件表とは認められません。

( 2 )No.20トリガー条件表(売り)を最適化する


No.2トリガー条件表を最適化します。
  1. ランダム200銘柄を選択して、「新規検証」にいき、条件表No.2を選択し、

  2. 検証期間(2007年1月~2016年12月)を決め、

  3. 「売買共」または「売りだけ」を指定する。

  4. 「売買ルール」は先ほどの検証と同じルールにする。

  5. 「変化させるパラメータや以上以下の変化の範囲を指定する。

    この例では、①No.8行のパラメータを5日~30日の範囲で5ずつ変化させ、

    ②No.7行の以上以下を1%~4%の範囲で0.2ずつ変化させる、としました。

  6. 「実行」で最適化が始まります。


最適化が終わりました。

最適リストの成績は全数トレードをしたときの数字です。
  1. 「ソート」をクリックして、

  2. 「評価得点」の大きい順に並べ替えます。
最適化したときの合格基準は、

  1. 全数トレード数が1000回以上のもの
  2. 平均利益率が1.0%以上のもの
  3. 勝率が50%以上のもの
です。

  1. 「評価得点」順に並んでいる条件行のリストを下へスクロールして、トレード数が1000回以上のものを探すと、16行目が1133回となっています。

    この行は8線(最大値の期間)が5日で、7線(値幅率)が4.0%以上になっています。

    しかしこの数字を使ったとき、平均利益率は0.08%、勝率が53.9%です。平均利益率は1.0%に及びません。

    したがって、この(5日)(4.0%)の数字を条件表に書き込んでも無駄ですが、次回の最適化の参考のrために記憶させておきましょう。

  2. No.16行を選択し、「書き換え」でトリガー条件表No.20 「陰陽/順 (S)」のパラメータを(5日)に、以上以下の数字を(4.0%)に書き換えます。

( 3 )最適化したトリガー条件表(売り)を検証する(選抜トレード)

最適化したNo.20「陰陽/順 (S)」の成績は、全数トレードをした場合、①トレード数は1133回、②平均利益率は0.08%、③勝率は53.9%になることはわかっています。だが全数トレードは売買マークがでたもの全てをトレードした場合の成績です。

同じ日に異なる銘柄(例えば10銘柄)が売りマークをだしているなら、10銘柄を仕掛けることになりますが、これは現実的ではありません。10銘柄のうちどれかの銘柄を仕掛けるのが普通です。複数の銘柄から1銘柄を選んでトレードすることを「選抜トレード」と呼びます。実際的な選抜トレードではどのような成績になるのかを検証してみます。


  1. ランダム200銘柄を選択して、「新規検証」にいき、条件表No.20を選択し、

  2. 検証期間(2007年1月~2016年12月)を決め、

  3. 「売買共」または「売りだけ」を指定する。

  4. 「売買ルール」はいつものように(期間切れ20日・利食い+20%)です。

  5. 「実行」で検証が開始します。

    トレード数(全数トレード)は1139回です。

  6. 「損益経過」をクリック。


「損益経過の指示」の画面が現われるので、右図のような指示をします。
  1. (理論金額で売買する)は必須です。

  2. 「仕掛ける銘柄数の制限」は(1銘柄まで)。選抜トレードとする。

  3. 選抜するときの基準は(株価が高いもの)とします。

  4. 「開始」で、200銘柄全体の成績がまとめられます。


選抜トレードの成績は
  1. トレード数は、728回

  2. 累計損益%は、-225.5%

  3. 平均利益%は、-0.31%

  4. 勝率  は、52.2%

  5. PF  は、0.94倍
です。 トレード数こそ500回を超えたものの、平均利益率がマイナスでは、No.20「陰陽/順 (S)」はトレード条件表として使えません。
選抜トレードをしたときの合格基準は以下のものにしています。
  1. 選抜トレード数は500回以上 (1000回以上が望ましい)
  2. 平均利益率は0.5%以上 (1.0%以上が望ましい)
  3. 勝率は50以上であればよい。

これが合格の条件です。これに合格しているトリガー条件表は「オートマ」にかける価値があります。(No.20陰陽/順 (S)」はオートマにかける価値なし)


【2-4】 売買ルールで変わるトリガーの成績




【2-2】トリガー条件表(買い)を作るでNo.2「TRG 陰陽/順 (B) 20D20%)を最適化すると、右図のようになりました。

「幅%」は1.6%、株価の最小日数は100日が最適であるという結果がでています。

この条件表No.2を検証し、選抜トレードをしたときの成績を出すと、次図のようになりました。

選抜トレードの成績は
  1. トレード数は、465回
  2. 累計損益%は、+368%
  3. 平均利益%は、+0.79%
  4. 勝率は、54.0%
  5. PFは、1.21倍
でした。トレード数が500回に満たないので、トリガーとして採用できませんが、売買ルールを変更すると合格する例があります。

  1. No.307にNo.2「TRG 陰陽/順 (B) 20D20%」を複写し、

  2. 売買ルールを(時間切れ40日間・利食い+20%)に変更して、

  3. 最適化をすると、次図のようにパラメータや以上以下の数字が変わりました。

  4. 「幅%」は2.4%に、最小日数は40日になります。


(40日・20%)の売買ルールにした選抜トレードの成績は
  1. トレード数は、513回 (465回)
  2. 累計損益%は、+789% (+368%)
  3. 平均利益%は、+1.54% (+0.79%)
  4. 勝率は、55.2% (54.0%)
  5. PFは、1.28倍 (1.21倍)
( )内は(20日・20%)の数字。となっています。トレード数は500回超え、累計損益や平均利益率は向上しています。

しかし建玉日数は(20日間・20%)が19.2日であったのに、(40日間・20%)は35.3日と長くなっています。


【2-3】トリガー条件表(売り)を作るでNo.20「TRG 陰陽/順 (S) 20D20%」を最適化すると、右図のようになりました。

「幅%」は4.0%、最大日数は5日間でした。

この条件表No.20を検証し、選抜トレードをしたときの成績を出すと、右図のようでした。

トレード数は728回と合格ですが、平均利益は-0.31です。当然にトリガーとして採用することはできません。

  1. No.308にNo.20「TRG 陰陽/順 (S) 20D20%」を複写し、

  2. 売買ルールを(時間切れ40日間・利食い+20%)に変更して、

  3. 最適化をすると、右図のようにパラメータや以上以下の数字が変わりました。
「最大日数」は5日間と変化はなかったが、幅%は4.0%→1.8%になりました。

これを検証して、選抜トレードを調べると、右図のようになっていました。( )内は(20日・20%)の数字。 (40日・20%)の売買ルールにしたNo.308の選抜トレードの成績は
  1. トレード数は、1361回 (728回)
  2. 累計損益%は、+283% (-225%)
  3. 平均利益%は、+0.21% (-0.31%)
  4. 勝率は、51.7% (52.2%)
  5. PFは、1.04倍 (0.94倍)
平均利益率は+0.21%と大したことはありませんが(40日・20%)の売買ルールによって最適化したほうがよくなっています。


[ 注意 ]

売買ルールを変更すると成績がよくなることもありますが、トリガー条件表(A)では(20日で+20%)にし、トリガー条件表(B)では(40日で+20%)にするといった、こことは避けるべきです。
1) トリガー条件表ごとに売買ルールを知っておかねばならなくなるし、
2) 異なるトリガー条件表(や異なるトレード条件表)を1本の条件表にまとめることができなくなります。



【2-5】 トリガー条件表の成績 (トリガー条件表のまとめ)



《Qエンジン》が用意しているNo.2~No.32の31本のトリガーの成績(選抜トレード)をまとめておきます。

選抜トレードは、①31本のトリガー条件表の検証をし、②「損益経過」で選抜トレードの成績を調べる必要があります。 しかし31本のトリガー条件用を1本1本検証することは面倒です。31回も同じ操作を繰り返さなければなりません。「連続検証」の機能を使えば、31本の検証が連続して行えます。

  1. ランダム200銘柄を選択して

  2. 「連続検証のしかた」の画面にいき、

  3. No.2~No.32のトリガー条件表を選択します。

  4. 対象期間は070101~161231とし、

  5. (売買共)を指示。

  6. 「売買ルールを見る」で選択した先頭(No.2)の条件表の売買ルール(時間切れ20日・利食い+20%)を確認してから、

  7. 「売買ルールを連続して複写」をクリックすればNo.3~No.32の売買ルールはNo.2と同じものになります。

  8. 「実行」をクリックして連続検証を開始します。


31本のトリガー条件表の検証は49分ほどかかりました。

続いて選抜トレードの成績を確認します。
  1. 「検証」→「検証結果の成績対比表」を選ぶと、右の画面が現れるので、

  2. No.2~No.32のトリガー条件表を選択し、

  3. 「OK」をクリック


「損益経過の指示」の画面が現われるので、右図のような指示をします。
  1. (理論金額で売買する)は必須です。

  2. 「仕掛ける銘柄数の制限」は1銘柄まで(選抜トレード)とする。

  3. 選抜するときの基準は(株価が高いもの)とします。

  4. 「開始」で、200銘柄全体の成績がまとめられます。

選抜トレードをしたときのトリガー条件表の合格基準は以下のものにしています。
  1. 選抜トレード数は500回以上 (1000回以上が望ましい)
  2. 平均利益率は0.5%以上 (1.0%以上が望ましい)
  3. 勝率は50以上であればよい。


合格したトリガー条件表13本には●印を振ってあります。

赤色●がついている9本は、2018年7月の発売時に合格していたもの。

ピンク色●がついている4本は、2018年9月初めまでに最適化を繰り返して、合格したもの。
トリガー条件表の成績について留意することは、
  1. ●印がついている条件表は、オートマにかけてトレード条件表を作らせたとき、一応よい成績がでると思われますが

  2. ●印がついていなくとも、オートマが適切なチャートを追加すればよい成績を出すトレード条件表ができる可能性があります。特に局面が変わったときにオートマにトレード条件表を作らせると、成績が化けることがあります。

  3. したがって●印がついていないトリガー条件表も上図に載せています。今後役立つかも知れないからです。



【3-1】 オートマで成績は格段によくなる




右図はトレード条件表を作る手順です。4ステップがあります。《Qエンジン24》Ver.6には右のステップを辿ることなく、すぐにトレードができるように、図の①②③④の条件表がすでに用意されています。したがって、
  1. ④の「まとめたトレード条件表」を使えばすぐにトレードができます。条件表は(拡張4)の
    1. No.101「まとめ(A)」(20日間+20%)を目的としたもの
    2. No.141「まとめ(B)」(10日間+10%)を目的としたもの
    3. No.181「まとめ(X)」 日経先物用。(5日間+2%)を目的としたもの
    の3本が用意されています。

    しかしトレード条件表は次第に成績が低下していきます。今後5年間これまでの成績を維持できることはまずありません。条件表を作ったときの手本は2007年~2016年の10年間ですが、今後はこの手本になかった事象が発生してきます。手本にない(統計にない)ことが起きれば成績が落ちるのは当然です。ではそのときはどうすればよいのか?


  2. 最も簡単で効果があるのは、オートマで、③のトレード条件表を作らせることです。オートマはほとんど人の手を必要としません。新しく手本になった事象を取り込んで、最適なトレード条件表を作ってくれます。

    オートマで使うトリガー条件表は、②の最適化トリガー条件表を使います。最適化されたトリガー条件表は(拡張4)の

    1. No.2~No.32(20日間+20%)を目的としたトリガーが31本(右図)

    2. No.242~No.272(10日間+10%)を目的としたトリガーが31本

    3. No.42~No.69 (5日間+2%)を目的とした日経先物用のトリガーが28本

    の合計90本が用意されています。これを使えばユーザーはトリガー条件表を設定する必要はありません。トリガー条件表を選び、トレード条件表を記憶させる条件表No.を指定すれば、自動的にトレード条件表が出来上がります。

    オートマが1本のトレード条件表を作るために要する時間は 10分~20分ほどです。31本のトリガー条件表をオートマにかけたとき仮に1本が15分を要したとすれば、465分(約8時間)で31本の新しいトレード条件表ができるわけです。

トリガー条件表をオートマにかければ、平均利益率は必ずアップします。どれくらい成績が上がるのかを大雑把に説明しておきます。

次図はトリガー条件表No.13「TRG Vボラストップ(B)」の内容です。



  1. No.3行で、パラメータが(840)のVボラストップを計算し、

  2. No.4行で、株価がVボラストップの上限線を上抜いたら買い。

  3. No.5行で、ただし前日までは株価がVボラストップの上限線を-20日以上下回っていたこと。
という簡単な設定がしてしてあります。

グラフは右図のようになります。
これを検証すると右図のようになります。

平均利益率は1.92%あり、トリガーだけの条件表にしてはよい成績が出ています。
トリガー条件表No.13「TRG Vボラストップ(B)」をオートマにかけてトレード条件表を作らせたところ、次図の内容mのものができました。


  1. No.1行~No.4行は、No.13のトリガー部分です。
  2. No.5行~No.12行が、オートマが追加したチャートです。8行あります。
このトレード条件表を検証すると次のような成績になっていました。(検証期間は2007年1月~2016年12月の10年間。選抜トレードをしたときの成績)


トリガー条件表だけの成績と比較すると、
  1. トレード数は、709回→102回 へ減少する。
  2. 累計損益%は、1362%→714% へ減少する。
  3. 平均利益率は、1.92%→7.00% へ大きくアップする。
  4. 勝率は、53.9%→62.7% へアップする。
  5. PFは、1.57倍→3.29倍 へ大きくアップする。
となっています。累計損益はトレード数が709回から102回に減っているので低下していますが、1362%→714%と半減しただけです。オートマはトリガー条件表に手を加えることによって、より成績がよくなるトレード条件表を作ります。



【3-2】 オートマ実行例①(買い) トリガーNo.2 からトレード条件表No.102を作る



この章ではトリガー条件表No.2(買い)を使って、オートマにトレード条件表No.502(買い)を作る手順を説明します。

条件表を設定する手順と前提条件を掲げます。

  1. ランダム200銘柄を対象にして、(ランダム200銘柄の結果ファイルはメニューの「アップデート」→「結果ファイルのダウンロード」でダウンロードできます)
  2. 2007年1月~2016年12月の10年間を手本にして、
  3. 売買ルールを(時間切れ20日間・利食い+20%)とした条件表を作る。

またこの講座で採用している売買ルールは、

  1. 買いマークが出たら、翌日の始値で仕掛ける
  2. 仕掛て20日が経過したら、翌日の始値で決済する(時間切れ)
  3. 途中ザラバで+20%の利益が出たら決済する(利食い)

という簡単なルールです。(この講座に限らず、だいたいにおいて、この売買ルールはよいルールです)


  1. ランダム200銘柄銘柄を選択し、

  2. メニューの「オートマ」をクリック。N

  3. オートマ指示書の一覧表が現われるので、No.34「一般銘柄(BS)共通 m20D20%」をクリック。

    次図のような指示をすればNo34でなくてもかまいません。

  1. 買い条件を作る
  2. 手本にする期間<(2007年~2016年)

  3. 注目点の入れ方は「C」タイプ(トリガー条件表の買いマークの日を注目点の候補とする)で、
  4. 20日間に+20%以上上昇し、-20%下落していないとき注目点とする

  5. 描画用条件表はNo.2「TRG 陰陽/順」
  6. 注雑ファイルはなんでもよい
  7. 計算用条件表は No.73「一般銘柄Y(短期)」
  8. No.502にトレード条件表を作る

  9. 注目点は当日だけに限る
  10. 雑音点は上下欄とも空白にする

  11. 深層条件
  12. 最小注目数は50個
    選択した銘柄数が400銘柄などのように多くしたときは、最小注目数を100個のように増やせば、より信頼性の高い条件表ができる。



  13. 「実行」でオートマが開始する。

  14. オートマ指示書を記憶させておけば、次回は(e)描画用条件表No. と(h)生成先条件表No. を変更するだけで済みます。


  1. オートマは注目点と雑音点を見つけていきます。

    右図の緑色縦線は雑音点です。注目点はピンク色縦線が引かれます。

  2. 注目点と雑音点の日のチャートの数値を計算していきます。

    計算するチャートはオートマ指示書の(g)「一般銘柄(Y)短期」に登録してあるチャートです。



  3. どのチャートを使えば、注目点と雑音点がうまく判別できるのかを調べていきます。

  4. オートマはトレード条件表を作りました。

  5. No.502のタイトルは数字とアルファベットでつけられています。

    「確認」をクリックして、わかりやすいタイトルに変更します。

  6. No.502のタイトルを「B 陰陽/順 20D20%」に変更しました。

  7. 以下のようなトレード条件表ができています。
    (全部で28行あるが21行~28行は省略)


このようにして、買いのトリガー条件表No.2~No.19をオートマにかけて、No.502~No.519のトレード条件表を作ります。
No.は後から見てわかりやすいNo.を決めてください。



【3-3】 オートマ実行例②(売り) トリガーNo.25 からトレード条件表No.525(買い)を作る



この章ではトリガー条件表No.25(売り)を使って、オートマにトレード条件表No.525(売り)を作る手順を説明します。

条件表を設定する手順と前提条件を掲げます。

  1. ランダム200銘柄を対象にして、(ランダム200銘柄の結果ファイルはメニューの「アップデート」→「結果ファイルのダウンロード」でダウンロードできます)
  2. 2007年1月~2016年12月の10年間を手本にして、
  3. 売買ルールを(時間切れ20日間・利食い+20%)とした条件表を作る。

またこの講座で採用している売買ルールは、

  1. 買いマークが出たら、翌日の始値で仕掛ける
  2. 仕掛て20日が経過したら、翌日の始値で決済する(時間切れ)
  3. 途中ザラバで+20%の利益が出たら決済する(利食い)

という簡単なルールです。(この講座に限らず、だいたいにおいて、この売買ルールはよいルールです)


  1. ランダム200銘柄銘柄を選択し、

  2. メニューの「オートマ」をクリック。N

  3. オートマ指示書の一覧表が現われるので、No.34「一般銘柄(BS)共通 m20D20%」をクリック。

    次図のような指示をすればNo34でなくてもかまいません。

  1. 売り条件を作る
  2. 手本にする期間<(2007年~2016年)

  3. 注目点の入れ方は「C」タイプ(トリガー条件表の売りマークの日を注目点の候補とする)で、
  4. 20日間に+20%以上下落し、-20%上昇していないとき注目点とする

  5. 描画用条件表はNo.25「TRG 平均SLクロス逆」
  6. 注雑ファイルはなんでもよい
  7. 計算用条件表は No.73「一般銘柄Y(短期)」
  8. No.525にトレード条件表を作る

  9. 注目点は当日だけに限る
  10. 雑音点は上下欄とも空白にする

  11. 深層条件
  12. 最小注目数は50個
    選択した銘柄数が400銘柄などのように多くしたときは、最小注目数を100個のように増やせば、より信頼性の高い条件表ができる。



  13. 「実行」でオートマが開始する。

  14. オートマ指示書を記憶させておけば、次回は(e)描画用条件表No. と(h)生成先条件表No. を変更するだけで済みます。


  1. オートマは注目点と雑音点を見つけていきます。

    右図の緑色縦線は雑音点です。注目点はピンク色縦線が引かれます。

  2. 注目点と雑音点の日のチャートの数値を計算していきます。

    計算するチャートはオートマ指示書の(g)「一般銘柄(Y)短期」に登録してあるチャートです。



  3. どのチャートを使えば、注目点と雑音点がうまく判別できるのかを調べていきます。

  4. オートマはトレード条件表を作りました。

  5. No.525のタイトルは数字とアルファベットでつけられています。

    「確認」をクリックして、わかりやすいタイトルに変更します。

  6. No.525のタイトルを「S 平均SLクロス 20D20%」に変更しました。

  7. 以下のようなトレード条件表ができています。
    (全部で28行あるが21行~28行は省略)


このようにして、買いのトリガー条件表No.20~No.32をオートマにかけて、No.520~No.532のトレード条件表を作ります。

No.は後から見てわかりやすいNo.を決めてください。


【3-4】 トレード条件表の成績



トリガー条件表No.2~No.32をオートマにかけて、No.102~No.132の31本のトレード条件表を作りました。これらトリガー別のトレード条件表の成績はどうであったのかの検証をします。 このとき以下の要求がでてきます。
  1. 31本の検証をするのは時間がかかるし面倒だ。
  2. 成績は全数トレードではなく、選抜トレードで現実のトレードに近いものにしたい。
1)のために「連続検証」の機能があります。ただし連続検証は全数トレードであるので、選抜トレードの成績を知るには「損益経過」で選抜トレードを指定して、31本について調べなければならない。

2)「成績対比表」では、選抜トレードの成績がでるようにしてあります。「連続検証」をした後、成績対比表を表示させると、選抜トレードの成績が一覧できるようになっています。

( 1 ) 連続検証をする


  1. ランダム200銘柄銘柄を選択し、

  2. メニューの「検証」→「連続検証」をクリック。


  1. トレード条件表No.102~No.132 を選択

  2. 検証期間は(2007年~2016年)

  3. (売買共)を指示

  4. 「売買ルールを見る」をクリックすると、先頭(No.102)が記憶している売買ルールが表示されます。

  5. 売買ルールを確認したら、No.10の売買ルールをNo.103~No.132へ複写します。

    これでNo.102~No.132は同じ売買ルールになります。

  1. 「実行」で連続検証が開始。

  2. 連続検証が終わりました。31本で34分かかっています。

連続検証は31本のトレード条件表を検証しただけであり、その成績内容は表示されません。

成績を知るには「検証結果」または「成績対比表」を使います。

( 2 ) 成績対比表で成績を比較する


  1. 「検証」→「検証結果の成績対比表」に行きます。

  2. 成績を対比させたいトレード条件表No.102~No.132を選択し、

  3. 「OK」をクリック


「損益経過の指示」の画面が現れるので、
  1. 理論金額で売買する

  2. 仕掛ける銘柄は(1銘柄まで)

  3. 銘柄の選抜基準は、買いの場合は(株価が最も高いもの)

  4. 売りの場合も(株価が最も高いもの)
とします。

  1. 「開始」をクリック


右図は成績対比表です。表示されている成績項目は、
  1. トレード数

  2. 累計損益%

  3. 平均利益率

  4. 勝率

  5. PF

  6. 利食い率

  7. 時間切れ率

  8. 損切り率
「利食い率」とはトレードした回数のうち利食いしたのは何%だったのかを表します。時間切れ率はトレードしたうち時間切れになったのは何%だったの数字です。
上の対比表は条件表のタイトルがなくて見にくいので、解りやすいように対比表を変更すると次図のようになります。

売買ルールが(20日+20%)の場合の トレード条件表の合格基準は次のようにしておきます。
  1. トレード数が50回以上

  2. 平均利益率が5%以上

  3. 勝率は50%以上
合格したトレード条件表に赤色●をつけています。

(買い)の条件表は8本、(売り)の条件表は3本あります。

(突発的な事件によって株価が大きく下げることがあるので、(売り)の条件表は難しい。)


【3-5】 優良なトレード条件表を1本にまとめる



前章【3-4】の終わりにオートマで作ったトレード条件表の成績の一覧表を掲げています。31本のトレード条件表のうち、①トレード数が50回以上で、②平均利益率が5.0%以上 のものは以下のものでした。
  1. (買い)
    No.102「陰陽/順」
    No.103「平均線クロス」
    No.106「平均SLクロス順」
    No.107「平均SLクロス逆」
    No.109「高安突破順」
    No.113「Vボラストップ」
    No.115「出来高突破」
    No.117「ボリンジャー順」

  2. (売り)
    No.125「平均SLクロス逆」
    No.128「MACD逆」
    No.132「過去比率」
元になったトリガーの性格からいうと、(買い)は8本のうちNo.107を除く7本が順張りです。一方(売り)は3本とも逆張りです。つまり買いは株価が上昇しだしてから買うのがよいが、売りは株価が下落しだしてから売ったのでは遅い。株価が上昇しているときに売らなければならない。ということです。

まあそれはそうとして、この優良な11本のトレード条件表を毎日検索して、売買マークが出たかどうかをチェックするのは煩雑です。1本の条件表にまとめて、その条件表を検索すればよいようにします。

条件表のまとめかた

(《Qエンジン24》Ver.6を発売した後、条件表を簡単に町めることができる「条件表を統合する」を追加したの、この機能を使ってまとめてみます)

ここで例にした条件表は、この講座で作ったものではありませんがやり方は同じ事です。

①「条件表を統合する」を使うにはメニューの「統計」→「条件表を統合する」をクリックします。

次図の「条件表の統合」の画面が現れます。

(1)統合先の条件表を決める

(拡張4)の条件表No.101に統合をするならば、
  1. 条件ファイルを「拡張4」にし、

  2. 条件表No.101を選択し、

  3. 「設定」ボタンをクリックします。

    上部の統合先の条件表には、(拡張4)、No.=101と表示されます。今後は(拡張4)No.101に条件表が統合(まとめ)されます。


(2)統合したい条件表を決める

  1. No.102「陰陽/順」を統合したいなら、No.102を選択(クリック)して、

  2. 「統合する」ボタンをクリック。

  3. 統合先のNo.101のタイトルは「陰陽/順」に変わります。

    条件行の数は28行になっています。これはNo.102の28行がNo.101に統合されたことを表しています。

    次にNo.103「平均線クロス」と統合します。

  4. No.103をクリックし、

  5. 「統合する」ボタンをクリック。

  6. 統合先のNo.101のタイトルは「平均線クロス」に変わります。

    条件行の数は37行になっています。これはNo.102の28行に条件表No.103の10行が追加されたことを表しています。

    条件表No.102は28行あり、No.103は10行であるので、単純にまとめるなら、No.101は38行になるはずですが、1行少ない37行になっているのは、

  7. 「陰陽足と主な株価をカットする」にチェックマークを入れているからです。統合先に(陰陽足を描画する)または(主な株価を描画する)が2つ以上あるときは、1つだけに減らされます。

    この場合は、No.102とNo.103に(陰陽足描画する)または(主な株価を描画する)が設定されていたので、1つがカットされたわけです。

  8. No.106「平均SLクロス順」を統合しました。

    統合先のNo.101のタイトルは「平均SLクロス順」に変わり、49行になっています。

  9. 統合先(No.101)の条件表の内容を見たり、修正するには「修正」ボタンをクリックします。


「条件表の内容」の画面が現れます。

  1. 49行が設定されています。

  2. 統合した条件表は「グループ」で区切られています。

  3. タイトル名を変更したり、行追加、行抹消などの変更ができます。

  4. 「終了」ボタンでこの画面を閉じます。


  1. 続いて以下の条件表を統合します。

    No.107「平均SLクロス逆」を選択して→「統合する」

    No.109「高安突破順」」を選択して→「統合する」

    No.113「Vボラストップ」」を選択して→「統合する」

    No.115「出来高突破」」を選択して→「統合する」

    No.117「ボリンジャー順」」を選択して→「統合する」

    No.125「平均SLクロス逆」」を選択して→「統合する」

    No.128「MACD逆」」を選択して→「統合する」

    No.132「過去比率」」を選択して→「統合する」


    という単純な作業で次々に条件表が統合されます。

  2. 11本の条件表を統合しました。

    No.101のタイトルは最後の統合したNo.132の「過去比率」になり、条件行は169行になっています。

    次のことに注意してください

    ①統合できる条件表は20本まで
    ②統合できる条件行は最大300行まで、


  3. 最後に「修正」ボタンをクリックして、統合先のNo.101のタイトルを決めます。

  4. No.101のタイトルは「BS まとめ(A)notaitoru0D20%」としました。
条件表の統合が終りました。

( 3 )No.101「まとめ(A) 20D20%」の成績

過去の成績をみると、(図A)2007年1月~2016年12月の10年間の累計利益%は4293%で、平均利益率は5.88%です。10年間で約43倍の利益を出しています。内訳は(図B)買いトレードによる累計利益が3046%、(図C)売りトレードによる累計利益が1247%。売りトレードのほうが買いトレードよりも効率は高い。

この10年間を手本にしてトレード条件表をつくったのだから成績はよくて当然です。問題は手本にしていない時期の成績です。(図A-2)2017年1年間の成績は、累計利益が130.7%で、平均利益率が7.69%です。1年間で100円の資金が130円の利益を出し資金は230円になっているのだから、よい成績です。

(図A-3)2018年1月~8月までの成績は、累計利益が36.7%、平均利益率が2.16%です。これは悪いようだが、資金100円で36.7円の利益をだしているのだから、まずまずの成績です。


(売買共)2007年1月~2016年12月 (10年間)

  1. トレード数 730回

  2. 累計損益% 4293%

  3. 平均利益率  5.88%

  4. 勝率 63.2%

(買いだけ)2007年1月~2016年12月 (10年間)

  1. トレード数 564回

  2. 累計損益% 3046%

  3. 平均利益率  5.40%

  4. 勝率 61.3%

(売りだけ)2007年1月~2016年12月 (10年間)

  1. トレード数 166回

  2. 累計損益% 1247%

  3. 平均利益率  7.51%

  4. 勝率 69.3%

(売買共)2017年1月~2017年12月 (1年間)

  1. トレード数 17回

  2. 累計損益% 130%

  3. 平均利益率  7.69%

  4. 勝率 58.8%

(売買共)2018年1月~2018年8月 (8か月間)

  1. トレード数 17回

  2. 累計損益% 36%

  3. 平均利益率  2.16%

  4. 勝率 58.8%



【3-6】 1年ごとに新しいトレード条件表を作り、1本にまとめる



2007年1月~2016年12月の10年間を手本にしてトレード条件表を作ってきましたが、年が新たまったときはトレード条件表を作り直すのがよい。直近の株価の動きを手本とすることができるからです。 本章では2008年1月~2017年12月の10年間を手本にしてトレード条件表を作ります。作り方は2通りあります。
  1. No.2~No.32のトリガー条件表をオートマにかけてトレード条件表を作る。

  2. No.2~No.32のトリガー条件表を2008年1月~2017年12月の期間を手本にして最適化する。
    最適化したトリガー条件表をオートマにかけてトレード条件表を作る。
(A)の作り方は簡単です。既存のトリガー条件表をトートマにかけるだけでトリガー条件表ができます。1本のトリガー条件表から1本のトレード条件表を作る時間はだいたい10分ほどなので、31本のトレード条件表を作っても5時間程度でできます。

(B)の方は31本のトリガー条件表を最適化しなければならないので、大変時間がかかります。

例えばトリガー条件表No.2「TRG 陰陽/順」が設定している1つのパラメータを12通りに変化させ、1つの「以上以下」の数値をを9通りに変化させるとき、合計108通りの数字を変化させなばなりません。「108通り」とは108回検証を行うということです。200銘柄を対象にしているならば約20000回(=108回×200銘柄)の検証をすることになります。当然に時間がかかります。1本のトリガー条件表を最適化するのに要する時間は以下。(早いパソコンをお持ちの方はこの1/2くらいで済むかも知れません)
  1. ランダム200銘柄を対象にしたときは 31分(31本で961分:16時間)
  2. ランダム400銘柄を対象にしたときは 63分(31本で1953分:32時間)
  3. 東証1部(1870銘柄)を対象にしたときは 290分(31本で8990分:150時間)
本章では(A)のやり方でトレード条件表を作ります。作る前提は、
  1. ランダム200銘柄を対象にする
  2. 2008年1月~2017年12月の10年間を手本にする(ここが当新しい)
  3. オートマの指示は、【3-2】オートマ①(買い)【3-3】オートマ②(売り) と同じ

( 1 )No.2~No.32のトリガー条件表をオートマにかけて、31本のトレード条件表を作る


買いのトリガー条件表をかけるときは
  1. (買い条件)を指示する
  2. 対象期間は(080101~171231)とする
  3. トリガー条件表No.2から、No.502にトレード条件表を作る
とします。売りのトリガー条件表をかけるときは、(a)を(売り条件)にするだけです。

No.502~No.532にトレード条件表を作りました。条件表のタイトルはわかりやすいように使ったトリガー条件表のタイトルに変更しています。

またここのトレード条件表は2017年12月までを手本としたことを明らかにするために「2017」の数字を入れています。

これら31本のトレード条件表を全部頼りにするわけではありません。2018年から使うのは、このうちの5~10本です。

( 2 )No.502~No.532のトレード条件表の成績を調べる


31本のトレード条件表を「連続検証」を使って一度に検証します。
  1. No.502~No.532のトレード条件表を選択します。

  2. 検証期間は(080101~17123)。

  3. この31本のトレード条件表の売買ルールを同じにします。

    売買ルールは(時間切れ20日・利食い+20%)です。


検証が終わった31本のトレード条件表を「成績対比表」を使って、一覧表に表示させます。




成績対比表は条件表のタイトルが表示されてないので、解りやすいように対比表にタイトルを追加すると次図のようになります。

売買ルールが(20日+20%)の場合の トレード条件表の合格基準は
  1. トレード数が50回以上

  2. 平均利益率が5%以上

  3. 勝率は50%以上
です。合格したトレード条件表に赤色●をつけています。

(買い)の条件表は5本、(売り)の条件表は1本あります。

【3-4】トレード条件表の成績 で2016年まで成績の対比表を掲げましたが、2016年のトレード条件表で合格したのは、買いが8本、売りが3本ありました。

手本とした期間は(2007年~2016年)から2007年が外れ2017年が加わっただけですから、10年間のうちの2年間が変わっただけです。

それでも2016年には合格であったものが失格し、2016年には不合格であったものが合格になっています。
2016年と2017年の合格した条件表の変化は、ほとんどが平均利益率の低下が原因です。(2016年)と(2017年)の合格した条件表の変化を表にまとめると次のようになります。

No. (2016)タイトル 合否 トレード数 利益率 No. (2017)タイトル 合否 トレード数 利益率 変化原因
102 B 陰陽/順 75回 6.37% 502   なし × 88回 4.24% 利益率の低下
103 B 平均線クロス 91回 5.71% 503 B 平均線クロス 91回 7.04% -
106 B 平均SLクロス順 118回 5.49% 506   なし × 125回 4.19% 利益率の低下
107 B 平均SLクロス逆 121回 6.00% 507   なし × 116回 4.95% 利益率の低下
109 B 高安突破 84回 10.20% 509 B 高安突破 64回 11.70% -
113 B Vボラストップ 94回 6.64% 513 B Vボラストップ 87回 7.98% -
115 B 出来突破 88回 8.08% 515   なし × 108回 4.42% 利益率の低下
117 B ボリンジャ順 114回 6.00% 517 B ボリンジャ順 114回 6.39% -
118   なし × 92回 4.36% 518 B パラボリック順 60回 9.02% 利益率向上
125 S 平均SLクロス逆 84回 5.49% 525   なし × 87回 4.98% 利益率の低下
128 S MACD逆 50回 10.59% 528   なし × 35回 6.46% トレード数減少
132 S 過去比率 59回 11.38% 532 S 過去比率 58回 12.51% -

(2016年)で合格で(2017年)も合格のものは5本しかありません。(2016年)の合格の条件表は7本が不合格になりましたが、急激に平均利益率が低下したわけではありません。不合格になったNo.102は平均利益率が6.37%ありましたが、(2017年)では4.24%に低下しています。だが合格基準の5.0%を少し下回っただけです。

同じくNo.106は(2017年)に4.19%へ、No.107は4.95%へNo.115は4.42%へ、No.125は4.98%に低下していますが、利益率は4.0%以上を維持しています。(2016年)に合格していた11本で使っているトリガーと(2017年)に新規に追加されたNo.118(No.518)で使っているトリガーは今後も有用であると思います。

( 3 )合格した条件表6本を1本の条件表にまとめる

買いはNo.503・No.509・No.513・No.517・No.518の5本、売りはNo.532の1本をNo.501にまとめます。まとめ方は【3-5】優良なトレード条件表を1本にまとめる で説明したので参照してください。

次図のように88行のトレード条件表になりました。タイトルは
  1. 「まとめ(2017)」・・・・2017年末までの10年間を手本とした。
  2. 「200m」・・・・・・・・・・ランダム200銘柄を対象にした。
  3. 「20D20%」・・・・・・・・20日間で20%利益がでることを目的にした(売買ルールも同じ)
No.501に優良な条件表をまとめたので、No.502~No.532のトレード条件表は抹消してもかまいません。今後の検索や検証はもっぱらNo.501「まとめ(2017)」を使います。



( 4 )No.501「まとめ(2017)」の成績を調べる


「新規検証」で、2008年1月~2017年12月の10年間の成績を検証します。

「まとめ(2017)」の2008年1月~2017年12月 (10年間)の成績
  1. トレード数 383回

  2. 累計損益% 3022%

  3. 平均利益率  7.89%

  4. 勝率 68.4%
とまずまずの成績です。
「まとめ(2016)」が同じ時期(2008年1月~2017年12月の10年間)にどういう成績になっているかを検証すると次のようになりました。

「まとめ(2016)」の2008年1月~2017年12月 (10年間)の成績
  1. トレード数 675回

  2. 累計損益% 4143%

  3. 平均利益率  6.14%

  4. 勝率 63.3%

「まとめ(2017)」と「まとめ(2016)」の2018年1月~8月までの成績を調べると次のようになりました。

「まとめ(2017)」の2018年1月~2018年8月 (8 か月)の成績

「まとめ(2016)」の2018年1月~2018年8月 (8 か月)の成績

2018年1月~2018年8月の成績は、「まとめ(2016)」の、累計利益は36.7%、平均利益は2.16%、勝率が58.8%であるのに、「まとめ(2017」の同時期の成績は、累計利益は-13.7%、平均利益は-1.98%、勝率が28.6%と極端に悪くなっています。

通常は最近のデータを手本にしたほうが、成績はよくなるはずですが、この場合はそうなっていません。2017年のデータがかなり異質であったからです。(トランプ大統領が生まれてから)。最近のデータを手本にしても成績が悪化するこがあるので、「まとめ(2016)」の成績と比較して、よいほうの条件表をもとにしてトレードするのがよいでしょう。


HP目次へ.. 講座目次へ.