ツールが完成して、本物の株価データで動かしてみたら、23銘柄全部に通知が来た。
笑った。原因を辿っていったら、自分の買い方をちゃんと反映できていなかった。
前回のおさらい
前回のおさらい 23銘柄(日本株17・米国株6)の株価と配当利回りを30分おきに自動取得して、設定した条件に到達したらDiscordに通知する仕組みです。同じ銘柄は24時間に1回まで。詳しくは前回の記事をどうぞ。

実データで動かしてみた
ある日、テストを全部通したうえで、初めて本物のデータで実行しました。
結果:
銘柄数: 23
取得成功: 23
取得失敗: 0
条件達成: 23 ← 全部?
通知件数: 23 ← 全部

え、全部?

個別に見ていくと
利回りと自分が設定した閾値を並べてみる。(一部抜粋)
| 銘柄 | 利回り | 設定閾値 | 閾値ヒット |
|---|---|---|---|
| 花王 | 1.93% | 3.0% | ❌ |
| リコーリース | 3.01% | 4.5% | ❌ |
| 三菱HCキャピタル | 3.87% | 3.5% | ✅ |
| 小林製薬 | 1.78% | 3.0% | ❌ |
| KDDI | 3.04% | 3.5% | ❌ |
| トヨタ | 3.38% | 4.0% | ❌ |
| 三菱商事 | 2.26% | 4.5% | ❌ |
| JT | 3.75% | 6.0% | ❌ |
| PG(米国) | 3.01% | 3.0% | ✅ |
| VZ(米国) | 5.93% | 6.0% | ❌(あと0.07%) |
利回り閾値を超えていたのは2銘柄だけ。
それなのに通知が23件出たのはなぜか。
「予算トリガー」という条件が、悪さをしていました。
予算トリガーが意味を成していなかった
私はツールにこういう設定を入れていました。
「1株あたり5万円以内で買える銘柄なら通知する」
意図したのは「高額株(1株50万円とか)を予算オーバーで弾く」でした。
でもウォッチリストの23銘柄は全部1株5万円以下で買える銘柄。このトリガーは常に「True」を返していて、結果として全銘柄が通知対象になっていました。
そもそも自分は単元で買っていなかった
「予算トリガー」を入れた発想は、「1単元(100株)買うのに予算が足りるか」をチェックすることでした。
例えばトヨタを1単元買おうとすると、約30万円必要。これは予算オーバーだから通知しない、というロジックを想定していました。
ところが改めて自分の買い方を振り返ると、単元では買っていませんでした。
楽天証券のミニ株(単元未満株、1株から買える仕組み)で、買えるときに買いたい分だけ買い増ししています。3,000円余ってたら花王を半株、5,000円余ってたらKDDIを2株、みたいな運用。
つまり「1単元買えるか」というチェック自体が、そもそも自分の運用と噛み合っていなかった。

修正:予算トリガーごと削除
整理のうえ、予算トリガーは機能ごと削除しました。
残ったのは2つのトリガー:
- 株価が指定値以下になったら通知
- 配当利回りが指定%以上になったら通知
シンプルになりました。そして、動かしてみたら――
銘柄数: 23
条件達成: 2 ← 三菱HCキャピタル と PG

想定通りの動きになりました。
※ スクリーンショットのログでは triggered: 1, notified: 0 になっていますが、これは三菱HCキャピタルが24時間クールダウン中だったためです。条件自体は2銘柄ともヒットしていて、ツールの動きは正常です。

気づいたこと
ツールを作ろうとすると、自分の行動を仕様に落とし込む必要があって、そのときに初めて「あれ、実際はこうじゃなかったな」と気づくことがある。
「単元で買う前提」で設計したけど、自分はミニ株で買い増ししてた、というのがまさにそれでした。
ツールが教えてくれるのは、いいタイミングだけじゃないですね。
正直前回からほとんど前には進んでないですけど、少しずつ形に出来ればと思ってます。
それと修正版を1週間ほど走らせてみて、通知の頻度や閾値が合ってるか確認してみます。また進捗があれば書いていきます。
※この記事は筆者の実体験や一般的な情報をもとにした内容であり、特定の金融商品や個別銘柄の売買を推奨するものではありません。投資判断はご自身の状況に応じて行ってください。

コメント