目隠しテストで、自分の目を疑った

スポンサーリンク

成績スコア推移(バックテスト・過去データ、資金100万円、ドル円)。AIまかせの定番EA 1.77、自分の手法 最初のEA 0.03、粗いデータ(品質36%) 1.89、細かいデータ(品質90%) 0.92、別の期間(2020〜2023) −0.62、1つずつ作り直した(1年) 1.25。
成績スコア=収支÷最大ドローダウン(バックテスト・過去データ)。今回は成績スコアの新しい記録がないので、前回のままです。

どうもこんにちは。戦術トレードラボのラボ長です。

第8話では、脱線のつもりで始めた「天井・底の形」のEAが本命になり、入る場所より出る場所を見直していった話を書きました。

今回は、そのEAに私の「目」を足したら、もっと良くなるのかを確かめた話です。

私は非エンジニアの兼業トレーダーで、Claude Codeと一緒に、自分の裁量手法をMT4のEAにしています。いわゆるEA自作、FX自動売買の開発記録です。
「AIエージェントが勝手に稼ぐEAを作った」という投稿もよく見かけますが、私は自分の手で確かめないと信じられないタイプ。今回確かめたのは、EAではなく、自分の目の方でした。

方法は、結果を隠したチャートで判断する「目隠しテスト」。
結果は、タイトルのとおりです。

裁量トレードをEAにしようとしている方、自分の裁量を検証する方法を探している方に、読んでほしい話です。


スポンサーリンク

「ダメ」と言った9件に、勝ちは1件もなかった

少し話を戻します。

この形のEAを作るとき、私はAIが番号を振ってくれたチャート帳を見ながら、「これはダメ」「これは入りたい」と1件ずつ意見を返していました。

EAが実際に入ったトレードのうち、私が「これはダメ」と言ったのは9件。
AIが答え合わせをすると、その9件は6件が負け、3件がプラマイゼロ。勝ちは1件もありませんでした。
9件を外すだけで、1回あたりの成績は倍以上になります(バックテスト・過去データ)。

数字だけ見れば、私の目は完璧です。

……ところが、AIはこう書き添えていました。

どのページにも、そのトレードの結果が載っている。この「ダメ」のリストは、結果を見たうえでの判断が混ざっているかもしれない。

そうなんです。その帳面には、1件ずつ結果が書いてありました。

結果を見て選んだつもりはなくても、目に入っていれば、判断はどうしても引っぱられます。
第3話で、「この先の値動きを見て決めた感がある」と、自分で付けた正解を撤回した話を書きました。同じ落とし穴に、また片足を入れかけていたのかもしれません。

結果が書いていない帳面から「これは入りたい」と拾った7件は、3勝2敗、2件がプラマイゼロと悪くありませんでした。
でも、たった7件。これでは、私の目に力があるのか分かりません。

「目隠し一回やってみるか」

「目隠し一回やってみるか」

こうして始まったのが、目隠しテストです。

目隠しテストとは、結果を隠したまま判断するテストのこと。
ラベルを隠して飲み比べる、きき酒のようなものだと思ってください。

EAの場合は、エントリーする瞬間までのチャートだけを見て、「入る」か「見送る」かを決めます。その先の値動きは、1本も見ない。答え合わせは、全部決め終わってからです。

AIが用意してくれた帳面は、こんな作りでした。

  • EAのルールが拾ったトレードから、99件
  • 使うのは、私が1件ずつの結果を見たことがない年だけ(直近の1年は、帳面で結果を見てしまっているので外す)
  • メジャー通貨の3ペアから33件ずつ。順番はバラバラに混ぜる
  • 日付は「月と日」だけ。何年の相場なのかも分からない
  • チャートはエントリーの足で終わり。その先は描かない
  • 番号と結果の対応表(答え)は、AIが別の場所にしまい、私の印が届くまで開けない

採点のしかたも、先に決めておきました。
私が「入る」とした組と「見送る」とした組を、同じ決済のしかたで比べる。差が出れば、それが私の目の力です。

まとまった件数で、結果を見ずに私の目を測るのは、これが初めてでした。

見送った方が、勝っていた

99件のうち61件まで印を付けたところで、答え合わせをしました。
「入る」が41件、「見送る」が19件。迷って決めきれなかったのが1件です。

1回目(61件)件数プラスで終わったマイナスで終わった1回あたりの平均
入る41件17件24件±0.00
見送る19件12件7件+0.65

(バックテスト・過去データ。平均は、損切り1回分の損を「1」として数えた値)

私が「入る」と選んだ41件は、合計するとほぼゼロ。
「見送る」とした19件は、合計で損切り約12回分のプラスでした。

数字をそのまま読めば、私の目は、勝つトレードではなく、負けるトレードの方を選んでいたことになります。

自分の目を、疑うしかない結果でした。

AIの読みも、はっきりしていました。

見送られた方が、選ばれた方より成績が良かった。「見送る」は19件なので、この数字はもろい。それでも、先の値動きを見ずにエントリーの足で判断すると、目はルールの勝ちと負けを分けられていない。

言い訳を2つ残して、もう1回

私はこのとき、メモを2つ残しています。

  • 「入る」の方に寄りすぎていたかもしれない
  • チャートが拡大されすぎていて、判断しにくかった

……言い訳に聞こえますね。笑

でも、どちらも本当にありえることです。そこで、条件を変えてもう1回やりました。

  • 1回目とかぶらない、新しい99件
  • チャートは、もっと広い範囲まで見えるように
  • 判断の方針を先に1つ決めてから印を付ける(方針の中身は、手法に関わるので伏せます)

今回は50件まで判断しました。

2回目(50件)件数プラスで終わったマイナスで終わった1回あたりの平均
入る27件11件16件+0.13
見送る16件8件8件+0.01

(バックテスト・過去データ。迷って決めきれなかったのが7件)

今度は、わずかに「入る」の方が上。
でも、27件と16件の差です。このくらいの差は、偶然で簡単にひっくり返ります。

2回を合わせると、「入る」68件の平均は +0.05、「見送る」35件の平均は +0.36。
やっぱり、見送った方が上でした。

ちなみに、2回目で「これは入らないといけないかも」と迷っていた47番は、答え合わせをすると損切りで終わっていました。見送りで正解。
小さな勝ちを、ひとつだけ拾っておきます。笑

AIの結論は、こうです。

今のところ、エントリーの時点での目の優位性は測れない。ルールが拾ったトレードは、目で選び直したものと同じくらい良い。

EAが見つけた候補を私が目で選び直しても、成績は良くならない。
もともと考えていた「EAが候補を出し、最後は私が選ぶ」半自動ではなく、このあと作ったEAは完全自動になりました。

それでも、数字を見る前の「好み」は効いていた

ここで終わると、ただ自分の目が負けた話なのですが、続きがあります。

目隠しテストのあと、私は数字を見る前に、自分の好きな形を言葉にしてAIに伝えました。
「こういう形なら入りたい」という、トレーダーとしての好みです。(中身は、手法に関わるので伏せます)

AIはそれを、6年分・3ペアのトレード443件で測りました。
私の好みにどれだけ近いかで4つの組に分けて、組ごとの成績を並べたのがこちらです。

形件数1回あたりの平均
好みにいちばん近い68件+0.41
やや近い118件+0.19
やや遠い203件+0.21
好みからいちばん遠い54件−0.03

(バックテスト・過去データ。平均は、損切り1回分の損を「1」として数えた値)

いちばん近い組は、3ペアとも +0.35〜+0.49。
いちばん遠い組は、3ペアとも −0.02〜−0.04。

3つの通貨ペアすべてで、同じ向きでした。
好みにぴったりの形は成績が良く、好みから大きく外れた形は、どのペアでもほぼゼロ。

AIの記録には、こう残っています。

ラボ長が先に仮説を言い、それから測った。このプロジェクトで生まれた中で、いちばん良い種類の条件。

この好みは、「好みから大きく外れた形だけを見送る」という条件として採用しました。
利益の合計は6%ほど減るかわりに、一番へこんだ幅(最大ドローダウン)が1割ほど小さくなりました(バックテスト・過去データ)。このあと作ったEAにも、そのまま入っています。

目隠しテストで負けた私の目が、ここで1勝を返したことになります。

※この回の数字は、のちに見つかった検証ツールのバグ(次回以降に書きます)を直す前のものです。直したあとも、読み取れる結論は変わりませんでした。

1枚ずつの目と、言葉にした目

同じ私の目なのに、なぜ片方は外れて、片方は効いたのか。違いは、判断のしかたでした。

  • 目隠しテスト:1枚ずつ、チャート全体を見て決める。見せ方や、その時の寄りにも左右される
  • 好み:先に言葉にしてひとつの条件にし、数字を見る前に伝えて、何百件で測った

1件ずつの判断には、いろいろなものが混ざります。言葉にした好みは、ひとつのことしか言っていない。だから、まっすぐ測れました。

私の目が役に立たない、という話ではありません。形を見る目は、このEAの形の見分け方を作るときに何度も使ってきました。
外れたのは、EAがすでに拾った候補から、勝つものだけを1件ずつ選ぶことでした。

第3話で、「自分の目」を言葉にするのは難しい、と書きました。
今回は、言葉にできた分だけが、数字で効いたのかもしれません。

今回わかったこと

裁量トレードをEAにしようとしている方に向けて、今回の学びをまとめます。

  1. 結果が見える帳面での「目利き」は、当てにならない
    答えが目に入ると、判断はどうしても引っぱられます。「ダメ」が全部当たっていても、それが目の力とは限りません。
  2. 自分の目を確かめるなら、目隠しテスト
    エントリーの瞬間までのチャートだけで判断し、答え合わせは最後に。採点のしかたも、先に決めておきます。
  3. 見送った方が勝つこともある
    1件ずつの「なんとなく」は、思ったほど当たりません。EAが拾ったものを目で選び直しても、良くなるとは限りません。
  4. 好みは、数字を見る前に言葉にしてから測る
    先に宣言した好みは、数字を見てから作った条件より、ずっと信用できます。
  5. 通貨ペアごとに、同じ向きになっているか確かめる
    3ペアすべてで同じ向きだったから、たまたまではなさそうだと判断できました。

自分の判断を言葉にする書き方はEAの「仕様書」を書こうに、数字を見てから条件を足していく危うさは過剰最適化(カーブフィッティング)とは?にまとめています。

次回は、ここから先の話です。
ここまでいろいろ確かめてきたところで、私はあることに気づきます。

「EAでまだ試してないのか!ならそっち先かー」

ここまでの検証は、じつは全部、AIが作った検証用のシミュレーターの上の話でした。
次回は、それを本物のEAにしてMT4で動かした話。同じEA、同じ1年なのに、データが違うだけで成績が変わりました。

このころのEAの成績

今回は、成績スコアの新しい記録はありません。いまの成績スコアは 1.25(第6話「1つずつ作り直した(1年)」)のままです。詳しい数字は第6話の最後にあります。


関連: 裁量をルールにする / バックテストと検証 / ラボ長のEA開発ストーリー
連載: 第1話 / 第2話 / 第3話 / 第4話 / 第5話 / 第6話 / 第7話 / 第8話
あわせて読みたい: EAの「仕様書」を書こう / バックテストで騙されないためのチェックリスト

※本ブログの成績はすべて私個人の記録であり、将来の利益を保証するものではありません。バックテストの結果は過去のデータによるものです。投資は自己責任でお願いします。

コメント

タイトルとURLをコピーしました