この記事は、FXのEA売買(トラックA)やAI直接売買(トラックB)とは別の口座・別の仕組みで動かす「株自動売買」の記録です。ExcelのVBAから日本株を売買します。いまは仮想運用で、実弾は入れていません。記事の一覧はトラックCへ。
トラックCの最初の1週間です。仮想運用の4日間は+16,200円で終わりました。ところが、同じ週に作り直した新しいルールを過去29営業日の株価に流してみたら、50万円が−526,233円。原因を追っていくと、売買ルールの良し悪しより先に、もっと単純なところで負けていました。10月15日から実弾を入れるつもりでしたが、見送ります。
仮想運用の4日間:+16,200円
| 日付 | 取引数 | 損益 |
|---|---|---|
| 10月6日(火) | 16回 | +33,300円 |
| 10月7日(水) | 6回 | +2,600円 |
| 10月8日(木) | 0回 | 0円 |
| 10月9日(金) | 19回 | −19,700円 |
| 合計 | 41回 | +16,200円 |
初日に大きく勝って、最終日に半分返した形です。41回で+16,200円。これだけ見れば悪くありません。ただ、前回書いたとおり、仮想の成績は実際より良く出ます。そして4日・41回では、勝てるルールなのか、たまたまなのかは分かりません。
そこで、過去の株価で長めに試すことにしました。
29営業日ぶんの5分足を取ってきた
楽天のRSSには、過去の足を取る関数があります。これを使うマクロを作り、スタンダード市場の約1,500銘柄の5分足を一晩かけて取得しました。株価が入っていたのは直近30営業日分。最初の1日は「前日のデータ」として使うので、試せるのは8月27日から10月9日までの29日間です。
この週のあいだに、ルールも作り直していました。VWAP(その日の出来高加重平均)を基準にして、「行き過ぎの戻り」「VWAPまでの押し目」「VWAP抜け」の3つの型で買いと売りを決める v3.1 です。同時に持てるのは5銘柄まで、前場と後場でそれぞれ手仕舞い。これを29日分の株価に流しました。
結果:29日で−526,233円
| 項目 | v3.1の結果 |
|---|---|
| 合計損益(毎日50万円で固定) | −526,233円 |
| 取引回数 | 875回(1日約30回) |
| 勝率 | 32.1% |
| 勝ち日 / 負け日 | 7日 / 22日 |
| 複利で回した場合 | 50万円 → 約15万円 |
複利で回すと、11日目に資産が30万円を割って、信用取引の最低保証金に届かなくなります。実弾だったら2週間あまりで退場です。
この数字は実際より悪く出ている可能性があります。5分足から30秒刻みの値動きを作って流しているので、本物より足の中の往復が多くなる。それでも、桁が違いすぎます。
負けの正体は「買値と売値の差」だった
内訳を見て、ようやく分かりました。株には買える値段と売れる値段のあいだに差があります。スタンダード株だと、たいてい呼び値1つ分。500円の株なら1円で0.2%です。1回の建玉が約40万円なので、往復で数百円。これを875回払うと、推定で約43万円になります。損失52万円のうち、8割以上がここでした。
売買の方向が当たったか外れたかは、差し引きほぼゼロ。つまり v3.1 は「方向を間違えるルール」ではなく、「方向にほとんど優位性がないまま、回数だけ多いルール」でした。
念のため、売りと買いを全部逆にした場合も計算しました。−332,167円。逆にしても負けます。どちら向きでも、同じ差を払う側に立つからです。
試して、効かなかったもの
ここから、いくつか条件を変えて同じ29日で比べました。先に書いておくと、同じ期間で条件を選び直しているので、良く見える数字が出ても割り引いて読む必要があります。
| 試したこと | 取引数 | 損益 |
|---|---|---|
| 寄り付きから30分で全部手仕舞い、同時3銘柄、損切り幅=利確幅 | 359回 | −220,333円 |
| VWAPを割ったあと「戻りの失敗」を確認してから入る | 39回 | −16,134円 |
| 最初の5分の値動きで買い・売りの向きを決める | 114回 | −108,518円 |
| 最初の5分の高値・安値を抜けてから、押しを待って入る | 261回 | −204,587円 |
どれも、足す前より良くなりませんでした。「戻りを確認してから入る」は教科書的には筋が良さそうに見えますが、待っているあいだに値幅が削られて、勝率も下がりました。もっともらしい条件ほど、足したくなる。でも数字は付いてきませんでした。
途中で、自分の集計の間違いも見つかりました。建値で撤退した取引に費用を入れ忘れていて、損益ゼロに見えていた。直しても結論は変わりませんでしたが、検証する側の配管も壊れる、という話です。
v3.2:足すのをやめて、引いた
結局、v3.2 でやったのは引き算です。
- 3つの型のうち、いちばん負けの小さかった「VWAP抜け」だけを残す
- 同時に持つのは5銘柄から3銘柄に戻す
- 買値と売値の差が0.2%を超える銘柄には建てない
- VWAPが取れていない銘柄は見送る
| 項目 | v3.1 | v3.2 |
|---|---|---|
| 合計損益 | −526,233円 | −5,100円 |
| 取引回数 | 875回 | 63回(1日約2回) |
| 勝率 | 32.1% | 33.3% |
| 平均の勝ち / 負け | +5,528円 / −4,022円 | +10,524円 / −5,515円 |
| 買値と売値の差の推定 | 約−43万円 | 約−2.8万円 |
| 複利で回した場合 | 約15万円 | 約48.9万円 |
負けは止まりました。ただし、勝ってはいません。29日で−5,100円、ほぼトントンです。前半19日は+29,200円、後半10日は−34,300円。後半だけ見れば負けています。63回では、少し勝つルールなのか少し負けるルールなのか、区別がつきません。しかも設定を選んだのと同じ29日での結果です。
実弾は見送り、仮想でもう一周
10月15日から実弾を入れる予定でした。見送ります。理由は3つです。
- v3.2 は「負けなくなった」だけで、勝てる根拠がまだない
- 試算は5分足から作った値動きで、実際の気配値やVWAPで動かした記録が1日もない
- 別の期間で同じ結果になるか、確かめていない
来週からは v3.2 を実際の株価で仮想運転します。今回から、判定に使ったVWAPが本物か代用値か、そのときの気配値はいくらだったかを記録するようにしました。RSSの5分足は直近30営業日分しか出ないので、2〜3週間おいて取り直せば、今回と重ならない日でもう一度試せます。
実弾に切り替える条件は、まだ書けません。v3.2 の仮想運転と、新しい期間での試算の両方がそろってから決めます。
今週わかったこと
4日間の+16,200円だけを見て実弾に進んでいたら、たぶん数週間で資金を大きく減らしていました。仮想の41回は、29日・875回の中に置くと、たまたま良い側に出た4日間だったことになります。
そして、ルールを考える前に数えるべきものがありました。1回売買するたびにいくら払うのか。それを何回払うのか。売買ルールの工夫は、その合計を上回って初めて意味を持ちます。当たり前のことを、52万円分の架空の損失で教わった1週間でした。
次回
v3.2 の仮想運転の最初の週を載せます。取引は1日2回前後の見込みなので、数は少なくなります。実際のVWAPがどのくらい取れているか、気配の差が試算の仮定とどれだけ違うかも書きます。
この記事は筆者個人の実験記録であり、投資助言ではありません。記事中の損益は架空取引と過去データによる試算で、実際の取引の結果ではありません。信用取引は、預けた保証金を上回る損失が生じる可能性があります。
コメントを残す