【株自動売買 #5】3本目「BandananStop」を仮想で始めた——ストップ高・安の翌日を寄付で売る。初週は−43,680円、そして「売れる銘柄は下がらない」問題

TRACK C — 株自動売買

この記事は、FXのEA売買(トラックA)やAI直接売買(トラックB)とは別の口座・別の仕組みで動かす「株自動売買」の記録です。ExcelのVBAから日本株を売買します。いまは仮想運用で、実弾は入れていません。記事の一覧はトラックCへ。

10月26日から30日までの1週間です。今週から、トラックCのプログラムが3本になりました。新しく入れたのは BandananStop。前の日にストップ高・ストップ安で引けた銘柄を、翌朝の寄付で売り、その日の大引けで買い戻す、1日で終わる戦略です。

結果から書きます。第4回で直したフリップ型(BandananFlip v1.3)は、初めてのまる1週間で68回・+76,700円。1本目の BandananTrade は6回で−19,400円。そして新入りの BandananStop は15回で−43,680円でした。ただし BandananStop の負けは、ほぼ月曜の1銘柄(−146,680円)です。

今週の成績

項目 BandananFlip(フリップ型) BandananTrade BandananStop(新)
版 v1.3 v3.2 v1.5 → v1.6 → v1.7
元手(仮想) 50万円 50万円 100万円
取引回数 68回 6回(取引なしが2日) 15回(取引なしが1日)
勝ち / 負け 42勝25敗1分け 1勝5敗 9勝6敗
今週の損益 +76,700円 −19,400円 −43,680円
運用資産(週初め → 週末) 472,800円 → 549,500円 514,000円 → 494,600円 1,000,000円 → 956,320円
運転を始めてからの累計 +49,500円(10/19から) −5,400円(10/6から) −43,680円(10/26から)
今週の日ごとの損益(仮想取引・3本)2026年10月26日〜30日−14万−12万−10万−8万−6万−4万−2万0+2万+4万+6万+8万−1万0−13万10/26(月)+7万−0.4万010/27(火)+2万−1万+7万10/28(水)−2万0+4万10/29(木)+2万−0.5万−2万10/30(金)BandananFlip(週 +76,700円)BandananTrade(週 −19,400円)BandananStop(週 −43,680円)
図1 3本の日ごとの損益。BandananStop の月曜の −13.4万円は、1銘柄の張り付き(後述)がほぼすべて

3本目を入れた理由:BandananStop とは

きっかけは、BandananTrade と BandananFlip を動かしながら「朝いちばんに大きく動いた銘柄は、その日のうちに戻ることが多い」と感じていたことです。いちばん極端な「動きすぎ」は、ストップ高・ストップ安で引けた銘柄です。その翌日、寄付で売って大引けで買い戻すと、どうなるか。2026年1月から10月までの日足で試算しました。

日足の試算(1〜10月、元手100万円固定) 結果
取引回数 1,107回
勝率 60.9%
1回あたりの平均 +2.32%(中央値 +2.64%)
合計 +911万円(10か月すべてプラス)
最大ドローダウン −18.6%

数字は良すぎます。この試算には、本当に売れたか(空売りの在庫)、寄付で約定したか、空売りの手数料が入っていません。だから、いきなり実弾ではなく、楽天証券の「いちにち信用」で実際に売れる銘柄だけを、仮想で売買して確かめることにしました。

1日の流れはこうです。

  • 前の日の16:05:全銘柄(約3,700)をスキャンして、ストップ高・ストップ安で引けた銘柄を候補にする
  • 8:45と8:58:候補ごとに、いちにち信用の売りの在庫を確かめる。在庫がない銘柄は見送り
  • 9:00:寄付で売る(仮想)。ストップ安の翌日も「反転の買い」ではなく「続落の売り」で入る
  • 14:30:まだストップ高に張り付いている銘柄は、大引けを待たずに買い戻す(大引けまで買えない事態を避ける)
  • 15:35:大引けの値で買い戻したことにして、損益を記録。日はまたがない
3本のダッシュボード
週末のExcel。左から BandananFlip、BandananTrade、BandananStop のダッシュボード。3本を同じPCで並べて動かしている

守っていることは4つです。1銘柄はその日の資産の50%まで。シグナルの日の売買代金の1%まで。100株単位で50単元まで(それより多い空売りは規制の対象になるため)。気配がストップに張り付いていたら入らない。

BandananStop の1週目:月曜の張り付きと、火曜の「読めず」

月曜(−133,650円)。この日はブックを開くのが9:11になり、2銘柄はそのときの気配で売りました。そのうちの1つ、データセクション(3905)を1,572円で400株売ったところ、株価は前の日に続いてストップ高の1,930円まで上がり、そのまま張り付きました。14:30 の早め買い戻しで決済して、−146,680円。この1本で、週の負けを全部出しています。

寄付ですでに前の日の終値より2.75%上にあった銘柄を、さらに遅れて売ったことになります。試算の「寄付で売る」とは別物の取引でした。「遅れた日は、すでに上に寄っている銘柄は見送る」かどうかは、来週の宿題です。

火曜(取引なし)。朝の在庫確認で、9銘柄すべてが「読めず」になり、1本も建てませんでした。原因は、Excel のセルの書式です。前の日の夕方のスキャンが作業シートの列を「文字列」の書式にしたまま残し、翌朝そこに入れた在庫を読む式が、式ではなくただの文字として入っていました。開いた直後の初日(月曜)には起きず、スキャンを一度回したあとに起きる、という種類の不具合です。

水曜(+70,460円)。9:04 に作業シートの書式を手で「標準」に戻すと、9:05 に在庫が読めて4銘柄を売りました。その日の夕方に、式を書く前に書式を戻す直しを入れた v1.7 を作っています。木曜(+40,310円)・金曜(−20,800円)は v1.7 で、8:58 の判定どおりに動きました。

回数 損益 1回あたり(費用込み)
15回すべて 15回(9勝) −43,680円 平均 +0.63%(中央値 +1.96%)
月曜を除く12回 12回(8勝) +89,970円 平均 +2.95%
ストップ高の翌日の売り 10回 −96,180円 —
ストップ安の翌日の売り 5回(4勝) +52,500円 —
(参考)日足の試算 1,107回 — 平均 +2.32%

月曜を除くと試算に近い数字ですが、除く理由があるのは月曜の「遅れて売った」2本だけで、張り付きそのものはこの戦略にいつでも起こることです。15回では、まだ何も言えません。

いちばん大きな発見:「売れない銘柄ほど下がる」

週の途中で、ひとつ心配が出てきました。いちにち信用で売りの在庫がない銘柄ほど、翌日よく下がっているのでは、という疑いです。もしそうなら、この戦略は「下がる銘柄は売れず、売れる銘柄は下がらない」ことになり、成り立ちません。

そこで v1.7 から、売買とは別に、候補すべての翌日の値動きを「在庫あり / なし」で分けて記録しています(在庫別記録。10/26・28 の分は朝の在庫確認の記録からあとで作成)。4日・37銘柄の途中経過が図2です。

翌日の寄付→大引け、売りで入ったとしたら在庫別記録 4日・37銘柄−2%0%+2%+4%+6%+8%+10%−0.30%在庫あり(売れた側)19銘柄+7.82%在庫なし・対象外(売れなかった側)18銘柄寄付で売って大引けで買い戻したとしたときの平均(費用=呼び値1本込み)。10/26・28・29・30 の4日分
図2 在庫があって売れた銘柄は、翌日ほとんど下がっていない。在庫がなく売れなかった銘柄は、平均で7.8%下がった

はっきり差が出ました。金曜のジェイ・エスコムホールディングス(3779)は在庫がなくて見送りましたが、翌日は寄付から−30.9%。逆に、在庫があって売れた銘柄の平均は、ほぼ動いていません。

過去分でも確かめました。いちにち信用の在庫の記録は過去にさかのぼれないので、代わりに日証金の「貸借取引」のデータで、ストップ高の翌日を「空売りしにくい銘柄」(制度信用だけ・申込停止)と「しやすい銘柄」(貸借・制限なし)に分けました。1〜10月で、しにくい銘柄931回の売りは平均 +2.9%、しやすい銘柄373回は −0.29%。試算の利益は、ほぼ全部が「空売りしにくい銘柄」から出ていました。

ただし、楽天のいちにち信用は日証金とは別の仕組みで、空売りしにくい銘柄にも在庫が付くことがあります。実際、今週売れた銘柄の多くは「制度信用だけ」の銘柄でした。在庫があって、なおかつ空売りしにくい銘柄に絞れば勝てるのか。いまの途中経過は12回で売り平均 +1.75%、在庫ありで空売りしやすい銘柄は5回で +0.01% です。40回・10日以上たまって、差が1.5ポイント以上続いたら、そこに絞る版(バージョン2)を作ります。

BandananFlip(v1.3):まる1週間で +76,700円

第4回で直したフリップ型は、5日とも朝から大引けまで止まらずに動きました。68回で42勝、1回あたりの平均は +0.52%。勝ちの平均 +5,005円に対して、負けの平均 −5,340円です。

週の稼ぎ頭は火曜の HEROZ(4382)で、逆張りの買いが急騰でドテンになり +38,600円、そのあとの売りで +29,800円。一方、木曜は同じ HEROZ の買いで −25,500円、テリロジー(5133、水曜)−18,200円、ショーケース(3909、木曜)−18,000円と、1銘柄で大きく負ける日もありました。勝ちが小さく負けが大きい、という形はまだ変わっていません。

前回の宿題だった2つの案は、まず今週の実データで見ました。

今週の BandananFlip 回数 損益 勝ち
9:05(寄り付き直後の最初の足)で建てた 25回 −20,700円 15勝
それ以降に建てた 43回 +97,400円 27勝
同じ日に負けた銘柄へ入り直した 2回 +2,100円 2勝

寄り付き直後の建ては、今週も負けていました。前の週の「9:05 の建ては気配の差が大きい」という観察とも合います。一方、負けた銘柄に入り直すことは週に2回しか起きておらず、止める意味はほとんどありません。寄り付き直後を遅らせる案は、過去の5分足でも同じ向きに効くかを確かめてから入れます。今週だけで決めると、また「出来すぎ」を拾うだけになるからです。

BandananTrade(v3.2):6回で −19,400円

1本目の BandananTrade は、週に6回しか入らず、勝ったのは1回でした。運転を始めた10/6からの累計は、今週で初めてマイナス(−5,400円)になりました。v3.2 は「朝に大きく動いた銘柄が VWAP を割った・抜けたところで戻る向きに入る」形ですが、3週続けて回数が少なく、成績も伸びていません。

同じ「動きすぎの戻り」を狙う3本の中で、いまいちばん弱いのがこの1本目です。来週もう1週回して形が変わらなければ、作り直すか、BandananStop・BandananFlip に役目を譲るかを決めます。

今週の評価

プログラム 評価 理由
BandananFlip v1.3 ◎ 続ける まる1週間止まらずに動き +76,700円。ただし負けの平均が勝ちより大きい
BandananStop v1.7 △ 様子見 15回では判断できない。張り付き1本で週の負け。「売れる銘柄は下がらない」問題が本物かを確かめる段階
BandananTrade v3.2 × 見直し候補 6回で1勝。累計がマイナスに転じた

来週

  • 3本とも、版を変えずに仮想運転を続けます(BandananFlip v1.3、BandananTrade v3.2、BandananStop v1.7)
  • BandananStop:在庫別記録をためる。遅れて開いた日に、すでに上に寄っている銘柄を見送るかを検討
  • BandananFlip:寄り付き直後の建てを遅らせる案を、過去の5分足で再生して確かめる
  • BandananTrade:もう1週見て、作り直すかどうかを決める
  • 実弾への切り替えは、まだです

今回わかったこと

新しい戦略を入れた週に、いちばん大きかったのは損益ではなく、「売れる銘柄」と「下がる銘柄」がずれているかもしれない、という発見でした。日足の試算では、売りたい銘柄は全部売れることになっています。実際の在庫を毎朝確かめる仕組みを入れて、初めてその前提が怪しいとわかりました。

もうひとつ、またもプログラムの外側の不具合(セルの書式)で1日を失いました。過去のデータをいくら流しても出てこない問題は、動かしてみるしか見つける方法がありません。仮想で始めてよかった、と思った1週間です。

次回

3本の2週目の結果と、BandananStop の在庫別記録の続き、寄り付き直後を遅らせる案を過去の5分足で確かめた結果を載せます。

この記事は筆者個人の実験記録であり、投資助言ではありません。記事中の損益は架空取引と過去データによる試算で、実際の取引の結果ではありません。信用取引・空売りは、預けた保証金を上回る損失が生じる可能性があります。

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

コメントを残す

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