No.1 日経先物1日売買システムを作る


2007年3月に執筆 ・・・・  講座目次へ.

《Qエンジン24》の機能を使っていくつかの統計を取り、《Qエンジン24》を使って「1日売買システム」を構築します。この過程で《Qエンジン24》の機能や使い方、統計のとり方や考え方を説明します。


@《Qエンジン24》を使う




システムを構築しようとするなら、簡単な統計の知識が必要です。例えば右図の「陽線の値幅」のヒストグラムです。

この図からモード(最頻度数)やメジアン(中位数)あるいは80%区間を知り、「1日の値幅で期待してよいのは、1.70%未満であり、最もよく起こるのは1.30%未満である。」としました。

このヒストグラムの描き方について、複数人の《Qエンジン24》のユーザーから質問がありました。

また《リアル24》のように「分足」を使わず、《Qエンジン24》を利用して「日足」データを使って、「寄り付きで仕掛けて、大引けで手仕舞う」というシステムはできないか?と幾人かから問い合わせがありました。

株式(先物も)を売買するに当たって重大なことは、@どうなれば仕掛ける、Aどうなれば利食いし、Bどうなれば手仕舞い(損切りも)するのかのルールをはっきりさせておくことですが、はっきりさせるためには「統計を取る」か「検証をしてみる」が必須です。誰かがそういっていたとか、仕掛けさえうまく当たれば手仕舞いのルールなぞいらない、というのでは困ります。

《Qエンジン24》には、@検証する機能もあるし、A条件表を最適化する機能もあるし、B最適な売買ルールを見つける機能もあるし、C条件表を生成する機能もあるし、D統計を取る機能もあります。

@ABは誰でも簡単にできます。しかもこの3つが《Qエンジン24》の最も中心の機能です。「検証」することで、その条件表の成績がわかります。「最適化」することでよりよい条件表に変化させていくことができます。「売買ルール」を変えることで条件表がよみがえってきます。この作業を通じて「売買できる確信」が生まれます。

Cは少し難しく、Dは統計の知識がないと難しいのですが、よい機会なので2種類の質問に答えるかたちで、@ACDについて、しばらく連載します。

例題は「寄り付きで仕掛け、大引けで手仕舞いするシステムを作る」です。複数人がこれができないかと問い合わせてこられているので、おそらくインターネットや書物で、このようなシステムの紹介がされていると思いますが、ここでは「システムの作り方」を説明するのがメインであるので、例題は簡単なものとします。(やりかたがわかればいくらでもシステムは作れます)なお「寄り付きで仕掛け、大引けで手仕舞いするシステム」というのも長ったらしいので「1日売買システム」と呼ぶことにし、売買するのは「日経先物」とします。


A1日売買システムの検証



「1日売買システム」というものは、@寄り付きで買って大引けで手仕舞う。または、A寄り付きで売って大引けで手仕舞う。のどちらかです。つまり@の場合は明日が陽線にならねば勝てないし、Aの場合は明日が陰線にならねば勝てません。ようするに、今日までの動きから「明日は陽線になるのか陰線になるのかを予想する」ことが最重大になるシステムです。

私としては、「明日から5日間のうちに、これくらいの変化があるだろう」という予想と「明日は陽線あるいは陰線になる」という予想とを比べると、明日限定の予想のほうがはるかに困難であると思われます。今日までの株価の動きから明日の陽線・陰線が予想できるのか?

手がかりにすべきものはいくらでも思いつくでしょう。例えば、陰線・陽線に目をつけただけでも、
  1. 今日が陽線なら、明日も陽線になる確率が高い(?)
  2. 逆に今日が陽線なら、明日は陰線になる確率が高い(?)
  3. 2日陽線が連続したら、明日は陰線になる確率が高い(?)
  4. 2日陰線が連続したら、明日は陽線になる確率が高い(?)
  5. 今日が大幅な陽線なら、明日も陽線になる確率が高い(?)
  6. 逆に今日が大幅な陽線なら、明日は陰線になる確率が高い(?)
  7. 今日が大幅な陰線なら、明日も陰線になる確率が高い(?)
  8. 逆に今日が大幅な陰線なら、明日は陽線になる確率が高い(?)
  9. 今日が窓をあけた陽線なら、明日は陽線になる確率が高い(?)
  10. 今日が窓を空けた陰線なら、明日は陰線になる確率が高い(?)
さらにここに陰陽足以外のチャートを加えて、
  1. 前日比がプラスの陽線は、明日も陽線になる確率が高い(?)
  2. 前日比がマイナスの陰線は、明日も陰線になる確率が高い(?)
  3. 25日平均線より上位にあるときの陽線は、明日も陽線になる確率が高い(?)
  4. 25日平均線より下位にあるときの陽線は、明日は陰線になる確率が高い(?)
  5. RCIが-80以下のときの陽線は、明日も陽線になる確率が高い(?)
  6. RCIが+80以上のときの陰線は、明日も陰線になる確率が高い(?)
  7. 過去5日間の高値を上抜いたときの陽線は、明日も陽線になる確率が高い(?)
  8. 過去5日間の安値を下抜いたときの陰線は、明日も陰線になる確率が高い(?)
など、いくらでも思いつきます。思いついたら《Qエンジン24》で「検証」してみればよいのです。日経先物の過去3000日の検証なら、1分もあればその成績が出てきます。100個のアイデアが浮かんだとしても、休日の半日を当てれば結果(成績)はすぐにわかります。


B今日が陽線なら明日も陽線か?



「今日が陽線なら明日も陽線である」が正しいなら、陽線の翌日の始値で買い仕掛け→終値で手仕舞うという売買ルールの成績はプラスになるはずです。はたしてそうなのか。次のような条件表を設定します。


  1. No.2行で、「始値」を取り出し、
  2. No.3行で、「株価(終値)−始値」の計算をします。終値>始値であれば「陽線」です。(終値−始値)の差が1円以上であれば「買い」としています。
  3. No.4行で、「株価(終値)−始値」の計算をします。終値<始値であれば「陰線」です。(終値−始値)の差が-1円以下であれば「売り」としています。
  4. No.5行とNo.6行はこの例では必要ありません。(前日比を調べるときに使うつもりで設定した)


この条件表「(QE描画用)のNo.62 陰線・陽線A」の検証をして見ましょう。
  1. 条件表は、No.62
  2. 条件表の内容は、陽線で買い、陰線で売り。

  3. 検証する時期は1996年12月18日〜2007年3月11日までの約10年間。(3月11日までとしたのは、先のヒストグラムと同じ時期にあわせたため)

  4. 「売買共」を指定(買いと売りを一度に検証する)

  5. 「売買ルール」は次図。

  6. 「実行」ボタンをクリックすれば、1分かそこらで成績がでます。


売買ルールはシンプルです。
  1. 買いマークが出たら(陽線になったら)、翌日の始値で買い仕掛ける。
    売りマークが出たら(陰線になったら)、翌日の始値で売り仕掛ける。

  2. 仕掛けた日(売買マークが出た1日後)の
  3. 終値で手仕舞う。

  4. 時間切れ・利食い・損切りはしない

(次図)10年間の日経先物の陽線は1177本ありました。翌日始値で買って、終値で手仕舞いすると負けます。

  1. 買い仕掛けのトレードは1177回あって、514勝663敗。
  2. 平均利益率は-0.12%。(日経先物が14000円だとすると、1回につき16.8円ずつ損失が出る)
  3. 勝率は43.7%。
  4. プロフィットファクターは0.75倍。(利益総額は損失総額の0.75倍でしかない)
(次図)10年間の日経先物の陰線は1246本ありました。翌日始値で売って、終値で手仕舞いすると、やはり負けます。



  1. 売り仕掛けのトレードは1246回あって、587勝659敗。
  2. 平均利益率は-0.03%。(日経先物が14000円だとすると、1回につき5.2円ずつ損失が出る)
  3. 勝率は47.1%。
  4. プロフィットファクターは0.94倍。(利益総額は損失総額の0.94倍でしかない)
買い・売りの成績(勝率)から、陽線の翌日も陽線になる確率は43.7%しかない。陰線の翌日も陰線になる確率は47.1%である。ことがわかります。


C今日が陽線なら明日は陰線か?




「今日が陽線なら逆に明日が陰線である」が正しいなら、陽線の翌日の始値で売り仕掛け→終値で手仕舞うという売買ルールの成績はプラスになるはずです。

また「今日が陰線なら逆に明日が陽線」が正しいなら、陰線の翌日の始値で買い仕掛け→終値で手仕舞うという売買ルールの成績はプラスになるはずです。

右図のように条件表を変更します。(陽線なら売り、陰線なら買いとする)

(次図)10年間の日経先物の陰線は1246本ありました。陰線が出たら「買い」であるので、翌日始値で買って、終値で手仕舞いすると、すこしプラスになります。


  1. 買い仕掛けのトレードは1246回あって、616勝630敗。
  2. 平均利益率は+0.03%。(日経先物が14000円だとすると、1回につき5.2円ずつ利益が出る)
  3. 勝率は49.4%。
  4. プロフィットファクターは1.07倍。(利益総額は損失総額の1.07倍である)
平均利益率(+0.03%)は、上の「陰線なら売り」の成績(-0.03%)と逆の関係になります。勝率(49.4%)が、「陰線なら売り」の勝率(47.1%)の反対の52.9%になっていないのは、始値と終値が同じである「同事足」があるためです。(同事足では利益がでない。利益が0円のときは「負け」にカウントされている)

(次図)10年間の日経先物の陽線は1177本ありました。陽線が出たら「売り」であるので、翌日始値で売って、終値で手仕舞いすると、かなりのプラスになります。


  1. 売り仕掛けのトレードは1177回あって、620勝557敗。
  2. 平均利益率は+0.12%。(日経先物が14000円だとすると、1回につき16.8円ずつ利益が出る)
  3. 勝率は52.7%。
  4. プロフィットファクターは1.34倍。(利益総額は損失総額の1.34倍である)
平均利益率(+0.12%)は、上の「陽線なら買い」の成績(-0.12%)と逆の関係になります。勝率(52.7%)が、「陽線なら買い」の勝率(43.7%)の反対の56.3%になっていないのは、同じく始値と終値が同じである「同事足」があるためです。

私が思っている日経先物の売買を「検証」したときの成績の目安は、
  1. 平均利益率が0.10%以上
  2. 勝率が50%以上
  3. プロフィットファクターが1.5倍以上
であるので、「今日が陽線なら明日は売り」のルールは合格とまではいかないが、それに近づいています。「今日が陽線だったら、明日の始値で売り仕掛けをし、終値で手仕舞う」というきわめてシンプルなルールです。わずかの「検証」でこのことがわかりました。


D今日が連続陽線なら明日は陰線か?



「今日が陽線なら明日は売り仕掛けをする」というルールはまずまずの成績でした。それなら「昨日も今日も陽線なら明日は売り仕掛けをする」は、より成績がよくなるのではないか。

右図のように条件表を変更します。(昨日も今日も陽線なら売り、昨日も今日も陰線なら買いとする)



  1. No.2行で、「始値」を取り出し、
  2. No.3行で、「株価(終値)−始値」の計算をします。終値<始値であれば「陰線」です。(終値−始値)の差が-1円以下であれば「買い」としています。
  3. No.4行で、昨日も陰線なら「買い」としています。(「注目1」と「注目2」が(1〜1)になっているのが昨日を表す。(0〜0)は今日を表す。)
    No.3行で今日が陰線、No.4行で昨日も陰線、の設定になります。

  4. No.5行で、「株価(終値)−始値」の計算をします。終値>始値であれば「陽線」です。(終値−始値)の差が+1円以上であれば「売り」としています。
  5. No.6行で、昨日も陽線なら「売り」としています。(「注目1」と「注目2」が(1〜1)になっているのが昨日を表す。(0〜0)は今日を表す。)
    No.5行で今日が陽線、No.6行で昨日も陽線、の設定になります。

  6. No.7行とNo.8行はこの例では必要ありません。(前日比を調べるときに使うつもりで設定した)
(次図)10年間の日経先物の「連続陰線」は588本ありました。(連続陰線であれば買い仕掛けをするので、例えば4連続陰線となったときは、2本連続したら買い、3本目の連続陰線でも買い、4本目の連続陰線でも買うことになる)。

「連続陰線なら明日は買い」の成績は、「今日が陰線なら明日は買い」の成績より少し悪くなっています。(もともと成績がよくないので誤差の範囲といえる)


  1. 連続陰線で買い仕掛けのトレードは588回あって、291勝297敗。
  2. 平均利益率は+0.01% (今日が陰線のときは+0.03%)。
  3. 勝率は 49.5% (今日が陰線のときは49.4%)。
  4. プロフィットファクターは1.01倍 (今日が陰線のときは1.07倍)。
(次図)10年間の日経先物の連続陽線は513回ありました。(連続陽線であれば売り仕掛けをするので、例えば4連続陽線となったときは、2本連続したら売り、3本目の連続陽線でも売り、4本目の連続陽線でも売ることになる)。「連続陽線が出たら売り」の成績はかなりのプラスになります。


  1. 連続陽線で売り仕掛けのトレードは513回あって、281勝232敗。
  2. 平均利益率は+0.18% (今日が陽線のときは +0.12%)。
  3. 勝率は 54.8% (今日が陽線のときは 52.7%)。
  4. プロフィットファクターは1.60倍 (今日が陽線のときは 1.34倍)。
どうでしょうか。「連続陽線なら売り仕掛け」のルールの成績は、どれも合格の水準を上回っています。ばかばかしいほどに単純なルールです。昨日と今日が陽線であれば、明日の始値で売り、終値で手仕舞いすれば、@平均利益率が0.18%(日経先物が14000円なら25.2円、17000円なら30.6円の利益)です。A勝率も55%に近く、Bプロフィットファクターから1000円損したならその1.60倍の1600円の利益がでるわけです。


E「連続陽線なら明日は売り仕掛け」のリスクは?



よいルールが見つかったと思っても、これをすぐに実行しないで下さい。@平均利益率+0.18%、A勝率54.8%、Bプロフィットファクター1.60倍、という成績は約10年間の成績です。10年のうちには、勝ち続けるときもあれば、負け続ける時期もあります。4連敗したので売買を一時中止したら、5回目から勝ち続けるはずだったということもあります。この10年間の連勝・連敗(とくに連敗)について知っておくことは、売買が継続できるかどうかのバックボーンになります。



右図は「検証」が終わった画面です。
  1. 「売買成績」ボタンをクリックすると、上のような成績表が出ます。これを見ると全体的な、また平均的な成績はわかりますが、局地的な成績はわかりません(連勝・連敗)。

  2. 必ず「損益経過」を見て、このルールを使ったときのリスクを知ってください。

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


右の「損益経過の表示」の画面が出てきます。日経先物を1枚ずつ売買するので、
  1. 「一定株数(千株)」を指定し、
  2. 「手数料」は「0%」(手数料は考慮しない)とし、
  3. 「初期資金」は「無制限」として、
  4. 「OK」ボタンをクリック。
次のような「損益経過」の画面が現れます。


  1. 「連続陽線なら売り仕掛け」の経過を見たいので、「売り経過」ボタンをクリックします。
  1. 各取引による「粗利益」。単位は(X1000倍)。150なら150000円の利益、-40なら40000円の損失。

  2. トレードの勝敗。「売買成績」と同じ数字。513回のトレードをして、281勝・232敗だった。(勝率は54.8%)

  3. 損失額(単位はX1000円)。利益額は34980(千) 円。損失額は-22040(千)円。差し引き12940(千)円の純利益。1294万円の純利益とはいっても、これは10年間の累計です。

  4. 10連勝があるが、6連敗もある。
    理論的に考えても、勝率が55%(負け率は45%)のとき、2連敗する確率は(0.45×0.45=0.2025)20%あります。3連敗の確率は(0.45×0.45×0.45=0.0911)9%あります。この例では513回のトレードをしていますから、513回のトレードで何連敗する可能性があるかと計算すると、513回で1回の確率は0.0019(約0.2%)なので、8連敗する可能性があります。

  5. 最も重視するのは「最大ドローダウン」です。-1570(千)円とあります。連敗中に157万円の損失がでていることがわかります。
    日経先物の1枚の証拠金を60万円とするならば、負け続けたときは証拠金の約2.5倍の損失がでています。よって、157万円+60万円=217万円の証拠金を用意していて、はじめて「連続陽線なら明日は売り仕掛け」をすることができるわけです。

    これだけ厚く証拠金を用意することは、個人投資家には難しいでしょう。217万円の証拠金を入れているのに60万円分の建て玉しかしないということも心理的に難しいでしょう。特に5連勝でもしたときには、1枚あたり証拠金の3倍以上の証拠金を預けておくことは馬鹿らしく思うでしょう。結果用意している証拠金の半分に見合う建て玉をしたところ、証拠金の3倍ほどの損失がでてしまい。ここで売買ができなくなる。ということになります。
  1. 「損益経過グラフ」を見てみましょう。



  1. 1997年11月16日は初めて建て玉した日です。このときの累計利益額は当然に0円です。

  2. 2000年1月25日には累計利益額は7360(千円)に積み上がります。証拠金が60万円として10倍以上になったわけです。
    しかし(B→C)では-1440(千円)の損失がでます。Aからスタートしていたのであれば、(B)時点ですでに7360(千円)の利益を積み上げて」いるので-1440(千円)の損失はなんでもありませんが、

  3. 不運にしてあなたが(B)から売買を開始していたならば、証拠金60万円の2.5倍の損失です。たぶんここで再起不能になっています。

  4. はなんとか持ちこたえ、(B)の累計利益7360(千円)から累計利益6750(千円)まで回復しますが、その後思わしい相場にはなりませんでした。

  5. (B→E)は大きな損失を出します。(E)の2001年1月14日では1枚当たり1570(千円)の損失がでます。証拠金の2.5枚分を失います。(A→B)の大勝(証拠金の10倍以上の利益)に気をよくして3枚ずつの建て玉をしていたときは4710(千円)の損失が発生します。5枚を建て玉していたのなら、7850(千円)の損失です。ここで(A)から営々と積み上げてきた利益は消滅します。

  6. だが相場というものは「禍福はあざなえる縄のごとし」です。(E)では(B)から1枚あたり1570(千円)の損失を出したものの、(E)から(F)に欠けて48200(千円)の利益が積み上がります。

  7. (F→G)では1180(千円)の損失を出すものの
  8. (G→H)では2860(千円)の利益を積み上げます。
10年間の成績が全体としてよいことを知っても、途中でどのような損失がでるのかを知っておかねば、実際の売買はできるものではありません。各期間について見ると、
  1. 〜B. (1997. 1.16〜2000. 1.25)。○26か月
  2. 〜C. (2000. 1.25〜2000. 3.29)。● 2か月
  3. 〜D. (2000. 3.29〜2000. 8.25)。● 5か月
  4. 〜E. (2000. 8.25〜2001. 1.23)。● 5か月 (B.〜E.までは12か月)
  5. 〜F. (2001. 1.23〜2004.12.15)。○47か月
  6. 〜G. (2004.12.15〜2005. 9.29)。●10か月
  7. 〜H. (2005. 9.29〜2006.11.15)。○14か月
となっています。○は利益が積み上がり、●は損失が積み重なった時期です。○の時期は誰でもこのルールは守れますが、●の時期にこのルールを実行できるかどうか。実行するにはそれなりの心構えと資金の準備が必要です。


F「損益経過グラフ」の形の良し悪し



上図は、「2連続陽線なら売り仕掛け」の損益グラフでした。このルールによる成績は、@平均利益率が0.18%、A勝率が54.8%、Bプロフィットファクターが1.60倍、というものでした。全体としてはこういう成績ですが、局地的にはどうなのかを知るために「損益グラフ」を見たのでした。さらに損益グラフの「形状」にも注意を払う必要があります。

損益経過グラフは左の0円からスタートして時間をかけて売買するほどに利益が積み上がっていかねばなりません。損益グラフが「右肩上がり」にならないルールは採用できません。損益グラフの形状は右図のように分類できます。
  1. は「右肩上がり」で、取引をすればするほど利益が積み上がっています。先の「2連続陽線なら売り仕掛け」の損益グラフはこの形状をしているので、よいルールです。

  2. は「右肩下がり」で、取引をすればするほど損失が積み上がっています。このルールは何の役にも立たないし、害を及ぼすだけです。

  3. はスタート直後は「右肩下がり」であったが、その後「右肩上がり」に転じたものです。最近はルールが有効になっていることを表しています。
  4. はスタート直後は「右肩上がり」であったが、その後「右肩下がり」に転じたものです。最近はルールが無効になっていることを表しています。

    (c)と(d)が全体として同じ成績になっているときは、当然に最近が「右肩上がり」になっている(c)を採用すべきです。

  5. はスタート直後は「右肩上がり」だったが、その後「横ばい」になっているもの。
  6. はスタート直後は「右肩下がり」だったが、その後「横ばい」になっているもの。

    全体の成績は(f)より(e)のほうがよい数字になりますが、最近はどちらも利益が積み上がっていないので、この2つのルールはともに無効です。

次図は、「2連続陰線なら買い仕掛け」のルールによる損益グラフです。このルールの成績はすでに掲げたように、@平均利益率が0.01%、A勝率が49.5%、Bプロフィットファクターが1.01倍、というものでした。この数字だけを見ても、少しも利益がでないダメなルールであることがわかります。


    A.〜D.は「右肩上がり」でOKですが、
    D.〜G.は「右肩下がり」に転じ、(d)の形状になっています。
    G.〜H.を経てからは「横ばい」になり、(f)の形状になりました。
当然に、このルールは採用すべきではありません。
ここまでの@〜F章で、
  1. 売買マークの出し方(ルール)を思いついたら、条件表を設定する。
  2. 次に「検証」をして、「売買成績」で全体の成績(平均利益率・勝率・プロフィットファクター)を知る。
  3. 「損益経過」で、リスク(連敗・最大ドローダウン)を知る。
  4. 「損益経過グラフ」で、そのルールの有効性を知る。
ということを述べました。この繰り返しをすることで、よい売買システムができます。また検証の作業をすることで、作ったシステムに対する信頼感が持て、これを持続して「実行」できるようになります。


Gリスクの制御(ストップロス)



E章の「"連続陽線なら明日は売り仕掛け"のリスクは?」で、「損益経過」から以下の成績およびリスクがあることがわかりました。

  1. 連続陽線で売り仕掛けのトレードは 513回
  2. 平均利益率は +0.18%
  3. 勝率は 54.8%
  4. プロフィットファクターは 1.60倍
  5. 6連敗することがある
  6. 最大ドローダウンは -1570(千)円
最大ドローダウンは、このシステムによって過去にどれほどの損失が積み上がったかを表す重要なリスクです。この例では-1570(千円)という損失がでたことがあります。1枚の証拠金が50万円〜60万円としても2.5倍〜3倍の証拠金が吹き飛ぶことがあったわけです。 最大ドローダウンが巨額だと、いくら全体としてはよい成績が出るといっても、実際の売買は困難です。いつ最大ドローダウンに匹敵する(あるいはそれ以上の)損失が出るかわからないからです。最大ドローダウンは極力小さくすべきです。

最大ドローダウンは、@一回当たりの平均損失額と、A勝率(何連敗するか)、によってその大きさが決まるとしてよいでしょう(全部がそうではないが)。最大ドローダウンを小さくするには、平均損失額を少なくするか、勝率をアップするかです。(ここでは勝率のアップについては触れません。よりよい条件表を作るか、売買ルールを工夫することで勝率はアップできます。)


一定の損失額がでたら損切りする(ロスカット)ことで「@平均損失額を小さくする」ことができます。しかし「A勝率」は低下します。利益の総額も小さくなります。

図は「始値で売り仕掛けして、ザラバで80円の損失がでたら損切りする」としたときの例です。
  1. は、16000円で売り仕掛けをしたところ、ザラバで16080円になったので損切りした。このときの@損失額は-80円で、A勝率は1敗、です。
    もし損切りをしていなければ、終値は15800円であったので、@利益額が+200円、A勝率は1勝、でした。

  2. は、16000円で売り仕掛けをしたところ、ザラバで16080円になったので損切りした。このときの@損失額は-80円で、A勝率は1敗、です。
    もし損切りをしていなければ、終値は16200円であったので、@損失額が-200円、A勝率は1敗、でした。

  3. 損切りをしなかったとき、A,Bの取引の通算の成績は、@利益+200円・損失-200円で、合計0円の利益です。A勝率は50%。B最大ドローダウンは-200円。になります。

  4. -80円で損切りをしたとき、A,Bの取引の通算の成績は、@利益-80円・損失-80円で、合計-160円の損失です。A勝率は0%。B最大ドローダウンは-160円。になります。
適切な損切り幅を決めておくことで、@最大ドローダウンの額は小さくすることができます(Cのドローダウンが-200円に対して、Dは-160円)。しかしA損切りすることで利益の絶対額は少なくなり(Cの合計利益は0円に対して、Dは-160円)、B勝率も低下(Cの1勝1敗に対して、Dは2敗)します。


どれくらいの損失で損切りすれば適当かを「検証」で調べてみましょう。使う条件表はDEF章で用いた「連続陽線で売り」です。

「検証」する際の「売買ルール」は右のようにします。
  1. 売買マークが出たら、翌日の始値で仕掛ける

  2. 仕掛けた日の
  3. 終値で手仕舞いする

    ここまでは、これまでと同じですが、ここへ「損切りのルール」を追加します。

  4. 仕掛けた値段から「-0.3%」(この数字を変えてみる)以上の損失が、
  5. ザラバで出たら、
  6. そのザラバ値段で損切りする
なお《Qエンジン24》でのザラバで損切り(利食いも同じ)するときの値段は日経先物のように10円キザミではありません。例えば、16470円で売り仕掛けをしたとき、-0.7%の損失がでる株価水準16585.29円なので、16586円で損切りしたことになります。(実際には日経先物の呼び値は10円キザミなので16586円の値段はつかず、16590円で損切りすることになります。)

(次表)この結果を表にまとめました。右端の項目の「PD倍率」は(純利益額÷最大ドローダウン)を計算したものです。最大ドローダウンはシステム売買をするときに余計に準備しておかねばならない備えですが、その何倍のリターンが得られたのかを計算してみました。PD倍率は高いほどシステムの効率がよいといえます。

No. 損切り% 売りトレード 平均利益 勝率 プロフィットF 連敗 最大ドローダウン 総純利益額 PD倍率
1 -0.1% 513件 0.01% 10.5% 1.17倍 35連敗 -847千円 1110千円 1.31倍
2 -0.2% 513件 0.03% 19.1% 1.16倍 28連敗 -1046千円 1858千円 1.77倍
3 -0.3% 513件 0.05% 27.9% 1.22倍 18連敗 -1024千円 3289千円 3.21倍
4 -0.4% 513件 0.10% 36.1% 1.40倍 10連敗 -834千円 6656千円 7.98倍
5 -0.5% 513件 0.11% 41.3% 1.43倍 10連敗 -875千円 8208千円 9.38倍
6 -0.6% 513件 0.10% 43.3% 1.34倍 10連敗 -1183千円 7019千円 5.10倍
7 -0.7% 513件 0.10% 45.6% 1.32倍 10連敗 -1374千円 6958千円 5.06倍
8 -0.8% 513件 0.10% 47.4% 1.31倍 10連敗 -1865千円 7093千円 3.80倍
9 -1.0% 513件 0.14% 52.2% 1.44倍 6連敗 -1283千円 10541千円 8.21倍
10 -1.2% 513件 0.14% 52.8% 1.42倍 6連敗 -1417千円 10384千円 7.32倍
11 -1.5% 513件 0.14% 53.4% 1.41倍 6連敗 -1507千円 10103千円 6.70倍
12 -1.8% 513件 0.15% 54.2% 1.48倍 6連敗 -1440千円 11332千円 7.86倍
13 -2.0% 513件 0.15% 54.2% 1.46倍 6連敗 -1560千円 11022千円 7.06倍
14 -2.5% 513件 0.17% 54.6% 1.53倍 6連敗 -1659千円 12200千円 7.35倍
15 -3.0% 513件 0.18% 54.8% 1.59倍 6連敗 -1570千円 12932千円 8.23倍
0 損切りしない 513件 0.18% 54.8% 1.60倍 6連敗 -1570千円 12940千円 8.24倍

  1. 損切り%があまりにも小さい(-0.3%以下)と、@最大ドローダウンは小さくなりますが、これと引き換えにA連敗が大きくなり、B利益の積み上がりが小さくなります。その結果、CPD倍率が大きくても3倍台にとどまっています。(10年間の積み上げとしては面白くない)

  2. 損切り%が大きい(-1.0%以上)または損切りしないときは、@最大ドローダウンは大きくなりますが、これと引き換えにA連敗が少なくなり、B1回あたりの利益額が大きいので、利益が積み上がります。その結果、CPD倍率は6倍を超えています。

  3. 最もPD倍率がよいのは-0.5%の損切りのときで、@最大ドローダウンは小さく、A連敗は-0.8%のときと変わらず、B利益の積み上がりがそこそこあります。その結果CPD倍率が9.38倍で、最も効率的なシステムだといえます。


H相場の局面を2つに区分してみると



成績を向上させるためには、さまざまなチャートを付け加えて局面を絞り込む必要があります。ここまでやったことは以下のことでした。
  1. 陽線が出たら「買い」とし、陰線が出たら「売り」とする。この成績は、
    買いは(@トレード数が1177回、A平均利益率が-0.12%、B勝率が43.7%、CPFが0.75倍)
    売りは(@トレード数が1246回、A平均利益率が-0.03%、B勝率が47.1%、CPFが0.94倍)でした。よい成績ではありません。そこで

  2. 陰線が出たら「買い」とし、陽線が出たら「売り」とする。この成績は、
    買いは(@トレード数が1246回、A平均利益率が0.03%、B勝率が49.4%、CPFが1.07倍)
    売りは(@トレード数が1177回、A平均利益率が0.12%、B勝率が52.7%、CPFが1.34倍)になりました。陰線がでたら買い、陽線がでたら売りのほうがよい成績になることがわかりました。さらに成績を高めるために、

  3. 連続陰線が出たら「買い」とし、連続陽線が出たら「売り」とする。この成績は、
    買いは(@トレード数が588回、A平均利益率が0.01%、B勝率が49.5%、CPFが1.01倍)
    売りは(@トレード数が513回、A平均利益率が0.18%、B勝率が54.8%、CPFが1.60倍)になりました。「連続陰線の買い」は、「陰線がでたら買い」よりわずかに成績は悪く(ほぼ同じ)なりましたが、「連続陽線の売り」は「陽線がでたら売り」よりもよい成績になることがわかりました。
条件を追加すれば売買マークがでる日は絞られ、トレード数はしだいに減少していきます。絞った結果、よい成績が出ればよいのですが「連続陰線なら買い」の場合は絞っても成績は向上しませんでした。「買い」の場合は「連続陰線」は役にたちません。ではどのような条件を追加すればよいのか。


例えば右図は毎日HPに掲載している条件表No.20「平均線と順位相関」のグラフです。以下のチャートを描画しています。このチャートを使って、売買マークを出す局面を絞ってみましょう。

ここでは以下のように、仮に上昇波動の局面と下降波動の局面を区分し、「上昇波動なら買い(売り)」、「下降波動なら売り(買い)」という条件を追加してみます。
  1. 主な株価がボトムを表示した日から上昇波動(ピークを表示した日から下降波動)
  2. 株価が9日線より上位なら上昇波動(下位なら下降波動)
  3. 株価が25日線より上位なら上昇波動(下位なら下降波動)
  4. 株価が75日線より上位なら上昇波動(下位なら下降波動)
  5. 株価が200日線より上位なら上昇波動(下位なら下降波動)
  6. 9日順位相関が0以上なら上昇波動(0未満なら下降波動)
  7. 25日順位相関が0以上なら上昇波動(0未満なら下降波動)
    あるいは
  8. 9日線が25日線より上位なら上昇波動(下位なら下降波動)
  9. 9日線が75日線より上位なら上昇波動(下位なら下降波動)
  10. 25日線が75日線より上位なら上昇波動(下位なら下降波動)
次のような条件表を設定します。



  1. No.3行は、陰線なら買い。No.4行は陽線なら売り。
    これは「陰線なら買い」「陽線なら売り」のメインの売買条件です。No.9以下に、波動が上昇中なら買い、下降中なら売りのいくつかの設定をしています。

  2. No.9行は、「HL転換」が陽転中(主な株価のボトムが表示されたら)買い。No.10行は「HL転換」が陰転中(主な株価のピークが表示されたら)売り。

  3. No.11行は、「株価が9日線を」上回っているときは買い。No.12行は「株価が9日線を」下回っているときは売り。
    No.13行は、「株価が25日線を」上回っているときは買い。No.14行は「株価が25日線を」下回っているときは売り。
    :   :    :
  4. No.23行は、「9日順位相関が」0以上のときは買い。No.24行は「9日順位相関が」0以下のときは売り。
「検証」をする際には、@No.3行の「買い」とNo.4行の「売り」と、ANo.9行の「買い」とNo.10行の「売り」だけを売買マークを出す条件とします。(No.11行〜No.26行の「買い」と「売り」は「なし」に変更しておきます。

No.9行+No.10行の検証が終わったら、No.9行の「買い」を「なし」に変更し、No.10行の「売り」を「なし」に変更し、No.11行を「買い」に、No.12行を「売り」に変更します。



この条件表(QE描画用)のNo.63「陰線・陽線B」の検証をして見ましょう。
  1. 条件表は、No.63
  2. 条件表の内容は、(No.3行 陰線で買い+No.9行「HL転換」が陽転中は買い)、(No.4行 陽線で売り+No.10行「HL転換」が陰転中は売り)の組み合わせです。

  3. 検証する時期は1996年12月18日〜2007年3月11日までの約10年間。

  4. 「売買共」を指定(買いと売りを一度に検証する)

  5. 「売買ルール」はこれまでと同じ。翌日始値で仕掛け、終値で手仕舞い。

  6. 「実行」ボタンをクリックすれば、1分かそこらで成績がでます。

この結果を表にまとめました。タイトル部分が黄色の数字は「買い」の成績で、タイトル部分が緑色の数字は「売り」の成績です。

No. 売買マーク 買い件数 平均利益 勝率 プロフィットF 売り件数 平均利益 勝率 プロフィットF
0 陰線なら買い
陽線なら売り
1246件 0.03% 49.4% 1.07倍 1177件 0.12% 52.7% 1.34倍
1 +HL転換陽転中は買い
+HL転換陰転中は売り
614件 0.01% 48.7% 1.03倍 576件 0.12% 51.7% 1.28倍
2 +9日線より上位なら買い
+9日線より下位なら売り
482件 -0.04% 44.6% 0.90倍 426件 0.11% 51.2% 1.26倍
3 +25日線より上位
+25日線より下位
641件 -0.01% 47.5% 0.97倍 482件 0.06% 51.5% 1.14倍
4 +75日線より上位
+75日線より下位
572件 -0.02% 46.0% 0.94倍 517件 0.12% 54.5% 1.28倍
5 +200日線より上位
+200日線より下位
525件 -0.02% 48.8% 0.95倍 529件 0.11% 53.5% 1.26倍
6 +9日線が25日線より上位
+9日線が25日線より下位
613件 0.00% 48.9% 1.01倍 577件 0.09% 53.0% 1.22倍
7 +9日線が75日線より上位
+9日線が75日線より下位
608件 -0.04% 47.0% 0.91倍 555件 0.12% 54.4% 1.29倍
8 +25日線が75日線より上位
+25日線が75日線より下位
604件 -0.06% 47.0% 0.86倍 562件 0.14% 54.3% 1.35倍
9 +9日順位相関が0以上
+9日順位相関が0以下
599件 0.02% 48.1% 1.04倍 548件 0.13% 50.9% 1.33倍
10 +25日順位相関が0以上
+25日順位相関が0以下
622件 -0.01% 48.6% 0.96倍 576件 0.05% 52.4% 1.12倍

意外な結果になりました。例えばNo.3の欄は、「陰線なら買い+株価が25日線より上位にあるときは買い」の条件ですが、この成績は(@トレード数が641回、A平均利益率が-0.01%、B勝率が47.5%、CPFが0.97倍)になっています。No.0欄の「陽線なら買い」という単純な条件の成績が(@トレード数が1246回、A平均利益率が0.03%、B勝率が49.4%、CPFが1.07倍)ですから、「株価が25日線より上位にあるときは買い」の条件を追加することで、成績は却って悪化したわけです。これでは局面を絞った意味がありません。

これはNo.3欄の「25日線より上位なら買い」に限ったことではありません。No.1〜No.10欄のどの条件をつけても「買い」の成績は向上していません。

「売り」の成績を見ると、No.8の「陽線なら売り+25日線が75日線より下位にあるとき売り」がNo.0欄の「陽線なら売り」の成績をわずかに上回っているにすぎません。(誤差の範囲でしかない)


I相場の局面をさらに絞る



当初の予想では、「株価が25日線より上位にあるときは、上昇波動であるから、陽線が多くなるはずである。したがって「株価が25日線より上位にあるときは買い」の条件を設定したのです。しかし9日線・25日線・75日線などを使って、局面を2つに区分しただけでは成績が向上しないことがわかりました。(これはチャートを使って上昇波動・下降波動を機械的に区分することが難しいということであって、上昇波動・下降波動を区分しても役に立たないということではありません)

そこで、局面をさらに絞ることにしました。右図は、9日順位相関が-50以下のときを赤色で塗っています。この赤色の時期に「陰線なら買い」としたらどうなるでしょうか。

順位相関が-50以下のときに陰線がでたので、翌日買ったときの結果が赤○(陽線になって勝った)、青●(陰線になって負けた)です。

赤○は5個、青●は3個あります。このグラフでは「順位相関が-50以下」の局面に絞ると成績がよいようです。

9日順位相関(RCI)を使って局面を絞ったときの成績は次のようになりました。

No. 売買マーク 買い件数 平均利益 勝率 プロフィットF 売り件数 平均利益 勝率 プロフィットF
0 陰線なら買い
陽線なら売り
1246件 0.03% 49.4% 1.07倍 1177件 0.12% 52.7% 1.34倍
1 +9日RCIが0以下で買い
+9日RCIが0以上で売り
643件 0.04% 50.5% 1.09倍 629件 0.12% 54.2% 1.36倍
2 +9日RCIが+50以下で買い
+9日RCIが-50以上で売り
840件 0.08% 51.3% 1.19倍 831件 0.14% 53.4% 1.43倍
3 +9日RCIが-50以下で買い
+9日RCIが+50以上で売り
422件 0.14% 54.0% 1.32倍 416件 0.15% 56.0% 1.53倍
4 +9日RCIが0以上で買い
+9日RCIが0以下で売り
599件 0.02% 48.1% 1.04倍 548件 0.13% 50.9% 1.33倍
5 +9日RCIが-50以上で買い
+9日RCIが+50以下で売り
826件 -0.03% 47.0% 0.93倍 766件 0.10% 50.7% 1.26倍
6 +9日RCIが+50以上で買い
+9日RCIが-50以下で売り
408件 -0.08% 45.8% 0.82倍 348件 0.08% 50.3% 1.17倍

No.3欄の「9日順位相関が-50以下で買い、+50以上で売り」が最もよい成績になっています。ただしこのルールが実用になるかどうかは、「損益経過」および「損益経過グラフ」で確認する必要があります。


「買い」の損益経過では、
  1. 10連勝があるが

  2. 6連敗もある。

  3. 最大ドローダウンは3890千円と巨大
なものでした。

損益経過グラフは「横ばい」。順位相関が-50以下であるからといっても、当たったりはずれたりの繰り返しです。

「売り」の損益経過では、
  1. 11連勝があるが

  2. 6連敗もある。

  3. 最大ドローダウンは1370千円。
ドローダウンは「買い」に比べるとましだが、1370千円は大きすぎます。

損益経過グラフはおおむね右肩上がりではあるが、2004年3月以降は「横ばい」です。最近は当たったりはずれたりで効力はあまりなさそうです。


J条件表を最適化する(以上・以下)



「損益経過」で調べた結果、不満ではあるが、とりあえず次の条件表ができたとしましょう。




「9日順位相関が-50以下で買い」としたのは「思いつき」です。「9日順位相関が+50以上で売り」としたのも「思いつき」です。本当に-50以下がよいのか、+50以上がよいのか。《Qエンジン24》には、これを調べる便利な機能があります。「最適以上以下」です。

  1. 日経先物を選択し、

  2. メニューの「最適」→「最適以上以下」をクリックします。

  3. 条件表は、No.64
    (ここに順位相関を設定した)

  4. 条件表の内容は、No.3行に(陰線で買い)、No.5行に(順位相関が-50以下で買い)が設定してるので、このNo.5行をクリックして、

  5. 「以下欄の変化範囲」を(-100〜0 まで 2ずつ増加)と指定します。

    「最適以上以下」は-50以下の数字を-100,-98,-96,-94・・・・-4,-2,0 と変化させ、そのパラメータのときの売買成績を表示します。

  6. 検証する時期は1996年12月18日〜2007年3月11日までの約10年間。

  7. 「買いだけ」を指定。

  8. 「売買ルール」はこれまでと同じ。
  9. 「実行」ボタンをクリック。


6秒で計算が終わりました。
  1. 最下行に最も成績がよいと思われるパラメータが表示されています。

    (a)パラメータが-96(以下)のとき、
    (b)トレード数は26回あって、
    (c)平均利益率は0.29%
    (d)勝率は61.5%
    (e)PFは1.69倍%
    とあります。

    トレード数が26回というのは少なすぎます。全部で2400日以上あるのだから、この1割くらいのトレード数があってほしいところです。


  2. 「最適条件検索」ボタンをクリック。

  3. @売買回数は240回以上
    A平均利益率は0.15%以上
    B勝率は50%以上
    CPFは1.5倍以上
    と指定して、

  4. 「検索開始」ボタンをクリックすると、


  5. この検索条件に該当するパラメータの色が変わります。
図では
(a)パラメータが-70以下のとき、
(b)トレード数は270回あって、
(c)平均利益率は0.20%
(d)勝率は58.9%
(c)PFは1.50倍%
となっています。

「9日順位相関が-70以下で、陰線がでたら買い」が最適であることがわかります。

なおトレード数が400回以上あることを条件にしたときは、「9日順位相関が-52以下で買い」でが適当でした。(@トレード数は403回、A平均利益率が0.17%、B勝率は55.6%、CPFは1.40倍)


「売り」の最適な「以上・以下」を調べてみます。
  1. No.6行をクリックして、
  2. 「以上欄の変化範囲」を(0〜100 まで 2ずつ増加)と指定します。

    「最適以上以下」は50以上の数字を 0,2,4,6・・・・96,98,100 と変化させ、そのパラメータのときの売買成績を表示します。

  3. 「売りだけ」を指定。

  4. 「売買ルール」はこれまでと同じ。

  5. 「実行」ボタンをクリック。

  6. トレード数が240回以上あることを期待するときは、「順位相関が+50以上で売り」となりました。
これは期せずして「思いつき」の「+50以上」と一致しました。

なお「+88以上で売り」の成績は(@トレード数は162回、A平均利益率が0.16%、B勝率は53.7%、CPFは1.63倍)でした。


「順位相関が-70以下で、陰線が出たら買い」というルールでの損益経過グラフは右のようになっていました。

途中で「横ばい」があるが、最近は「右肩上がり」になっていて、有効であることがわかります。


K「オートマ」で有効なチャートを見つける



「陰線がでたら買う」「陽線が出たら売る」という単純な売買マークに、どういったチャートを使って、どういった条件をつけたら、成績が向上するのかをHIJ章で述べました。この作業はいくつかのことを何度も繰り返す必要がありました。例えば「陰線がでた日の9日順位相関が-70以下のとき買い」を決めるために、
  1. H章で、10種類のチャートについて「検証」した結果、順位相関に注目し、
  2. I章で、そのうちの9日順位相関について、どのような「以上・以下」にすればよいのかの「検証」をし、
  3. J章で、「XX以下で買い」「XX以上で売り」のXXを「最適以上以下」によって最適化しました。
これでようやく「順位相関」によって局面を絞るには「買いのときは-70以下」「売りのときは50以上」ということがわかったのでした。思いついたチャートについて、この作業をすることはまったく大変です。しかし《Qエンジン24》では、この作業は「オートマ」がしてくれます。


右図は、ある時期の日経先物のグラフです。いま「陰線が出たら買う」というルールで「翌日の始値で買い、終値で売る」とき、利益がでるのは翌日が陽線であったときだけです、翌日が陰線または同事線のときは損失になります。

陰線の翌日が陽線となったものに赤○を、陽線にならなかったものに青●を打っています。この期間にある陰線のすべては赤○か青●がつけられています。

赤○は18個、青●は15個あります。この期間だけを問題にするならば、「陰線が出たら買い」の勝率は54.5%(18勝15敗)です。

もし勝率を60%以上に高めたいとするならば、ほかのチャートで局面を絞ることだと何度もいい、そのやりかたを述べてきました。

例えばI章では「順位相関が-50以下」の局面に絞りました。この局面での陰線について、翌日が陽線ならピンク○を、そうでないなら緑●を打つと、ピンク○は6個、緑●は4個になります。勝率は60.0%(6勝4敗)になります。

「オートマ」の原理は簡単なものです。
  1. まず、上図のように、売買マークを出したい日を赤○とし、出したくない日を青●に区分します。

  2. ついで調べたいチャートがどうなっているかを計算します。例えば、9日順位相関を計算し、赤○の日と青●との順位相関を比べてみます。赤○の日の順位相関の平均値が-15.0で、青●の日の順位相関の平均値が+2.3であるなら、順位相関の数値が低いほうが赤○が多い、と推測できます。

  3. そこで、順位相関が+90以下の局面では、赤○は何個あり、青●が何個あるかを調べ、ひらたくいえば勝率を計算します。ついで順位相関が+80以下の局面での勝率を調べ、+70以下の局面での勝率を調べ・・・を繰り返すと、「順位相関がXX以下のときの勝率がよい」ことがわかります。 (勝率だけがよくても5勝1敗といったようにトレードするチャンスが少ないと役に立たないので、実際には45勝15敗のほうが「よい」と「オートマ」が統計的な判断をする。)

  4. ほかのチャート(例えばカイリ率・前日比・当日の陰陽足の長さ・平均線の向き)などについても同じことをします。カイリ率が+2.0%以上の局面では「赤○が150個、青●が90個あった(仮定)」ならば、「株価カイリ率が+2.0%以上のときは買い」と局面を絞ることができます。

  5. オートマは局面を絞るのに役立ついくつかのチャートを見つけ、その優先順位を決めてくれます。
ここでは赤○や青●という言葉を使いましたが、「オートマ」では、
  1. 「注目点」(赤○。売買マークを出したい日)
  2. 「雑音点」(青●。売買マークを出したくない日)と呼びます。
  3. 注目点は「注目ファイル」というファイルに記憶させ、
  4. 雑音点は「雑音ファイル」というファイルに記憶させます。2つのファイルを「注雑ファイル」とまとめて呼びます。


Lオートマで使う条件表は3種類ある




「オートマ」はどういう処理をして、役立つチャートを見つけるのでしょうか。全体の流れをざっと説明します。

  1. 「日経先物」を選択しておいて、

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

「オートマの指示」の画面が現れます。ここで指示することは、
  1. 「買い」「売り」のどちらの条件表を作るのか

  2. 日経先物のデータはどの時期のものを使うのか

  3. 描画用の条件表No.。注目点を条件表を使って自動的に設定するときは、その条件表のNo.

  4. 注目点を自動的に設定するときの補助機能。

  5. 注目点の位置を変えることができる補助機能。

  6. 雑音点はどの位置に設定するのか?

  7. 注雑ファイルのNo.。注目点・雑音点を記憶する。

  8. 計算用の条件表No.。どのようなチャートを計算するのかを設定している条件表No.

  9. 注目点と雑音点を区別するときの「基準」

  10. 条件表を自動生成するときのルール

  11. 生成先の条件表No.。出来上がる条件表を記憶する条件表No.

ややこしそうですが、重要なものは太字の番号のものです。3つの条件表No.(@描画用、A計算用、B生成先)と1つの注雑ファイルNo.を指定します。この例で使う条件表は次のものとしました。

(@描画用条件表No.=63)


No.3行で、「陰線なら買い」の設定をしています。この例ではメインの買い条件です。

(A計算用条件表No.=1)



ここには、注目点(買いマークを出したい日)と雑音点(買いマークをだしたくない日)を判別できるかもしれないさまざまなチャートを設定しています。

「条件欄」に「買い」(「売り」でもよい)と設定しているチャートが計算され、注目点と雑音点を判別するのに役立つかどうかが計算されます。この条件表には30種類のチャートが設定されています。

(B生成先条件表No.=110)



出来上がった条件表が記憶される条件表なので、今のところ空白です。(設定してる条件表を指定すると、元の設定はクリアされる)


M注目点と雑音点を設定する



「オートマ」は、注目点と雑音点を自動的に設定する機能をもっていますが、この例(同じ陰線であるのに注目点になるし雑音点にもなる)では自動的にはできません。(裏ワザを使えばできるが、説明が煩雑になるので省略)ここでは「手動」で、注目点と雑音点を設定します。そのほうが注目点と雑音点の意味がより理解できると思います。


  1. 銘柄一覧表から「日経先物」を選択しておいて、

    メニューの「手動」→「注雑個別設定」をクリック。

    次図の「注目点・雑音点の個別設定」の画面が現れます。

  2. グラフを見ながら注目点・雑音点を設定するので、グラフが見やすい条件表No.を指定します。



  3. ここではNo.1の「陰陽足」を指定しました。

  4. 注目点は「買いマーク」を出すためのものであると指定します。

  5. 注目点と雑音点を記憶する注雑ファイルNo.を指定。前L章の「オートマの指示」で、注雑ファイルNo.は110 としているので、これに従いNo.110を指定しました。

  6. 「実行」をクリックして、注目点・雑音点の設定を開始します。

注目点・雑音点を設定できるグラフ画面が現れます。描かれているチャートは、さきほど指定したNo.1「陰陽足」です。

この例での注目点(買いマークを出したい日)とは、「@陰線で、A翌日が陽線になった日」です。図では(a,b,e)が該当します。

また、この例での雑音点(買いマークを出したくない日)とは、「@陰線で、A翌日も陰線になった日」です。図では(c,d,f)が該当します。

(a)の日を注目点と設定してみましょう。
  1. 「注目点」(ピンク色の部分)をクリックし、

  2. (a)の位置をクリックするか、グラフ画面左下の「<」「>」ボタンをクリックして(a)の位置にピンク色のカーソル(破線)を移動させ、

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

  4. カーソルのあった日(クリックするとその位置にカーソルが移動する)にピンク色の実線が引かれます。この時点で(a)の日は注目点であると、認識されます。

    次に(b)の位置をクリックしてカーソルを移動させ、

  5. 「設定」ボタンをクリックすると、(b)の日が注目点として設定されます。


(c)の日を雑音点と設定してみましょう。
  1. 「雑音点」(緑色の部分)をクリックし、

  2. (c)の位置をクリックするか、グラフ画面左下の「<」「>」ボタンをクリックして(c)の位置に緑色のカーソル(破線)を移動させ、

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


  4. カーソルのあった日(クリックするとその位置にカーソルが移動する)に緑色の実線が引かれます。この時点で(c)の日は雑音点であると、認識されます。

    次に(d)の位置をクリックしてカーソルを移動させ、

  5. 「設定」ボタンをクリックすると、(d)の日が雑音点として設定されます。

  6. この例の注目点は「陰線で翌日が陽線」であるので、先に注目点をまとめて設定するとよいでしょう。

    残りの陰線は「陰線で翌日が陰線(または同事線)」ということになるので、雑音点を簡単に見つけることができます。


この画面のすべての陰線について注目点か雑音点かの設定をしました。

グラフ画面右下の「<」「>」ボタンをクリックして、画面をスクロールさせて、過去のグラフにも注目点・雑音点を設定します。

実際のところこの作業は大変です。「日経先物」の過去の陰線の総本数は1246本でした。1246本について注目点か雑音点かを設定しなければならないわけです。

この例では、「自動的」に設定しにくい日を注目点・雑音点としたのが手間がかかる原因です。

通常は自動的に設定しやすい日を注目点・雑音点として、「オートマ」に自動的に注目点と雑音点の設定をさせます。

(例えば小波動のボトムを注目点とする。9日順位相関が-80以下から上向いた日を注目点とする。5%の値上がりをした前日を注目点とする。などは条件表に設定できるので、自動的に設定できます。)
  1. すべての陰線について注目点と雑音点を設定したら、「終了」ボタンをクリック。
    No.110の「注雑ファイル」に注目点と雑音点が記憶されます。


N条件表を生成する



メニューの「オートマ」をクリックして、「オートマの指示」の画面を出します。
  1. 「注雑ファイル」のNo.110は、616個の注目点と588個の雑音点が設定されていることを表しています。(さきほど「手動」で設定したものです)
通常、「オートマ」は以下のように流れていきます。
  1. 「描画用条件表(No.63)」と注目点・雑音点を設定する補助機能を使って、注目点と雑音点を自動的に設定し、

  2. 注目点・雑音点は「注雑ファイル(No.110)」に記憶される。

  3. 役立つかも知れないチャートを設定している「計算用条件表(No.1)」を使って、注目点と雑音点の日のチャートの値を計算し、(b)の注雑ファイルにチャートの値を記憶する。

  4. (b)の注雑ファイルの内容を分析して役立つチャートが決められる。役立つ順に条件表が設定され、「生成先条件表(No.110)」に条件表ができあがる。
この例では、(a)で自動的に注目点・雑音点を設定させずに、「手動」で注目点・雑音点を設定し、(b)の注雑ファイルに記憶させた。という段階です。

  1. 次は(c)の計算をして、(d)の条件表を生成します。ここからはすべて自動的に処理されます。

  2. (a)(b)も自動的に処理するときは「新規実行」ボタンをクリックしますが、

  3. この例ではすでに(b)までの処理が終わっています。(c)からの処理をさせるために「引継実行」ボタンをクリックします。

  4. 「引継実行」は、「注雑計算から開始」を指定。(雑音設定はできているから)

  5. 「判別後の最小注目数」は、この例では使いません。

  6. 「OK」ボタンをクリックすると、あっというまに条件表が生成されます。


  7. 「オートマ」は条件表No.110を生成しました。所要時間はたったの26秒でした。

  8. 「生成先条件表」欄を見ると、24行の条件表ができているようです。

  9. できた条件表の内容を知りたいなら「確認」ボタンをクリックします。

以下の条件表が生成されていました。



  1. No.3行は、「陰線なら買い」というメインの買い条件です。
  2. No.6行は、「5日平均線と9日平均線のカイリ率が、-0.7以下なら買い」。これが最も役立つと判断されたチャートです。
  3. No.7行は、「9日順位相関が -66以下なら買い」。これが次に役立つチャートです。(J章の「最適以上以下」で見つけた「-70以下で買い」に近い)。
  4. No.9行は、「株価と25日線のカイリ率が -6.7%以下なら買い」。
  5. No.23行は、「17日順位相関が 2.4以上なら買い」。これは16番目に役立つと判定されています。
  6. No.24行は、「17日順位相関の最小日数が7.2日以上なら買い」。これは17番目に役立つと判定されています。
「オートマ」が生成した条件表は、この例では「重層条件ルール」で生成させたものです。「重層条件ルール」では、役立つチャートから順に条件表に書き込まれています。よって、もしこの条件表をそのまま使うなら、ほとんど買いマークはでないでしょう。例えばNo.7行の「9日順位相関が-66以下なら買い」という条件とNo.23行の「17日順位相関が90以上なら買い」という条件を同時に満足するような局面はほとんどないからです。

この条件表を使うときは、
  1. メインのNo.3行まではいつも使う。
  2. 条件表の上位の数行までを利用する(それ以下の行は抹消する)
  3. メインのNo.3行までと各条件行(例えば(b)だけ、(c)だけ、あるいは(d)だけ)の2つを条件表に残す。
という使い方をしてください。


Oオートマが見つけたチャートの成績はどうか?



「オートマ」が役に立つと判断したチャートは、本当に役立つのでしょうか?単純な「陰線なら買い」の条件表の成績は、C章で「検証」しています。成績は次のようになっていました。




  1. 買い仕掛けのトレードは1246回あって、616勝630敗。
  2. 平均利益率は+0.03%。(日経先物が14000円だとすると、1回につき5.2円ずつ利益が出る)
  3. 勝率は49.4%。
  4. プロフィットファクターは1.07倍。(利益総額は損失総額の1.07倍である)
「陰線なら買い」にオートマが見つけたチャートを1つずつ追加して、どのような成績になるのかを「検証」をしてみます。

  1. オートマが生成した条件表No.110は「陰線なら買い」というタイトルにして保管します。

  2. 条件表No.111にNo.110をコピーし、条件表に1つのチャートだけを残します。

  3. 図では、「5日線と9日線のカイリ率が-0.7%以下なら買い」だけを残したものを検証しようとしています。

  4. 検証期間はこれまでと同じ。
  5. 売買ルールもこれまでと同じ。

  6. 「実行」ボタンをクリック。
成績は次のようになりました。




  1. 買い仕掛けのトレードは319回あって、184勝135敗。
  2. 平均利益率は+0.19%。(日経先物が14000円だとすると、1回につき26.6円ずつ利益が出る)
  3. 勝率は57.7%。
  4. プロフィットファクターは1.44倍。
トレード数は1246回から319回に減りました。相場の局面を「5日線と9日線のカイリ率が-0.7%以下」に絞ったためです。その結果すべての成績(@平均利益率、A勝率、BPF)が大きく向上しています。


次は「9日順位相関が-66以下なら買い」の条件と組み合わせて「検証」します。

このようにして、オートマが役立つとしたチャートを上位のものから順に「検証」した結果を次の表にまとめました。


No. 追加したチャート トレード数 平均利益 勝率 Pファクタ 連敗 ドローダウン 純利益額 PD倍率
0 陰線なら買い 1246件 0.03% 49.4% 1.07倍 9連敗 -7290千 3840千 0.52倍
1 5日線/9日線カイリ(-0.7以下) 319件 0.19% 57.7% 1.44倍 6連敗 -2010千 7990千 3.97倍
2 9日順位相関(-66以下) 298件 0.18% 58.7% 1.44倍 6連敗 -2110千 7560千 3.58倍
3 株価/25日線カイリ(-6.7以下) 73件 0.77% 67.1% 4.37倍 6連敗 -1200千 7080千 5.90倍
4 5日ストキャス(17以下) 443件 0.13% 55.5% 1.32倍 5連敗 -2430千 8760千 3.60倍
5 5日順位相関(-4以下) 695件 0.09% 53.5% 1.20倍 8連敗 -4270千 9100千 2.13倍
6 10日ストキャス(94以下) 1228件 0.03% 49.8% 1.08倍 9連敗 -7040千 4780千 0.67倍
7 9日順位相関の最小日数 221件 0.17% 60.2% 1.41倍 5連敗 -2020千 5520千 2.73倍
8 株価10日下落率(-4.6以下) 399件 0.17% 55.4% 1.37倍 6連敗 -2350千 8900千 3.78倍
9 株価/9日線カイリ(-0.9以下) 552件 0.12% 54.0% 1.27倍 6連敗 -2760千 8970千 3.25倍
10 株価の20日前比率(-8.5) 121件 0.56% 61.2% 2.61倍 6連敗 -1310千 8240千 6.29倍
11 17日ストキャス(1以下) 41件 0.26% 70.7% 1.63倍 2連敗 -1050千 970千 0.92倍
12 株価の5日前比率(-3.8以下) 186件 0.26% 59.1% 1.63倍 5連敗 -1020千 6480千 6.35倍
13 株価の10日前比率(-5.7以下) 146件 0.31% 58.9% 1.70倍 5連敗 -1970千 5680千 2.88倍
14 10日オシレータ(68以下) 851件 0.08% 52.2% 1.18倍 8連敗 -5450千 8220千 1.50倍
15 25日/75日線カイリ(2.4以下) 804件 0.08% 51.7% 1.19倍 9連敗 -5100千 8850千 1.73倍
16 17日順位相関(90以上) 61件 0.17% 63.9% 1.53倍 3連敗 -700千 1820千 2.60倍
17 17日順位相関最小日数 685件 0.08% 52.3% 1.19倍 6連敗 -3600千 6880千 1.91倍

条件表に採用されたチャートは統計的に「有意(信頼できる)」なものです。条件表の上位の4つのチャート(上表のNo.1〜No.4)はよい成績を出しています。条件表の下位の4つ(上表のNo.14〜No.17)はあまりよい成績ではありません。(とはいっても、「陰線なら買い」だけの条件に比べるとはるかに成績はよくなっています。No.8と比較すると、@平均利益率は0.03%→0.17%へ、A勝率は49.4%→55.4%へ、BPFは1.07倍→1.37倍へ、CPD倍率は0.52倍→3.78倍へアップです)

「オートマ」は役立つチャート(および「以上・以下」の条件)を取り出しています。 取り出した順位は統計的に有意(意味がある)な順であって、検証した成績の順ではありません。「オートマ」は成績がどうなるのかは少しも考慮していません。「どうすれば、注目点と雑音点を判別できるのか」だけを目標にしてチャートを選択しています。

例えばNo.10の「株価の20日前比率が-8.5%以下なら買い」の条件をつけ加えたとき、@トレード数は121件、A平均利益率0.56%、B勝率61.2%、CPFが2.61倍、というよい成績になっています。一方No.4の「5日ストキャスが17以下で買い」という成績を見ると、@トレード数は443件、A平均利益率0.13%、B勝率55.5%、CPFが1.32倍、です。

しかし、No.4の「ストキャス」のほうがNo.10の「20日前比率」よりも、統計的には意味があるのです。面倒な説明はしませんが、例えば@10回トレードをして7勝3敗だった(勝率70%)のと、A100回トレードして65勝35敗だった(勝率65%)のと、B1000回トレードして600勝400敗だった(勝率60%)のと、どれが今後もこの勝率を維持していける可能性が高いかといえば、600勝400敗です。7勝3敗は「たまたま」の成績です。65勝35敗となると、そう急激に勝率が低下することはないでしょうが、300回トレードをしたときには160勝140敗になる可能性はあります。 確率(勝率)はデータが多いほうが信頼できるのです。


P役立つチャートだけの条件表を作る(上位順)



N章でオートマが役立つチャートを集めた条件表を生成しました。 O章で、1つ1つのチャートについて成績を調べました。ここから、@条件表の上位にある順に、A平均利益率が0.15%以上、B勝率が55%以上、CPD倍率が3.0倍以上、の成績を出したチャートをピックアップすると、次の(A)〜(F)が該当します。




(A)〜(F)に関係する行を残すと、次の条件表(No.112)になります。




この条件表は、(a+A+B+C+D+E+F)の買いが全部満足した日でないと買いマークを出しません(ほとんど買いマークはでない)。 条件表は「グループ」を使って、(a+A)、(a+B)、(a+C)、(a+D)、(a+E)、(a+F)、の2つの条件が満足されたら買いマークがでるようにして下さい。次のようになります。




「加工」欄に「グループ」を挿入すると、自動的に「グループA」とか「グループB」、「グループC」の横線で条件表が区画されます。上から「グループA」の横線までの買い条件が満足されたら「グループAの買いマーク」が出されます。「グループA」の次の行から「グループB」の横線までの買い条件が満足されたら「グループBの買いマーク」が出されます。

各グループには、メインの買い条件であるNo.3行の「陰線なら買い」の条件を入れておかねばなりません。例えば「グループB」に「9日順位相関が-66以下なら買い」だけしかないなら、陽線でも陰線でもOKということになります。No.8行のように「No.3線 加工なし 買い -1以下」の行が必要です。

この条件表を使って「検証」すると次のようになります。




O章で検証したときのトレード数は、(A)が319件、(B)が298件、(C)が73件、(D)が399件、(E)が121件、(F)が186件、でした。今度まとめた条件表のトレード数は506件になり、トレードの機会が多くなっています。その割には、@平均利益率が0.16%、A勝率が55.1% と高い水準を維持していますが、BPFが1.34倍がもの足りない。


リスクを見ると、@最大ドローダウンが-3000千円、A8連敗がある。B純利益が10210千円なので、PD倍率は3.40倍となっています。

損益経過グラフは、青枠の時期が「横ばい」だが、おおむね「右肩上がり」であり、現在も有効なシステムであるといえます。(ただし8連敗、最大ドローダウンが3000千円が辛い)


Q役立つチャートだけの条件表を作る(PF順)



前P章でオートマが役立つチャートであると採用した順にチャートを残した条件表を生成しました。この条件表の成績は、@平均利益率が0.16%、A勝率が55.1%、BPFが1.34倍、C最大ドローダウンが-3000千円、D8連敗がある。E純利益が10210千円、FPD倍率は3.40倍、でした。おおむねOKでしたが、BPFが1.50倍に足りない、Cドローダウンが-3000千円と巨大である。D8連敗がある、という点が不満でした。

PFが1.50倍以上にすることは簡単です。PFが1.50倍以上の成績を出したチャートを採用すればよいからです。PFが1.5倍以上あって、PD倍率が2.0倍以上あるチャートは次図の(G〜K)の5つです。これを条件表にまとめます。




G(C)とH(E)は、P章でも採用されたチャートです。以下の5つのグループになります。



この条件表を「検証」すると次のようでした。


P章で作った条件表と対比してみます。
No. オートマが生成した トレード数 平均利益 勝率 Pファクタ 連敗 ドローダウン 純利益額 PD倍率
0 陰線なら買い 1246件 0.03% 49.4% 1.07倍 9連敗 -7290千 3840千 0.52倍
17章 オートマの上位順 506件 0.16% 55.1% 1.34倍 8連敗 -3000千 10210千 3.40倍
18章 PFが1.50倍以上 341件 0.23% 58.1% 1.53倍 7連敗 -2810千 10190千 3.62倍

PFが1.50倍以上のものを採用したので、PFは1.53倍になっています。平均利益率が0.23%というのはよい。8連敗が7連敗に1つ低下し、ドローダウンも-3000千円から-2810千円に減りましたが、ともに大きくよくなったわけではありません。成績の安定性を重視するならP章の条件表を、短期的な成績は不安定になっても利益率を高めたいならQ章の条件表を使うことになります。


R要因分析表について



「オートマ」は、以下の処理をします。
  1. 注目点と雑音点(の日)を設定し、(a)の注雑ファイルに記憶させる。

  2. (b)の計算用条件表に設定してあるチャートの計算をし、注目点・雑音点の日のチャートの値を、(a)の注雑ファイルに記憶する。

  3. (a)の注雑ファイルに記憶されている計算値を基にして、注目点と雑音点を判別するのに役立つチャートを見つけ、(c)の条件表を生成する。
オートマで条件表を生成したとき、注雑ファイルには「すべての数値」が記憶されています。その内容を見てみましょう。


  1. 「日経先物」を選択しておいて、メニューの「手動」→「手動条件生成」をクリックします。

    (「手動」は「オートマ」が自動的に処理したことを調べたり、オートマと同じ手法で条件表を生成することができます。)

    「条件表の生成」の画面が現れます。

  2. オートマで使った計算用条件表(No.1)を指定します。

  3. この条件表には5日・9日・17日の順位相関など30種類のチャートが設定されていました。

  4. オートマで作った注雑ファイル(No.110)を指定し、

  5. 「生成」ボタンをクリック。

  6. 「要因分析表」の画面が現れます。
この画面は小さいので、赤枠の部分(で不要な欄をカットして)を取り出したものが次図です。




左端は「計算用条件表(No.1)」によって計算したチャートです。1番上の「2 順位相関 5rci」(2 は条件表の2行目に設定されているという意味)を例にすると、以下のことがわかります。
  1. 「C平均値」は、注目点の5日順位相関の値の平均値です。-15.4になっています。

  2. 「Z平均値」は、雑音点の5日順位相関の値の平均値です。-6.3になっています。

    ここで、注目点の5日順位相関の値は、雑音点の値よりも低い(-15.4と-6.3)ことがわかります。例えば「陰線」があって、その日の5日順位相関の値が-10であったなら、注目点であると判断したほうが、雑音点であると判断するよりも確率が高いでしょう。

    それなら+40ならどうか、-80ならどうか。オートマは、順位相関の範囲を50個の区間に区切って、
    (-96以下のときの注目点の個数・雑音点の個数)→
    (-92以下のときの注目点の個数・雑音点の個数)→
    (-88以下のときの注目点の個数・雑音点の個数)→・・・・
    (+92以下のときの注目点の個数・雑音点の個数)→
    (+96以下のときの注目点の個数・雑音点の個数)
    を調べていきます。

  3. その結果(-4.0以下)が最もよく注目点と雑音点を判別できることを知ります。この境の数値を「シキイ値」といいます。

  4. 「C正解%」は、5日順位相関が-4.0以下であったので注目点であると判定したとき、そのうちの61%が正解であった(39%は雑音点であった)ことを表しています。

  5. 「Z正解%」は、5日順位相関が-4.0以上であったので雑音点であると判定したとき、そのうちの48%が正解であった(52%は注目点であった)ことを表しています。

  6. 「C判別%」は、5日順位相関が-4.0以下であったので注目点であると判定したとき、注目点全体の55%は注目点だと判別していたことを表しています。

  7. 「Z判別%」は、5日順位相関が-4.0以上であったので雑音点であると判定したとき、雑音点全体の54%は雑音点だと判別していたことを表しています。

    「C正解%」「Z正解%」「C判別%」「Z判別%」の関係はよく理解できないと思いますが、しかこれは特に重要なものではありません。

  8. 「χ2値」(カイ2ジョウチ)は、そのシキイ値が、注目点と雑音点をどれだけ判別できるのかを数値化したものです。これは統計学から決まる数値です。「χ2値」が大きいものほど判別力が高い。(上図の中では「9日順位相関」のχ2値は13.5で、この中では「9日順位相関が-66以下なら注目点」と判断するのが最も優れていることを表しています。(だから「9日順位相関」が条件表に採用された)


(20)どのようにして役立つチャートが発見できるのか?



「要因分析表」の内容については頭で考えただけでは理解でないでしょう。実際にどのようなシキイ値にすれば、どれほどの判別力があるのかを試してみましょう。

メニューの「ヒストグラム」をクリック。


  1. 「順位相関 5rci」をクリックすると

  2. ヒストグラムが表示されます。

  3. これは「注目点」だけのヒストグラムです。

  4. 注目点と雑音点のヒストグラムを同時に描かせることもできます。

    (ここではヒストグラムの見方やこの画面の操作のしかたは説明しません。)

  5. 「2×2分割表」ボタンをクリックして下さい。


  6. 画面の右の赤枠部分が変わります。これが「2×2分割表」です。

次図にこの拡大図を掲げます。

(A)注目点は594個、雑音点は567個あります。(注雑ファイルには、注目点は616個、雑音点は588個設定しましたが、例えば17日順位相関を計算するとき最も古い時期の16日間は順位相関が計算できていません。その分だけ注目点や雑音点はデータとして扱われなくなります)

(a〜g)の数値は、Q章「要因分析表について」で掲げた要因分析表に記載した(a〜g)と同じ数値です。この数値はどのようにして計算されたのかを説明します。

(次図)すべての数字の元になるのは、(A,B,C,D)の4マス(2×2分割表)にある数字です。この例は「5日順位相関」について調べていますが、今、5日順位相関が-4以下なら注目点と判断し、-4超であったときは雑音点と判断したとき、ABCDの数(個数)になります。すなわち
  1. 注目点と判断したら注目点だった→360個
  2. 注目点と判断したが雑音点だった→293個
  3. 雑音点と判断したが注目点だった→234個
  4. 雑音点と判断したら雑音点だった→293個


[C正解率] Aの360個の正しい判断(注目点を注目点と判断した)は、全体の注目点の(G)594個のうちの61%を捉えていた(360÷594)。

[C判別率] 注目点と判断した個数は(E)の653個だったが、正解だったのは(A)の360個であった。C判別率は55%(360÷653)。

[Z正解率] (D)の274個の正しい判断(雑音点を雑音点と判断した)は、全体の雑音点の(H)567個のうちの48%を捉えていた(274÷567)。

[Z判別率] 雑音点と判断した個数は(F)の508個だったが、正解だったのは(D)の274個であった。Z判別率は54%(274÷508)。

「C判別率」「C正解率」の言葉は私が勝手につけたものであるので覚える必要はありません。ただ「C判別率」が高く、「C正解率」が高いものほど判別の能力が優れていることは確かです。

これを数字で表したのが「χ2値」(カイ2ジョウチ)です。算式は右図。これをこの例の数字に当てはめると、右図下のようにχ2値は 9.40となります。

統計学では、5%水準で有意でというためには、3.841以上の数値にならなければなりません。(1%水準のときは6.635以上)
5日順位相関を-4をシキイ値にして判別したときのχ2値は9.40であるので、統計的に十分に意味があります。


  1. シキイ値を-80に変更するとどうなるでしょうか。
  2. 注目点を注目点であると正しく判断する個数は162個になります。

  3. 全部で594個あるうちの432個は初めから捨られています。

  4. これは注目点の27%しか捉えていません(162÷594=27)。C正解率はシキイ値(-4)の61%から大きく悪化します。

  5. しかし注目点と判断した285個のうちで162個が正解であるので、C判別率は57%(162÷285)になり、シキイ値(-4)の55%よりもよくなります。

  6. χ2値は4.9へと小さくなりました。

  1. シキイ値を+40に変更するとどうなるでしょうか。
  2. 注目点を注目点であると正しく判断する個数は425個になります。

  3. 全部で594個あるうちの169個が捨てられただけです。

  4. これは注目点の72%を捉えています(425÷594=72)が、

  5. しかし注目点と判断した801個のうちで425個が正解であるので、C判別率は53%(425÷801)になり、シキイ値(-4)の55%よりも悪化します。

  6. χ2値は3.7へと小さくなりました。
このようにシキイ値が違えばχ2値が違ってきます。オートマはχ2値が最大になるシキイ値を見つけてきます。オートマがピックアップしたチャートおよびシキイ値(以上・以下)が最もよいのです。


(21) 注雑ファイルがあればヒストグラムが描ける



ヒストグラムを描かせるにはどうすればよいのかの質問があったので、「1日売買ルール」から話が逸れますが、説明しておきます。


R章でも述べたように、《Qエンジン24》の「手動」→「手動条件生成」を使ってヒストグラムを描くことができます。

図は、日経平均(現物)について「主な株価」による上昇小波動の期間は何日であるのかを表したものです。このヒストグラムによって、上昇小波動の
  1. 平均は12.67日
  2. モード(最頻度)が5日
  3. メジアン(中央値)が9日
である。また下降小波動の
  1. 平均は11.68日
  2. モード(最頻度)が5日
  3. メジアン(中央値)が9日
であることがわかりました。上昇日数と下降日数の数値を注雑ファイルに記憶させておけば、ヒストグラムを描くことができます。注雑ファイルに計算値を記憶させるのは「オートマ」です。「オートマ」は売買マークを出す条件表を生成するのが役目ですが、その途中で注雑ファイルを作ります。この注雑ファイルを利用して、統計的な処理(@平均値、ASD、Bヒストグラム)をすることができるわけです。

上図のヒストグラムは「日経平均(現物)」のものです。今回は「日経先物」のヒストグラムを描いてみましょう。「オートマ」を出して下さい。

  1. 「買い条件」を指定。
  2. 期間を070311までの3000日間
  3. 注目点は「C描画用条件表の売買マークがでた日」
  4. その注目点から、株価はどれほど上昇・下降してもよい(無条件にする)。
  5. 描画用条件表No.66を使う。
  6. 注雑ファイルNo.127に記憶させる。
  7. 計算用条件表No.42を使う。
  8. 生成された条件表はNo.127に記憶させる。
  9. 注目点の位置は「当日だけ」。
  10. 雑音点の位置は「注目点の1日前と1日後」。
  11. 「新規実行」をクリックすると、条件表が生成されます。

肝心なことは、@描画用条件表(No.66)が売買マークを出した日を注目点とする、A注目点の日に調べたいチャートの数値は計算用条件表(No.42)に設定しておく、B計算された数値は注雑ファイル(No.127)に記憶される。ということです。

注目点は、上昇波動の日数と下降波動の日数を調べるためのものなので、上昇波動+下降波動が1つずつあるところに1つの注目点を設定しなければなりません。そこらじゅうに注目点を設定すると、同じ上昇波動・同じ下降波動がダブって採集されます。また注目点が少なすぎると採集できない上昇波動・下降波動が出てきます。 次のような描画用条件表(No.66)を設定しました。


No.3行は、「3日HL転換」が陽転した日に買い。
No.4行は、1つ前の「主な高値」が1円以上なら買い(1つ前の主な高値が確定していることの条件)
No.5行は、2つ前の「主な安値」が1円以上なら買い(2つ前の主な安値が確定していることの条件)

この描画用条件表(No.66)を使ってグラフを描かせると、図のような日に買いマークを出します。
  1. で買いマークがでたとき、
    1つ前の安値(L1)
    1つ前の高値(H1)
    2つ前の安値(L2)
    を知ることができます。

  2. で買いマークがでたとき、
    1つ前の安値(L1)
    1つ前の高値(H1)
    2つ前の安値(L2)
    を知ることができます。
注目点Aの日に採集するのは(A上昇日数)と(A下降日数)です。注目点Bの日に採集するのは(B上昇日数)と(B下降日数)です。この描画用条件表によって、すべての上昇波動と下降波動を、ダブることなく、漏らすことなく採集できることになります。

注目点の日に採集するチャートは計算用条件表(No.42)に設定しておきます。以下のものです。


  1. ピンク色枠の「買い」と設定している行の数値が採集されます。
  2. は上図の(H1)→(L1)の日数(下降日数)を計算し、
  3. は上図の(L2)→(H1)の日数(上昇日数)を計算しています。
  4. は上図の(L2)→(L1)の日数(ボトムからボトムの日数)を計算し、
  5. はピークからボトムへの下落率、
  6. はボトムからピークへの上昇率を計算しています。
(b)(c)がここで調べたい上昇日数・下降日数です。(d,e,fはついでに採集してみた)

  1. 8秒で条件表が生成されました。

  2. しかし今回は注雑ファイル(No.127)を作るのが目的です。100個の注目点と200個の雑音点が設定されています。(今回は雑音点の意味はない)

  3. 生成された条件表No.127は、今回は意味がありません。

注雑ファイル(No.127)の内容を見てみましょう。

  1. 「日経先物」を選択しておいて、メニューの「手動」→「手動条件生成」をクリック。


    「条件表の生成」の画面が現れます。

  2. オートマで使った計算用条件表(No.42)を指定します。(別の条件表を指定してもかまわない)

  3. オートマで作った注雑ファイル(No.127)を指定し、

  4. 「生成」ボタンをクリック。


「要因分析表」の画面が現れるので、「ヒストグラム」をクリック。


  1. 注目点の日のヒストグラムを描きます。(今回は雑音点のヒストグラムは意味がありません)

  2. 「H→L」(下降波動の日数)を指示すると、

  3. 平均値は 11.96日。(日経平均は11.68日だった)
  1. モードは6日(日経平均は5日)
  2. メジアンは9日(日経平均も9日)
  3. 80%位は20日(日経平均は19日)
であることがわかります。


  1. 「L→H」(上昇波動の日数)を指示すると、

  2. 平均値は 12.83日。(日経平均は12.67日だった)
  1. モードは5日(日経平均も5日)
  2. メジアンは9日(日経平均も9日)
  3. 80%位は19日(日経平均も19日)
であることがわかります。日経先物と日経平均の小波動の期間はほぼ同じであることがわかります。

この例では@上昇日数、A下降日数のほかに、B上昇+下降の日数、C波動の下落率、D波動の上昇率、を採集しているので、これらのヒストグラムを描かせることができます。


(22) もっと役立つ別のチャートはないか?



N章では、計算用条件表No.1の「日経平均@」に設定されているチャートから、役立つチャートを見つけたのでした。ここには30種類のチャートが設定されていましたが、もっとよいチャートがあるのではないか。これを見つけることは簡単です。別の「計算用条件表」を用意すればよいだけのことです。


「オートマの指示」を出してください。
  1. すでに(b)の「注雑ファイル(No.110)」には注目点と雑音点が記憶されています。

  2. (c)計算用条件表を、「計算用条件表(No.7)」に変更してみましょう。

  3. 「引継実行」で、(c)の計算をして、(d)の条件表をNo.113に生成すればよいのです。

  4. 「新規実行」をクリックすると、新たに注目点・雑音点を設定するので、これは使わないこと。

「計算用条件表(No.7)」の内容は次のものです。多くは(No.1)と同じ設定ですが、No.34行より下に25日偏差帯(ボリンジャー)の2σと3σを設定し、高値とボリンジャのクロス、ボリンジャの向き、ボリンジャの変化率などを設定しています。はたしてボリンジャーが役立つのかどうか。




  1. 「引継実行」は、「注雑計算から開始」を指定。(雑音設定はできているから)

  2. 「判別後の最小注目数」は、この例では使いません。

  3. 「OK」ボタンをクリックすると、あっというまに条件表が生成されます。

  4. 「オートマ」は条件表No.113を生成しました。所要時間はたったの23秒でした。

  5. 「生成先条件表」欄を見ると、21行の条件表ができているようです。

  6. できた条件表の内容を知りたいなら「確認」ボタンをクリックします。

以下の条件表が生成されていました。



(a〜m)の13個のチャートがピックアップされています。このうち小文字の(a,b,e,f,g,i,j,k,l,m)は前回N章でも役立つとされていました。計算用条件表(No.7)にから独自にピックアップされたのは(C,D,H)の3つです。
  1. No.5行は、「9日順位相関が下向いて5日以上なら買い」。
  2. No.8行は、「25日偏差帯の-2σが前日より-1.24%低下したなら買い」
  3. No.15行は、「25日偏差帯の-3σが前日より-1.8%低下したなら買い」

この3つのチャートについて「検証」してみました。(検証のしかたはO章と同じ)
No. 追加したチャート トレード数 平均利益 勝率 Pファクタ 連敗 ドローダウン 純利益額 PD倍率
0 陰線なら買い 1246件 0.03% 49.4% 1.07倍 9連敗 -7290千 3840千 0.52倍
C 9日順位相関の向き(-5以下) 183件 0.21% 60.7% 1.61倍 4連敗 -1210千 5260千 4.34倍
D 25日偏差帯の-2σの変化率(-1.24以下) 25件 1.17% 84.0% 12.32倍 1連敗 -180千 3720千 20.66倍
H 25日偏差帯の-3σの変化率(-1.8以下) 21件 1.18% 81.0% 11.34倍 2連敗 -180千 3090千 17.16倍

Dの「25日偏差帯の-2σの変化率が-1.24%以下なら買い」の成績は非常によいものですが、残念なことにトレード数が25件しかありません。1246本ある陰線のなかの25本ですから約2%でしかありません。この成績がある程度安定しているといえるためには、最低でも5%の60トレードはほしいところです。

Hの「25日偏差帯の-3σの変化率が-1.8%以下なら買い」もトレード数が21件と少なく、実用にはならないでしょう。 追加するなら、Cの「9日順位相関が下向いて5日以上経過しているなら買い」です。

このように、計算用条件表を切り替えることで、いくらでも役に立つチャートを見つけることができるわけです。


(23)「陽線なら売り」の条件表を生成する



この連載の初めのBCD章で、「陽線なら買い」「陰線なら買い」、「陽線なら売り」「陰線なら売り」、「連続陽線なら買い」、「連続陰線なら売り」の成績を調べました。次の表のようになっていました。

No. シンプルなトレード トレード数 平均利益 勝率 Pファクタ 連敗 ドローダウン 純利益額 PD倍率
1 陽線なら買い 1177件 -0.12% 43.7% 0.75倍 9連敗 -2156千 -21270千 N.A
2 陰線なら買い 1246件 0.03% 49.4% 1.07倍 9連敗 -7290千 3840千 0.52倍
3 連続陰線なら買い 588件 0.01% 49.5% 1.01倍 7連敗 -5460千 690千 0.12倍
4 陰線なら売り 1246件 -0.03% 47.1% 0.94倍 9連敗 -8300千 -3840千 N.A
5 陽線なら売り 1177件 0.12% 52.7% 1.34倍 9連敗 -1770千 21270千 12.01倍
6 連続陽線なら売り 513件 0.18% 54.8% 1.60倍 7連敗 -4590千 13630千 2.96倍

NOPQ章で「オートマ」を使って「買い」の条件表(No.112)と(No.109)を生成しましたが、これは上表のNo.2「陰線なら買い」をメインの買い条件としたものでした。No.2の成績は次のように向上しました。

No. オートマが生成した トレード数 平均利益 勝率 Pファクタ 連敗 ドローダウン 純利益額 PD倍率
0 陰線なら買い 1246件 0.03% 49.4% 1.07倍 9連敗 -7290千 3840千 0.52倍
17 +α (P章 上位順買い) 506件 0.16% 55.1% 1.34倍 8連敗 -3000千 10210千 3.40倍
18 +α (Q章 PF順買い) 341件 0.23% 58.1% 1.53倍 7連敗 -2810千 10190千 3.62倍

メインの売買条件「陰線なら買い」の成績はトントン(@平均利益率0.03%、A勝率49.4%、BPF 1.07倍)でしたが、「陽線なら売り」の成績は(@平均利益率0.12%、A勝率52.7%、BPF 1.34倍)と、これだけでもまずまずの成績を出しています。ここに「オートマ」で別のチャートを加えたらどれほど成績が向上するのか。


「オートマ指示」の画面を出して、
  1. 「売り条件」を指定し、

  2. 対象期間を2007年3月11日まで、と指定します。

  3. 「注雑ファイル」No.120に、注目点と雑音点を記憶させ、

  4. N章と同じく、計算用条件表(No.1)にあるチャートを計算させ、

  5. 条件表No.120に、条件表を生成する。
以上のことを指定しました。


注雑ファイルNo.120には、あらかじめ注目点(今日が陽線で明日が陰線の日。売りマークを出したい日)と雑音点(今日が陽線で明日も陽線の日。売りマークを出したくない日)を設定しました。

右図のピンク色線が注目点(aは今日が陽線で明日が陰線)、緑色線が雑音点(b,cは今日が陽線で明日も陽線)です。この例では注目点は620個、雑音点は513個あります。


  1. 注雑ファイルは用意してるので、「引継実行」をクリック。

  2. 「注雑計算から開始」をクリック。

  3. 「OK」をクリックすると、

  4. 22秒で条件表No.120が生成されました。

  5. 条件表No.120は18行が設定されています。

条件表No.120の内容は以下のものでした。メインの売り条件である(a)「陽線なら売り」のほかに(b〜m)の12個のチャート(と条件)が追加されています。


O章と同じように、オートマが追加したチャートを上位のものから順に「検証」した結果を次の表にまとめました。

No. 追加したチャート トレード数 平均利益 勝率 Pファクタ 連敗 ドローダウン 純利益額 PD倍率
a 陽線なら売り 1177件 0.12% 52.7% 1.34倍 9連敗 -1770千 21270千 12.0倍
b 17日順位相関(79以上) 212件 0.24% 60.4% 2.15倍 3連敗 -1110千 8030千 7.23倍
c 17日RCI最大日数(6.3以下) 446件 0.24% 59.6% 1.86倍 5連敗 -990千 15380千 15.53倍
d 17日RCI最小日数(3.3以上) 820件 0.16% 54.9% 1.46倍 9連敗 -1570千 19540千 12.44倍
e 5日オシレータ(74以上) 707件 0.19% 55.7% 1.65倍 9連敗 -1430千 18700千 13.07倍
f 17日RCI向き日数(-6.8以上) 994件 0.14% 54.2% 1.40倍 9連敗 -1790千 20450千 11.42倍
g 10日過去比率(-9.5%以上) 1169件 0.13% 52.8% 1.36倍 9連敗 -1770千 21840千 12.33倍
h 25/75日線カイリ(5.6%以下) 1031件 0.13% 53.4% 1.37倍 9連敗 -1770千 18930千 10.69倍
i 15日過去比率(1.5%以上) 514件 0.19% 55.4% 1.71倍 5連敗 -1280千 15400千 12.03倍
j 5日ストキャス(66以上) 682件 0.19% 55.4% 1.65倍 8連敗 -1350千 18000千 13.33倍
k 株価/75日線クロス(18日以下) 784件 0.14% 54.5% 1.37倍 9連敗 -1880千 14990千 7.97倍
l 9日線カイリ(-4.7%以上) 1171件 0.13% 52.8% 1.37倍 9連敗 -1770千 22390千 12.64倍
m 25/75カイリ向き日数(45以上) 13件 0.24% 69.2% 1.90倍 1連敗 -280千 370千 1.32倍

よい成績となったのは(b)「17日順位相関が79以上なら売り」、(c)「17日順位相関がピークから6日以内なら売り」が双璧、これに続くのは(i)「15日過去比率が1.5%以上なら売り」です。この3つのチャートを条件表にまとめると次のようになります。



この条件表の「検証」をすると次のようになりました。

PQ章でまとめた「買い」の条件表の成績とともに掲げます。

No. オートマが生成した トレード数 平均利益 勝率 Pファクタ 連敗 ドローダウン 純利益額 PD倍率
4章 陰線なら買い 1246件 0.03% 49.4% 1.07倍 9連敗 -7290千 3840千 0.52倍
17章 オートマの上位順買い 506件 0.16% 55.1% 1.34倍 8連敗 -3000千 10210千 3.40倍
18章 PFが1.50倍以上買い 341件 0.23% 58.1% 1.53倍 7連敗 -2810千 10190千 3.62倍
4章 陽線なら売り 1177件 0.12% 52.7% 1.34倍 9連敗 -1770千 21270千 12.01倍
23章 オートマの上位順売り 639件 0.21% 56.2% 1.74倍 6連敗 -1270千 19780千 15.57倍


(24)買いと売りを1つの条件表にまとめる



P章で次の「買い」の条件表を作りました。




また23章で「売り」の条件表を作りました。



「買い」と「売り」の条件を1つの条件表にまとめておけば、1つの条件表で「買い」「売り」がわかって便利です。ここでは上記の「買い」の条件表のうちの(A,B,C,D)と「売り」の条件表のうちの(a,b,c,i)を1つの条件表に統合してみます。

「買い」の条件表は(A)(B)(C)の3グループに分かれており、3つの種類の買いマークがでます。同じように「売り」の条件表は(A)(B)(C)の3グループに分かれており、3つの種類の売りマークがでます。

お互いに3つのグループがあるので、以下のような条件表にします。
  1. 買いの(A)グループの条件に、売りの(A)グループの条件を嵌め込む。
  2. 買いの(B)グループの条件に、売りの(B)グループの条件を嵌め込む。
  3. 買いの(C)グループの条件に、売りの(C)グループの条件を嵌め込む。
以下のようにすることも可能です。
  1. 買いの(A)(B)(C)のグループの次に、売りの(A)(B)(C)を追加して、
  2. (A)グループの買い、(B)グループの買い、(C)グループの買い、(D)グループの売り、(E)グループの売り、(F)グループの売り、とする。
  3. ただ、グループ化できるのは(A)〜(H)までの8グループであるので、このやり方だとすでに(F)グループまで使ってしまうことになる。

「買い+売り」を統合した条件表は次のようになります。




「17章の買いだけの条件表」「23章の売りだけの条件表」「24章の買い+売りの条件表」の成績をまとめると次のようになります。

No. オートマが生成した トレード数 平均利益 勝率 Pファクタ 連敗 ドローダウン 純利益額 PD倍率
17章 陰線買い+上位3つ 375件 0.21% 57.9% 1.48倍 6連敗 -2570千 10080千 3.92倍
23章 陽線売り+上位3つ 639件 0.21% 56.2% 1.74倍 6連敗 -1270千 19780千 15.57倍
24章 買い+売り 1014件 0.21% 56.8% 1.62倍 6連敗 -2470千 29860千 12.08倍

「24章」欄の成績が、「買い」が出れば翌日始値で買い、「売り」が出れば翌日始値で売り、その日の終値で手仕舞うという売買を10年間続けたときの成績です。

利益の2/3は「売り」が稼いでいます。「23章・売り」のドローダウンは-1270千円でしたが、買いをもすることによって-2470千円へと倍増しています。一方「17章・買い」のときドローダウンは-2570千円でしたが、売りが混じることによって-2470千円へと少し小さくなっています。


損益経過グラフを見ると、
  1. 1997年1月10日の0円からB.2000年1月21日までの3年間は右肩上がりで、+19520千円の利益を積み上げる。 この間の最大ドローダウンは-900千円。



  2. からC.2001年2月7日までの1年間はマイナス気味で、この間の最大ドローダウンは-2470千円(これが全体を通じての最大ドローダウンとなった)。

  3. からD.2004年2月3日までの3年間は、C.から8610千円の利益を積み上げた。この間の最大ドローダウンは-1150千円。


  4. からE.2005年12月29日までの1年間11か月は、ややマイナス気味。 この間の最大ドローダウンは-1210千円。

  5. からF.2007年3月8日までの1年間2 か月は、右肩上がり。E.から4050千円の利益を積み上げる。 この間の最大ドローダウンは-680千円。


(25)終わりに



《Qエンジン24》を使って「日経先物1日売買」のシステムをどのようにして作り上げていくかということを長々と説明しました。ここでは例題として「陰線なら買い」「陽線なら売り」という簡単なメインのルールをどのようにして、実戦的なシステム(条件表と売買ルール)にしていくのかを説明しましたが、必ずしも「陰線なら買い」「陽線なら売り」はよいアイデアということではありません。(《Qエンジン24》の使い方を説明するのが容易であるという理由で採用しただけのことです。)

できた条件表は(拡張8)のNo.64に「日経先物1日売買」としてアップしたので、ダウンロードできますが、《Qエンジン24》のユーザーはこれよりもはるかに優れた条件表を作ることができるはずです。 条件表No.64は、以下の点で不十分な環境でできたものです。
  1. 「陽線なら売り」「陰線なら買い」というメインの条件をつけたが、これは条件表を生成する上で、それほど役立つものではない。むしろ追加するチャートに制限を加え、No.64はボヤーとした条件表になった。

  2. 「売り」のときは翌日が陰線ならOKとしたが、大陽線ならOK(注目点)、小幅陽線のときはNO(雑音点)とするのがよい。(注目点の設定を厳しくしたほうがよい)。これは「買い」のときも同じで、翌日が大陽線のときだけOKとしたほうがよい。

  3. 計算用条件表はNo.1だけを使ったが、そのほかの計算用条件表を使って、試してみる必要がある。
これらのことを試してみれば、必ずNo.64を超える条件表ができるはずです。

最後に、(拡張8)の条件表No.64(24章の図ではNo.125になっている)がどのようなときに売買マークをだし、3月1日から4月23日までの成績がどのようであったのかを掲げます。


条件表No.64は、A・B・Cの3グループになっているので、3通りの売買マークがでます。売買マークが1つでも出れば仕掛けます。

2007年3月1日〜4月23日の間のトレードは次のように15回ありました。





売買成績は
  1. トレード数は15件で、7勝8敗。
  2. 平均利益率は 0.28%
  3. 勝率は 46.7%
  4. PFは 2.43倍
  5. 利益総額は1230(千円)になったが、損失総額が-150(千円)あるので、純利益は720(千円)になった。
  6. この間の最大ドローダウンは、-210(千円)だった。



講座目次へ.

株式会社 東研ソフト

執筆:坂本 正治