【AI直接売買 #6】赤字の出どころは狭すぎる損切りだった——24時間上限を外し、攻めと守りを分けて設計し直す

TRACK B — AI直接売買

この記事は、MT5のEA売買(トラックA)とは別の口座・別の仕組みで動かしている「AI直接売買」の記録です。Claudeが証券会社のAPIを通じて直接発注しています。仕組みの全体像はAI直接売買とはをご覧ください。

前回の最後に「次回は検証の結果を書く」としましたが、その前に大きく設計を変えたので、今回はそちらを先に書きます。火曜の朝に「今の状況はどうですか。マイナスなら原因を考えて改善して」と聞いたところから始まった、丸一日分の話です。

49トレード、15勝34敗、−26,153円

9月11日からの累計で49トレード、15勝34敗、−26,153円。開始時の残高から−4.4%です。今週だけで4勝10敗、−20,636円。口座は59.1万円で、やめる条件(累積−25%、残高25万円割れ)にはまだ遠いものの、はっきりと負けています。

Claudeは数字を3つに分けて調べました。入口、出口、そして勝ち負けの形です。

入口は、影武者(発注せずに記録だけしている仮想エントリー)で機械的に24時間持った場合の成績で見ます。41件で平均−0.3pips、勝率49%。優位性はありませんが、大きな赤字の出どころでもない。ちなみに前回書いた「ATR比を絞った変種」は201件まで溜まった時点で現行より+6.2pips良かったので、この日の未明に入口の基準を0.5から0.35へ絞っています。

勝ち負けの形も悪くありません。勝ちの平均は+23.1pips、負けの平均は−10.9pips。勝ちが負けの2.1倍あるので、勝率が33%を超えればプラスに転じる形です。実際の勝率は31%。つまり負ける幅ではなく、負ける回数が問題でした。

赤字はほぼ全部「早い決済」から出ていた

決済のされ方で分けると、判断役が宣言した損切り線や決済線で閉じた39件が−29,543円、勝率23%。24時間の上限で閉じた6件は+4,376円、勝率67%。保有時間で分けると、6時間以内に閉じた25件で−32,734円、6時間以上持てた24件は合計でプラスでした。

原因は、判断役が毎回宣言していた損切り線の幅です。建値から8〜35pips。災害用の安全装置として置いている200pipsの損切りに対して4〜17%しかありません。レンジブレイクで建てた直後は押し戻されるのが普通なので、この幅だと値動きのノイズで刈られ、刈られた後に元の方向へ伸びる。そういう記録が積み上がっていました。

前回「早すぎる決済は損失を減らしていた側に見える」と書いたのと逆の結論に見えますが、見ているものが違います。前回は判断役の決済と「24時間放置」の比較で、今回は判断役の決済を損切り線と決済線に分けて見た。狭い損切り線で負けを確定させる回数が多すぎた、というのが今回の答えです。

24時間の上限を外し、手仕舞いを任せた

ここで私が指示を足しました。「あなたの考える最善の方法を全部取り入れて。24時間で決済するという制限も外したい。手仕舞いはあなたの判断で」。あわせて、資産を最短で増やすという条件に近いものがあれば、戦略そのものを変えて構わない、とも伝えました。

Claudeが実行した変更は4つです。入口のATR比を0.35に絞る。24時間の保有上限を撤廃し、コードが強制する決済は金曜クローズと200pipsの災害用損切りだけにする。判断役が宣言していた狭い損切り線をやめる。トレールの作動を建値+0.35ATRから+1.0ATRに、追随幅を0.35ATRから0.7ATRに広げる。トレールを広げたのは、0.35ATRでは作動した後に利益をほとんど戻して決済する例が前日だけで6回あったからです。代わりに、72時間経っても建値の±0.5ATRから出ない玉は閉じる「膠着撤退」を入れました。

Claude自身が懸念として書いてきたことも記録しておきます。中間判定の比較では「24時間固定で切る」ほうが48時間や72時間より良い数字が出ていて(n=85)、今回の設計はそれと逆方向です。ただしその比較は全玉を一律に時間で切る場合のもので、伸びている玉だけ持ち続ける今回の設計とは別物なので実測で確かめる、戻し条件は先に宣言しておく、という整理でした。

別のClaudeが「それは危ない」と言った

このやり取りのログを、Mac側とは別のセッションのClaudeに見せて意見を聞きました。返ってきたのは、方針転換自体は筋が通っているが、損切りを完全に廃止して災害用の200pipsだけにするのは構造的に危ない、という指摘です。

理由は2つ。ひとつは生存者バイアスで、「早く決済した玉が損失を作り、6時間以上持てた玉はプラス」という分析は、損切りに当たった玉は定義上すべて負けで、6時間以上持てた玉は逆行しなかったから持てた玉なので、そこから「損切りを外せば勝てる」は導けない。「持ち続けていれば+669pips」も後知恵の数字だ、と。

もうひとつは数字です。これまでの負けの平均は−10.9pipsでしたが、今後の負けは最大−200pipsまで膨らみます。1本あたりの災害用損切りの損失は約2.9万円で、6本同時に当たると約17.7万円。口座の59万円に対して−30%です。これは「累積−25%でやめる」という撤退基準を、一度の連敗で一気に突き抜ける設計になっていました。

6本同時に当たる確率も聞きました。1本が災害用損切りまで届く確率は10〜15%程度で、6本が独立なら6乗してほぼゼロ。ただし独立ではない。同じ通貨を含むペアは一緒に逆行するし、レンジブレイクは「いま伸びている方向」に乗るので6本が同じ側に偏りやすい。複数ペアが1日で200pips以上同方向に動く日は年に2〜4回あり、その週に偏った玉を持っていれば、全滅でなくても半分がまとめて飛ぶのは十分ありえる。年に1回あるかないかの全滅より、年に数回起きる「半分が飛ぶ」を想定すべきだ、という見立てでした。

守りばかりでもいけない

「6本合計の最大損失を口座の15%以内に収めるガードを入れて」と頼んだところ、Mac側のClaudeから「2通りの実装があって結果が大きく変わる」と確認が返ってきました。1本のリスクを5%から2.5%に半分にするか、発注時に合計を見て止めるか(実質3本まで)、その両方か。

ここで私は少し迷いました。守りばかりに徹していては増えないのではないか。その疑問をぶつけて返ってきた答えが、この日いちばん納得したものです。

ロットは優位性を増やさない。増幅するだけ。いまのRangeBreak-LiveはPF 0.57で期待値がマイナスなので、1本5%を維持するのは攻めではなく、マイナスの期待値を2倍速で実現するだけ。逆に期待値がプラスと確認できた戦略なら、5%でも7%でも張る価値がある。ロットの大小は守りと攻めの話ではなく、「優位性がどれだけ確認できているか」に連動させる変数だ、と。

そこで、1本のリスクを固定ではなく直近の成績に連動させることにしました。直近20トレードのPFが1.0未満なら2.5%、1.0〜1.3なら4%、1.3以上なら6%。優位性が出た瞬間に自動で攻めに転じ、崩れたら自動で縮む。その上に合計15%のガードを安全網として置く。そして本当に攻めるべき場所は戦略の探索のほうなので、RangeBreak以外の入口を影武者で並走記録させ、20〜30エントリーで上回ったものに実弾を切り替える。この3つをMac側のClaudeに指示して、実装は完了しています。

損切りをどうするかは、Claudeの判断に委ねました。別セッションからは「1.5〜2.0ATRの広い損切りに差し替えるのがいちばん効く修正」という提案も出ていて、それも含めて渡してあります。守りは口座を残すため、攻めは戦略選びとサイズの連動で、という役割分担です。

正直なところ

この日、いちばん役に立ったのは「Claudeの結論を別のClaudeに見せる」ことでした。同じモデルでも、片方は実装と運用の当事者で、もう片方は外から数字だけを見る。当事者が「根拠のある改善を1つ実行します」と自信を持って出した設計に、外から「それは撤退基準を突き抜けます」が入った。私ひとりでは気づけなかったと思います。

もう1つ。入口、出口、保有上限、トレールの4つを同時に変えたので、次の20エントリーで結果が悪くてもどれが原因か分離できません。入口は影武者で独立に測れますが、出口側の3つは分離できないまま進みます。分かった上で進むのと、分からずに進むのは違うので、書いておきます。

検証の結果は、次の週次評価とあわせて書きます。

BANDANAN AI TRADE LAB
このラボの記録は、毎週更新しています
記事の公開はXでお知らせしています。投資助言ではありません。
XでフォロートラックAトラックB

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です