見出し画像

損切りもショートも効かない。効いたのは地味な「分散」だけだった

こんにちは、クロンです。インフラエンジニアの管理職をしながら、AI(Claude Code)と一緒に日本株のスイングBotを自作しています。プログラミングもデイトレも素人です。

これは連載の3本目です。前回まではこちら↓

「月1%」が「月0.6%」に。バックテストの数字を26年でならしたら
バックテストの次は「フォワードテスト」。口座ゼロでも今日から始められる

今日は、Botの戦略に「改善アイデア」を足してみる1日でした。よく聞くセオリーを5個ためして、5個ともボツ。残ったのは、地味な1個だけ。

いや、負けっぱなしの記録なんて読んでも…と思うかもしれません。でも、この「5連敗して1個だけ残った」っていう体験そのものが、たぶん一番役に立つんだよね。この記事で分かるのは、次の2つです。

  • トレードのセオリーは「一般論として正しい」と「自分のやり方に効く」が別物、ということ

  • 効いたのは派手な仕掛けじゃなく、地味な「分散」だったこと

まず、僕の戦略はどういうもの?

ここを説明しないと話が進まないので、ざっくりだけ。

僕のBotの戦略は、毎月1回、その時いちばん勢いのある大型株に入れ替えるだけ。個別に「この会社は割安だ」とかは見ない。過去の値動きの強さだけで機械的に決めます。うちでは ツキイチ と呼んでます(月イチで入れ替えるから)。

これに「安全弁」がついています。相場全体が崩れてきたら、株の比率を自動で下げて、余ったぶんは現金で待つ。攻めるより、大きく負けないことを優先する設計です。

今日やったのは、このツキイチに何か足して、下げ局面の痛み(=最大でどれだけ資産が落ち込むか)をもっと小さくできないか、というチャレンジでした。使ったのはバックテスト(=過去のデータで作戦を試すこと)。過去およそ21年ぶんの日本株データで回しています。

ボツ① 「損切りは絶対」

いちばん有名なやつです。「買値から一定割合下がったら、機械的に売って損を確定させる」。

ツキイチに、この固定の損切りを入れてみました。結果は、年利が下がって、最大の落ち込みはほとんど変わらない。損切りをきつくするほど成績が悪くなる。

理由はシンプルで、ツキイチは毎月バラけた銘柄に入れ替えるので、資産の落ち込みは「1銘柄の暴落」じゃなく「相場全体の下げ」で起きるんだよね。1銘柄を早めに切っても効かない。しかも、弱くなったところで売った直後にV字回復されて、上げを取り逃す。

ボツ② 「下げ相場はショートで稼げ」

相場には上げ相場・下げ相場という大きな流れがある、という古い考え方があります。じゃあ下げ相場では、下がると儲かる商品(インバースETF=指数と逆に動くように作られた投資信託)を持てばいいのでは?

これも試しました。相場が弱いとき、現金の一部をこのインバース側に回す。結果は、過去のほぼ全期間で、最大の落ち込みが基準よりむしろ深くなった

効いたのは、20年で1回あるかないかの「長期の一方向の下落」だけ。それ以外の相場では、下げてすぐ戻す動きのたびに削られていく。「今が本物の下げ相場だ」なんて、事前には分からないんです。

ボツ③ 本物のロング/ショート

「弱い株を空売り(=持ってない株を借りて先に売り、下がったら買い戻して差益を取る)して、強い株の買いと組み合わせれば、相場の上げ下げに関係なく"差"で稼げる」。理屈はきれいです。

対象銘柄を200以上に広げて、買いと売りを同額でぶつける形を検証しました。結果は、バックテストの時点で年率マイナス。買い側だけ取り出すと普通にプラスなのに、売り側が全部持っていく。

日本の大型株の「負け組」って、一時的に売られた優良企業がほとんどで、時間が経つと戻ってくる。そこを空売りし続けるのは、構造的に負ける賭けでした。

ボツ④⑤ 「判定」と「銘柄選び」を厳しめに

もう2個。

  • 相場の"崩れ"判定を厳しめに:「線を割ってすぐ」じゃなく「何日か続けて割ったのを確認してから」株を減らす。→ 待っているぶん、下げに長く乗ったままになって、最大の落ち込みが悪化。

  • 銘柄の選び方を厳しめに:上がっている銘柄だけ持つ、など条件を追加。→ 直近だけ成績が良く見えたけど、期間を前半/後半に割ったら崩れた。=たまたま最近の相場に合ってただけ(過剰最適化=過去に合わせすぎ)。

なぜ5個とも効かなかったのか

並べると、共通点が見えてきます。「トレンドに逆らう」「トレンドを当てにいく」「遅れて動く」仕掛けは、ツキイチみたいな"勢い"を使う戦略には効かない。急な戻り(V字回復)のたびに刈られるからです。

これは僕だけの発見じゃなくて、モメンタム(勢い)戦略は横ばい・急反転の相場でダマシに弱い、というのは一般にも言われています(参考:Above the Green Line)。「損切りは早くすべき」という鉄則も、データで検証すると鵜呑みにすべきでない結果が出る、という記事もあります(参考:ダイヤモンド・オンライン)。

そして大事なこと。下げ局面の"守り"は、もともと入れてある安全弁(崩れたら現金で待つ)で足りていた。そこに何か足そうとするほど、成績が悪くなる。引き算のほうが正解だったんです。

唯一残った1個:金を少し混ぜる

5連敗のあと、最後に試したのがこれ。ツキイチの資産の一部(1〜2割くらい)を、いつも金で持っておく

金を選んだ理由は、僕の戦略とほとんど値動きが連動しないから。連動度合いを表す指標(相関)で見ると、ほぼゼロ(+0.2くらい)でした。おまけに金それ自体にも、ゆるやかに値上がりしてきた地力がある。

混ぜた結果、最大の落ち込みが約4割弱から3割弱に縮みました。リスクに対する効率(=取ったリスクに見合うリターンが出ているか)も2割近く改善。しかも年利は下がらなかった。期間を前半/後半に割っても、両方で落ち込みが浅くなった。たまたまじゃない。

ひとつ注意。これは「ツキイチという僕の戦略で、過去のデータを回したらこうなった」という話です。戦略が違えば結果も変わるので、そのまま一般化はできません。

ポイントは、「下げ相場のときだけ金を買う」はダメだったこと。それだと買うのが遅く、売るのも遅い。サイクルを通してずっと持つことで、初めて分散が効く。

つまり、効いたのは「相場を当てにいく」仕掛けじゃなく、ただ、連動しないものを混ぜて持ち続けるという地味なやつでした。

ついでの、しくじり2つ

1つ目:データの不良値で、資産が20年で1億円超に

金の価格データに「年1回くらい、値が100分の1になる不良データ」が混ざっていました。そのまま計算したら、資産が20年で1億円超という珍回答に。原因を特定して、別の作り方(金の先物×ドル円)に差し替えて解決しました。

2つ目:AIが自分のミスに気づいて、自分で直した

テスト中、テスト用のつもりで書いた記録が、うっかり本番の取引記録に混ざってしまった。プログラムのちょっとした落とし穴。前回「AIに任せてる」と書きましたが、その"任せる"の怖い側面です。

面白かったのは、これを Claude Code が自分で気づいて、自分で元に戻したこと。偽のデータには「書き込まれた時刻」という目印が残っていて、そこをたよりに10分ちょっとで復旧してくれました。こっちが指示しなくても、「あれ、これ本番のファイルじゃない?」と気づいて手を打つ。正直、めっちゃ優秀で自走できる相棒だな、と思いました。

でも同時に、ちょっと怖くもある。自分で気づいて直せるということは、気づかずに壊すこともできるということです。今回はたまたま目印が残ってて助かっただけ。だからAIにコードを書かせるときは、実データを触らせる前に「テスト用ときっちり隔離できてるか」を人間側で確認する。ここは僕の仕事だと思ってます。

今日の教訓と、次にやること

思いつきは全部盛りにせず、検証して"足さない"と決めていい。

セオリーは「みんなが言ってるから正しそう」に見えるけど、自分の環境(戦略・資金・相場)で効くかは別問題。改善アイデアを5個ためして全部ボツ、そのあとに試した金の分散だけが「地味だけど効く」でした。引き算のほうが正解だった、というのが今日の結論です。

次は、9月末の入れ替えのタイミングで、この「金を少し持つ」を実際のツキイチに組み込みます。バックテストで良かったものを、初めて本番に載せる回になる予定。

同じように「損切りルール、結局どうすればいいの?」で止まってる人へ。答えは「自分の売買記録で検証してみる」です。人の正解じゃなく、自分のデータで白黒つける。地味だけど、これが一番効きました。


※この記事は僕の開発記録です。特定の銘柄や手法をすすめるものではありません。投資は自己判断で。

いいなと思ったら応援しよう!

この記事は noteマネー にピックアップされました

noteマネーのバナー