この記事は、FXのEA売買(トラックA)やAI直接売買(トラックB)とは別の口座・別の仕組みで動かす「株自動売買」の記録です。ExcelのVBAから日本株を売買します。いまは仮想運用で、実弾は入れていません。記事の一覧はトラックCへ。
10月19日から23日までの、仮想運転の1週間です。トラックCでは2本のプログラムを同じExcelで並べて動かしています。第3回で紹介したフリップ型(BandananFlip)は、この週が初めてのまる1週間でした。結果は33回の取引で−27,200円。ただ、中身を分けると話が変わります。月曜と火曜は、プログラムが朝のうちに判定を止めていた2日間で−37,900円。そのうち1銘柄だけで−53,600円です。直した版(v1.3)で動いた水曜から金曜の3日間は、23回で+10,700円でした。1本目の BandananTrade は7回で−4,400円です。
今週の成績
| 項目 | BandananFlip(フリップ型) | BandananTrade |
|---|---|---|
| 版 | v1.2(月・火)→ v1.3(水〜金) | v3.2 |
| 取引回数 | 33回 | 7回(取引なしが2日) |
| 勝ち / 負け | 15勝18敗 | 3勝3敗1分け |
| 今週の損益 | −27,200円 | −4,400円 |
| 運用資産(週初め → 週末) | 500,000円 → 472,800円 | 518,400円 → 514,000円 |
| 運転を始めてからの累計 | −27,200円(10/19から) | +14,000円(10/6から) |
フリップ型は、10月13日の初日のあと14日から16日は動かしておらず、19日に資金50万円から数え直しています。初日の−13,100円は、この表に入れていません。
月曜と火曜:判定が朝で止まっていた
おかしいと気づいたのは、決済の理由の欄でした。月曜は6回のうち5回、火曜は4回すべてが「大引け」。フリップ型は、移動平均線まで値段が戻ったら降りる作りです。29日の試算では、大引けまで持ち越したのは375回のうち14回しかありません。それが2日続けて、ほとんど全部になっていました。
判定の記録を開くと、月曜は9時40分、火曜は10時15分を最後に、その日は1行も増えていませんでした。新しく建てる合図も、降りる合図も、どちらも出ていない。プログラムは動いているのに、判定だけが朝で止まっていたのです。
原因は5分足の読み方でした。楽天証券の配信は、最初に読み込んだ200本の下に、その日の足を1本ずつ書き足していきます。プログラムは決まった210行までしか読んでいなかったので、その日の足が10本ほど増えたところで最新の足が見えなくなり、同じ足を「もう判定した」と素通りし続けていました。検査で見つからなかったのは、検査のときに足のシートへ毎回「最後の60本」だけを流していたからです。行が増えないので、この形の不具合は出ようがありませんでした。
月曜は、持ち越した建玉が大引けで差し引きプラスになり、+13,500円で終わりました。火曜はそうはいきません。この日は朝9時50分まで株価が届かず(BandananTrade も同じ。原因はまだ確かめられていません)、10時15分、前日から16%下げていたクラスターテクノロジーを、帯の下に抜けたところで逆張りで買いました。そのあと判定が止まり、株価は下げ続けて、その日の値幅制限の下限(ストップ安)720円で引けました。400株で−53,600円。引けの時点で買い気配はゼロでしたから、実際の取引なら売ることもできなかった場面です。
v1.3 で直したこと
- 足を最後の行まで読む:決まった行数ではなく、その銘柄の足が続くところまで読みます。古い日付の行が下に残っていても、時刻が戻ったところで読むのをやめます
- 大きく動いた銘柄には建てない:前日の終値から10%以上動いている銘柄と、気配が出ていない銘柄には新しく建てません。水曜から金曜も、前日比+11%や−14%の銘柄が「見送り」になっています
- 配信が止まった足を入れ直す:水曜の朝、ブックを開き直したら5分足の配信が始まらず、20銘柄すべてが「足が足りません(0本)」になっていました。手で式を入れ直して9時31分から判定が動いた日です。いまは判定のたびに配信の状態を見て、止まっていれば自動で入れ直します。木曜と金曜は、寄り付き前に20銘柄とも自動で入れ直されて、そのまま動きました
- 知らせを増やす:足が15分以上進まない銘柄、判定が遅れて見送った足、9時05分を過ぎても株価が届かないとき、を運転記録に残します
損切りは、今回も入れていません。29日の試算では、損切りを入れるほど利益が減りました(損切りなしで+402,533円、3%の損切りを入れると+198,044円)。逆張りは、逆に動いたあと戻ってくるところで稼ぐので、損切りは戻りの利益まで捨ててしまいます。その代わりに、火曜のような「止まらない下げ」は、10%の除外で入口から避ける形にしました。

直したあとの3日間を、試算と並べる
| 項目 | 試算(v1.3 の設定・8/27〜10/9 の29日) | 実際(v1.3・10/21〜23 の3日) |
|---|---|---|
| 1日の取引回数 | 12.7回 | 7.7回 |
| 勝率 | 61.0% | 43.5% |
| 1回あたりの損益 | +1,103円 | +465円 |
| 大引けまで持ち越した割合 | 3.7%(v1.1 の試算) | 8.7%(23回中2回) |
| 1日あたりの損益 | +14,036円 | +3,567円 |
回数も勝率も、試算には届いていません。ただ、試算の29日は、設定を選んだのと同じ期間です。そこで、ルールを決めたあとに取り直した5分足で、同じ v1.3 のルールを流し直しました。9月9日から10月1日までの14日は+175,283円、10月2日から23日までの15日は+54,640円。10月に入ってからは、試算でも1日あたり約3,600円まで落ちています(9月の分は、設定を選んだ期間と重なっています)。
直したあとの3日間の1日平均+3,567円は、このペースとほぼ同じです。3日では何も言えません。それでも「プログラムが試算どおりに動かなかった」というより、「10月の相場では、試算でも伸びが鈍っている」と読むほうが近そうです。
約定の値段:気配の差は試算の2倍
第3回で「いちばん怪しい」と書いたのが約定の値段です。仮想取引では、買いなら売り気配、売りなら買い気配で約定したことにしています(現在値から2%以上離れていたら現在値)。BandananTrade が1分ごとに残している気配の記録と突き合わせると(1分おきの記録なので概算です)、33回の約定が同じ時刻の現在値より不利だった分は、合計で約13,100円。1回あたり約400円です。試算は費用を「値段の刻み1つぶん」で見ていて、同じ33回なら約6,400円。実際の気配の差は、試算の約2倍ありました。
差が大きいのは、朝9時05分の建てです。最初の5分足が確定した直後は気配が広く、買い気配と売り気配の差は中央値で5刻み。それ以外の時間は2刻みでした。v1.3 の3日間で、9時05分に建てた10回は3勝7敗で−3,600円。それ以外の13回は7勝6敗で+14,300円です。
10回と13回では、偶然と区別できません。それでも、寄り付き直後の建てを少し遅らせる案(9時10分や9時15分から建てる)は、データで試す価値がありそうです。もうひとつ、木曜は午前に売りで負けた2銘柄(ナカニシ、ウエストホールディングス)で、午後に買いでもまた負け、合わせて−12,000円でした。負けた銘柄にその日はもう入らない、という案も一緒に試します。
BandananTrade(v3.2):7回で−4,400円
1本目の BandananTrade は、10月13日から v3.2 で動いています。VWAP(その日の出来高で重みをつけた平均値段)を抜けた銘柄だけに入る形に絞ったので、取引は少なく、今週も火曜と金曜は取引なしでした。
| 日 | 銘柄 | 売買 | 損益 | 終わり方 |
|---|---|---|---|---|
| 10/19 | 放電精密加工研究所 | 買い | +4,000円 | 横ばいで手じまい |
| 10/19 | 豊和工業 | 買い | +400円 | 横ばいで手じまい |
| 10/19 | レイヤード | 買い | −11,800円 | 損切り |
| 10/21 | アズジェント | 売り | +12,000円 | 利確 |
| 10/22 | インタートレード | 売り | ±0円 | 建値で撤退 |
| 10/22 | インタートレード | 売り | −1,000円 | 建値で撤退 |
| 10/22 | インタートレード | 売り | −8,000円 | 損切り |
気になったのは木曜です。インタートレードに、同じ「VWAP割れの売り」で3回入りました。朝の2回は値段が下がらず建値で撤退、昼すぎの3回目で損切り。下がりにくい銘柄に、合図が出るたびに入り直していました。フリップ型と同じく、損切りした銘柄にはその日は入らない、1銘柄は1日2回まで、という案を、まずデータで試します。
v3.2 になってからの9回で−2,200円。29日の試算(63回で−5,100円)と同じく、ほぼトントンです。10月6日の運転開始からでは50回で+14,000円、運用資産は514,000円になりました。
今週、机の上で試したこと
仮想運転とは別に、過去の株価で2つ試しました。どちらも、今の形には入れません。
1. プライム銘柄で回したら:対象をスタンダード市場からプライム市場に替えて、9月9日から10月23日までの同じ29日に流しました。
| プライム | スタンダード(いまの対象) | |
|---|---|---|
| フリップ型の損益 | −42,050円(322回・勝率49.4%) | +229,923円(346回・勝率56.4%) |
| 1回の値幅の平均 | 0.73% | 1.54% |
| BandananTrade の損益(簡易の模型) | −6,994円(120回) | +118,009円(89回) |
プライムの大型株は値段の刻みが細かく(3,000円以下なら0.5円)、1回の費用は小さくなります。けれども、逆張りで取れる戻りの幅が半分しかなく、費用を引く前からマイナスでした。フリップ型が稼いでいるのは、スタンダードの中型株の「行き過ぎと戻り」の大きさだということになります。
2. 信用取引の「買いと売りの比」で向きを絞ったら:日本証券金融が公表している銘柄ごとの融資残高(信用の買い)と貸株残高(信用の売り)から、その比を41営業日分つくり、「売りは比が3倍以上のときだけ、買いは1倍以下のときだけ」に絞って流し直しました。買いが多すぎる銘柄は下がりやすく、売りが多い銘柄は上がりやすいのでは、という仮説です。
| フリップ型の損益 | スタンダード(8/27〜10/9) | スタンダード(9/9〜10/23) | プライム(9/9〜10/23) |
|---|---|---|---|
| 絞らない | +407,033円 | +229,923円 | −42,050円 |
| 比で絞る | +129,900円 | +38,800円 | +42,470円 |
スタンダードでは大きく減りました。プライムでは良くなっていますが、比を使わずに「売りだけにする」ほうがもっと良く(+61,960円)、効いていたのは比ではなく「プライムでは逆張りの買いが負けていた」ことでした。しきい値を変えた36通りでも、3つの期間すべてで「絞らない」を上回った組み合わせはありません。この期間・この本数では、効果ははっきりしない、という結論です。
来週
- 2本とも、版を変えずに仮想運転を続けます(BandananFlip v1.3、BandananTrade v3.2)
- 見るもの:1日の回数と勝率、気配の差で払った額、大引けまで持ち越す建玉が増えないか、朝の株価が9時に届いているか
- データで試すもの:寄り付き直後の建てを遅らせる案と、負けた銘柄に同じ日は入り直さない案。設定を選んだ期間とは別の日で効いたときだけ入れます
- 実弾への切り替えは、まだです。条件も、まだ書けません
今回わかったこと
今週の負けのほとんどは、売買のルールの外側で起きました。足が下に書き足されていくこと、ブックを開き直すと配信が始まらないこと、朝の株価が9時に届かないこと。どれも、過去の株価をいくら流しても出てこない種類の問題です。動かしてみて、初めて見えました。
直したあとの3日間は、10月の試算のペースとほぼ同じでした。ただし、気配の差は試算の2倍あります。そして「勝率6割」は、まだ一度も実物で見ていません。試算の数字は、実物で確かめるまでは仮説のままです。
次回
v1.3 のまる1週間の結果と、寄り付き直後の建てを遅らせる案・負けた銘柄に入り直さない案をデータで試した結果を載せます。
この記事は筆者個人の実験記録であり、投資助言ではありません。記事中の損益は架空取引と過去データによる試算で、実際の取引の結果ではありません。信用取引は、預けた保証金を上回る損失が生じる可能性があります。
コメントを残す