見出し画像

9回いじって、9回ボツ。Botの改善は、いったんやめる

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

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

「月1%」が「月0.6%」に。バックテストの数字を26年でならしたら
バックテストの次は「フォワードテスト」。口座ゼロでも今日から始められる
損切りもショートも効かない。効いたのは地味な「分散」だけだった
「ツキイチ」を「シューイチ」にしたら、成績が半分になった
バックテストで"効いた"のに、手数料を入れたら消えた
"炭鉱のカナリア"を見張り番にしたら、暴落の痛みが浅くなった
銘柄を増やしたら年利がほぼ倍になった。でも、それは「未来のカンニング」だった
「5月に売れ」をBotに入れたら、下げ幅は縮んだ。でも年利がそれ以上に減った

この2週間、僕はBotのメインになっているツキイチという戦略を「もっと強くできないか」といじり続けていました。有名なセオリーや、思いついた工夫を、1個ずつ足してはバックテスト(=過去のデータで作戦を試すこと)にかける。

結果を先に言います。足そうとした9個のアイデアは、9個とも却下しました。

そのかわり、この間に「効いた」ものも2つあります。でもそれは、Botのロジックをいじった結果じゃなくて、横に別の資産を混ぜた結果でした。

今日は「もう、いじるのはいったんやめる」と決めた回です。負けっぱなしの記録ですが、いや、こういう「やめどきの判断」こそ、あとから読み返して一番役に立つやつなんだよね。

この記事で分かることは3つです。

  • いじって出た「良くなった数字」を、本物と偶然でどう見分けたか

  • 9個の却下を1枚にまとめた表(何を足して、なぜダメだったか)

  • 「改善をやめる」のはサボりじゃなく、検証して出した結論だ、という話

まず「ツキイチ」をおさらい

連載を初めて読む人向けに、30秒だけ。

僕のBotのメイン戦略は、毎月1回、その時いちばん値動きの強い大型株の上位数銘柄に入れ替えるだけです。個別に「この会社は割安」とかは見ません。過去半年くらいの勢いだけで機械的に決める。月イチで入れ替えるので「ツキイチ」と呼んでます。

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

この2週間やっていたのは、このツキイチに何かを足して、成績(年利)を落とさずに、暴落したときの落ち込みをもっと浅くできないか、というチャレンジでした。

この2週間でやったこと:9個足して、9個戻した

9個、順番に。全部却下です。数字はぜんぶ、過去およそ21年ぶんの日本株データで回した僕のバックテストの実測。「──」のあとが却下の理由です。

  • ① 固定の損切り(買値から一定割合下がったら機械的に売る)── 落ち込みはほぼ変わらず、年利だけ下がる。売った直後にV字回復されて上げを取り逃す

  • ② インバース(下げ相場で、指数と逆に動く商品を一部持つ)── 過去のほぼ全期間で落ち込みがむしろ深くなる。効くのは20年に1回の長期下落だけ

  • ③ ショート(弱い銘柄を空売りする)── 空売り側だけで年マイナス。日本株は「弱い株がさらに弱い」が続かない

  • ④ 相場の崩れ判定を厳しくする(確認日数を足す・線の傾きを見る)── 「待つ」ぶん下落に長く乗って、落ち込みが逆に悪化する

  • ⑤ 銘柄の選び方をいじる(複数の期間の勢いを混ぜる・52週高値で選ぶ 等)── 直近は良く見えるが、過去の前半でリターンを削る。半年くらいの勢いをそのまま見るのが、すでに一番良かった

  • ⑥ シューイチ(入れ替えを隔週・週イチに速める)── 年利が半分。手数料をゼロにしても負ける=速い回転そのものが「半年の勢い」を壊す

  • ⑦ ボラ等分(値動きの荒い銘柄を軽く、静かな銘柄を重く持つ)── 手数料ゼロなら初めて落ち込みが浅くなったのに、毎月の組み替えが増えて実際の手数料で消える

  • ⑧ 対象銘柄を39→221社に広げる ── 年利がほぼ倍に見えたが、選ぶときに「今の情報」を使っていた=未来のカンニング。過去情報だけで組み直すと改善が消える

  • ⑨ 季節性(Sell in May=夏は株を軽くする)── 落ち込みは本当に2〜5ポイント浅くなるが、年利がそれ以上(1.6〜7.7ポイント)減る。「半年ぶん株を減らしただけ」

ざっくり分けると、「守りの仕掛けを足す」(①〜④)、「回転や重みを変える」(⑥⑦)、「選び方・対象を広げる」(⑤⑧⑨)。方向を変えて9回やって、全部ダメでした。

(記事に書かなかった却下も別にあります。守りのセンサーを別の種類で足す、軽くレバレッジをかける、業種ごとに上限を設ける……数え方を変えると11連敗くらいになります。数が多いのがポイントなので、ここでは連載で扱った9個で通します)

効いた2つは、いじる話じゃなかった

この2週間で「採用」まで行ったものも、2つだけあります。
数字は「変更前 → 変更後」。

① 金を一定割合、常に持つ
ポートの一部(1〜2割ほど)を金で固定。下げ相場のときだけ、はダメで、常時。
→ 年利 +9.8% → +10.4%/最大の落ち込み -37% → -29%/リスク効率 0.62 → 0.72

② カナリア方式
新興国株の勢いがマイナスになったら、株の比率を自動で絞る。
→ 年利 +10.4% → +11.1%/最大の落ち込み -29% → -25%/リスク効率 0.72 → 0.80

※リスク効率=リターン ÷ 値動きの荒さ(専門的にはシャープレシオ)。
大きいほど「同じリスクで多く取れている」。

この2つに共通するのは、Botの売買ロジックには一切手を入れていないことです。「毎月、勢い上位の数銘柄」という中身はそのまま。ただ、横に別の資産(金)を置いたり、別の市場(新興国株)を見張り番にしたりしただけ。

連載6本目で書いたカナリアも、一見「足し算」に見えます。でも中身は、「同じ日本株市場の、遅れて動く線をこねくり回す」のを全部やめて、「先に弱くなる別の市場を見る」に変えたことなんだよね。だから効いた。
①〜④の守りの仕掛けが全部ダメだったのと、きれいに対照的です。

つまり、伸びしろはロジックの中じゃなくて、横に何を置くかにあった。

「良くなった」をどう見分けたか

9回いじる中で、数字が良くなる瞬間は何度もありました。パラメータを振れば、どこかで「お、成績上がった」が出てくる。問題は、それが本物か、過去にだけ当てはまる偶然(=過剰なつじつま合わせ)か、です。

僕は検証を始める前に、採用していいラインを紙に書いておきました。

  1. 年利の低下は 0.5ポイント以内まで

  2. 最大の落ち込みが 減ること(横ばい・悪化はダメ)

  3. 過去を前半と後半に割って、両方で通ること

  4. リスク効率が下がっていないこと

3番目がいちばん効きました。後半だけ成績が良くて前半がダメなら、それは「最近の相場にたまたま合っただけ」。未来では消えます。(前半・後半の区切りは、過去21年をだいたい真ん中で割っています)

実際、⑦のボラ等分では危うかった。手数料をゼロにして回したら、初めて「落ち込みが浅くなる」が出たんです。一瞬「採用だ」と思った。でも、前半では落ち込みがむしろ悪化していたし、実際の手数料を入れたら毎月の組み替えコストで改善が溶けた。ラインを先に決めていなかったら、数字だけ見て採用していたと思います。

連載1本目で「バックテストの数字を疑え」と書きましたが、あれは他人の数字だけじゃなく、自分がいじって出した数字にも刺さります。

なぜ「いじらない」が正解なのか

理由は4つです。

1. 9回やって0回。この方向にはもう鉱脈がない。
確率で見れば、次の10個目が当たる根拠がありません。「まだ試してない工夫があるはず」と思って手を動かし続けることはできるけど、それは真面目さじゃなくて、ただの惰性です。

2. 効いた2つは、どちらも「混ぜる」側だった。
金もカナリアも、ロジックの外側。改善の余地はツキイチの中身じゃなくて、横に何を置くかにある、とハッキリした。だったらそっち(分散)に時間を使うべきで、中身をこねる時間はもう回収が悪い。

3. いじり続けること自体にコストがある。
過去のデータに合わせ込むほど、本番ではズレます。一般論としても、システムトレードの世界では「パラメータは一番良い1点でなく、性能が安定している"平らな範囲"で選べ」「ルールと指標は減らしてシンプルに保て」とよく言われます(参考)。9回のいじりは、その逆をやりかけていた。

4. 元の設計を疑って振ってみたら、元の値が一番良かった。
保有する銘柄数を減らしたり増やしたりして試したけど、いまの数がいちばんバランスが良かった。入れ替えの間隔も、短くしたら成績が落ちた(4本目のシューイチの回がこれ)。つまりツキイチは、検証してみたら「動かす理由が見つからない」=すでにいい場所にいた。これが分かっただけでも、2週間まわした価値はありました。

次にやること/同じところで迷っている人へ

というわけで、次からは「もっと強くする」をいったん置きます。かわりに、いま実際に動かしているBotが、バックテストで見た通りに走っているかの定例点検に軸足を移します。守りは金とカナリア、それと日米の分散(これは資金が増えてから有効化)で、いまはもう足りている。

同じところで迷っている人へ。バックテストの数字をいじり始めると、「あと1個試したら良くなるかも」が無限に続きます。抜け出すコツは2つ。

  • いじる前に「やめる基準」を紙に書く。 「年利をこれ以上落とさない」「前半・後半の両方で良くなる」みたいな関門を先に決めておく。あとから数字を見て基準をゆるめない。

  • 数字が良くなる場所は、どこかで見つかってしまう、と知っておく。 前半と後半の両方で通らないなら、それは実力じゃなく偶然です。

9回外して0回なら、その方向はいったん閉じていい。
閉じるのは負けじゃなくて、検証の結論なんだよね。


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

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

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

noteマネーのバナー