見出し画像

自動化できない手作業をスクショとAIで簡単にした方法【スマホで周回!#11】

こんにちは、スマホ投資パパです。

スマホだけでできる米国株の自動分析システムの第11回目になります。

前回は、LLMを使って、日々の情報整理を効率化する考え方を紹介しました。

今回は、さらに実運用に近い部分として、保有銘柄情報の更新を紹介します。

利確、損切りなどのアラートを出すための元データとなる保有銘柄情報のメンテナンスは非常に重要です。内容がズレていたら、資産へのダメージに直結します。
私はミスの起きやすい手入力を避け、生成AIを用いて運用の手間を減らしました。

本当は、ここも完全自動化したい部分です。
ただ、スマホ完結で運用する前提では、少し工夫が必要でした。


1. なぜ保有銘柄更新を自動化しなかったか

システムを作っていると、なんでも自動化したくなります。

銘柄選定も、相場判定も、Slack通知も、できるだけ自動で回したくなる。
私も最初は、できるものは全部自動化したいと思っていました。

保有銘柄情報の更新も、本当は自動化したかった部分です。

保有銘柄、保有数、取得単価、預かり金。
これらは、システム全体の前提になります。

入力がズレると、通知対象、ポジション管理、損益、買い増し余力の見え方までズレます。

どれだけロジックを作り込んでも、入力が間違っていたら意味がありません。

本来であれば、証券口座の情報もAPIで取得したくなります。

以前の記事で紹介した、私の使用しているmoomoo証券は基本的にはスマホ完結運用との相性が非常に良い証券会社です。しかしAPIで自動化しようとする場合にのみ壁がありました。


moomoo OpenAPIは、OpenDというゲートウェイプログラムをローカルPCまたはクラウドサーバー上で動かす前提です。
公式ドキュメントでも、OpenDはWindows、MacOS、CentOS、Ubuntuに対応すると説明されています。

つまり、私が重視しているスマホだけで回す運用とは、少し噛み合いません。
別途OpenD用のマシンを用意する必要があるからです。コスト的にも日々の運用工数的にも見合わないと判断し、完全自動化はいったん諦めました。


2. 自動化できる部分と、できない部分を分ける

私のシステムには、GitHub Actionsで毎日自動実行される処理がたくさんあります。
ただ、すべてを自動化できているわけではありません。自動化できない部分の代表が、保有銘柄情報の更新です。

この「自動化できる部分」と「できない部分」を意識的に分けておくことが、スマホ完結運用では大切です。

自動化できない部分を無理に自動化しようとすると、結局維持できなくなります。
むしろ、その部分をどれだけ楽に・確実にこなせるかを考えるほうが現実的です。

私はこの銘柄情報更新作業を生成aiを用いて、スクショと定型プロンプトだけで更新まで行うことで、できるだけ運用を軽くしています。


3. 更新するのは3つだけ

日々の更新対象は3つだけ、内容もかなりシンプルです。

- `current.csv`
- `candidate.csv`
- `cash.csv`

`current.csv`は、現在保有している銘柄の一覧です。

ここには、ティッカー、保有数、取得単価を入れます。
日次処理では、このファイルを見て「今、何を持っているか」を判断します。

AAPL,100,250.25
NVDA,50,300.38
MSFT,300,550.84


`candidate.csv` は、監視候補の銘柄一覧です。

次の売買候補としてスコア集計の対象とする銘柄群です。ティッカーのみで構成します。
このデータは日次で自動更新しています。今後の記事で紹介します。

AAMI
AAOI
ACLS
ADEA
ADI
ADTN


`cash.csv`は、USDの預かり金を入れるファイルです。

98765

この3ファイルの関係は、シンプルに言うと「今持っているもの」「次に見るもの」「使える資金」です。

日次の自動処理は、この3ファイルを読んで動きます。
だから、ここがズレると後段の処理がすべてズレます。
逆に言えば、この3ファイルさえ正しく保てれば、後は自動処理が正しく動きます。


4. 手入力はシンプルに見えて危ない


保有銘柄の更新だけなら、手入力でもできそうに見えます。

moomooを開く。
保有銘柄を見る。
GitHubでCSVを開く。
数字を打ち替える。

やっていることは単純です。

しかし、スマホでこれをやると、普通にミスります。

手入力は一番シンプルに見えますが、実は一番ミスが入りやすい作業です。

特にスマホ手入力では、ティッカー、株数、取得単価、小数点、カンマ、日本円残高の混入など、細かいミスが入りやすくなります。

私の運用テーマはスマホ完結です。

スマホ画面で証券アプリとGitHubを行き来すると、見落としは起きやすくなります。
特に、家事や本業など忙しく心が落ち着いてないときに更新する場合は危険です。

たった1文字のミスでも、後段の処理には影響します。
保有数が10株と100株で違っていたら、話はまったく変わります。

だから、私は手入力そのものを減らすことにしました。

自分で全部打たない。
でも、AIに全部任せるわけでもない。

AIに読み取らせて、人間が確認する。
この形にしています。

データ手入力はいつか必ずミスします
失敗しにくい仕組みにしましょう

スマホ運用では、手入力そのものをできるだけ減らします。


5. スクショ+生成AIという現実解


そこで私は、moomooの口座画面をスクショし、その画像をAIに読ませる方法にしています。

完全自動ではありません。
ただ、実際にやってみると分かりますが、この更新作業は1〜2分ほどしかかかりません。

moomooの口座画面をスクショする。
定型文と一緒にAIに読み取らせる。
出てきたプロンプトをコーディングエージェントに投げる。
最後にGitHubの差分を見る。

これだけです。

全部を手で打つよりはかなり楽です。
しかも、最後に人間が確認する余地も残せます。

つまり、これは理想形ではありませんが、
スマホ完結という制約の中では、かなり現実的な方法です。

こちらはイメージですが、このような口座スクショを撮って生成aiに渡すだけで大丈夫です

ちなみにトレードがうまくいっている時のように、銘柄と保有状況に変更がない(売買を行なっていない)日は、この手順を実施する必要はないです。あくまでも売買が発生した翌日のみ実施でオッケーです。


6. moomooスクショから更新プロンプトを作りコーディングエージェントに投げる


実際の流れはシンプルです。

まず、moomoo証券の口座画面を開きます。
そして、保有銘柄と預かり金が分かる画面をスクショします。

次に、そのスクショをAIに渡します。

ここでAIにやらせるのは、GitHubの更新ではありません。
まずは、コーディングエージェントに渡すための更新プロンプトを作らせます。
Codexでなくとも、Claude Code や GitHub Copilotなどのコーディングエージェントであればなんでも大丈夫です。

AIにいきなりファイルを更新させるのではなく、まず更新内容を文章として出させます。
その内容を見て、自分で確認してからコーディングエージェントに渡します。

私が使っているプロンプトは、以下のような形です。毎日この文章+スクショで大丈夫です。

ポートフォリオ情報を更新したい。
これからスクショをアップする。
そのスクショから預かり金、銘柄毎のティッカーと保有数及び取得単価を抽出して。そして銘柄は下記のようなティッカーと保有数と取得単価の{銘柄リスト}にして。預かり金はUSDでカンマ区切りなし整数の{現金}にして。日本株と円の預かり金は対象外で良い

{銘柄リスト}の例
AAPL,100,250.25
NVDA,50,300.38
MSFT,300,550.84
‥

{現金}の例
123456

そして下記形式の文書をコードブロック形式で出して。

「
{銘柄リスト}

①上記のリストの銘柄がもしcandidateのcsvにあればその銘柄をcsvから削除して。
②currentのcsvにはあるけど上記リストにない銘柄はcandidateのcsvに追加して。
③上記リストの内容でcurrentのcsvを上書き更新して。
④cash.csvを下記内容で上書き更新して。

{現金}
」

このプロンプトでAIにやらせているのは、こういう作業です。

- スクショを読む
- 必要な情報だけ抜き出す
- 形式をそろえる
- コーディングエージェント用の更新指示文に整える

必要なのは、米国株のティッカー、保有数、取得単価、USDの預かり金です。

補足しておくと日本株と円の預かり金は対象外です。
理由は個人的な話ですが、私がNISAで円建ての積み立ても行っており、moomooの口座情報には日本円の情報も表示されるためです。
そのため、USDの預かり金と米国株の保有情報だけを抽出対象にしています。

AIがうまく読み取ると、次のような更新用プロンプトが出てきます。

AURX,10,220.35
NXGY,15,289.17
VSTA,20,181.44
PLSR,30,160.25
IFNT,25,105.60
SRSC,18,310.60

①上記のリストの銘柄がもしcandidateのcsvにあればその銘柄をcsvから削除して。
②currentのcsvにはあるけど上記リストにない銘柄はcandidateのcsvに追加して。
③上記リストの内容でcurrentのcsvを上書き更新して。
④cash.csvを下記内容で上書き更新して。

32475

スクショの口座情報を正として、前日に銘柄を入れ替えていても整合性が取れるようにcurrent.csv・candidate.csv・cash.csv を更新する指示文です。

currentとcandidateを連動して更新する理由は、スコアリング対象の整合性を保つためです。
保有中の銘柄はcurrent.csvで管理し、監視対象の銘柄はcandidate.csvで管理します。
買った銘柄はcandidateから外し、売った銘柄はcandidateに戻すことで、通知漏れや重複管理を防げます。

念のため、指示文の内容が口座情報と差分がないことを確認して、この文章をコーディングエージェントに投げるだけで、データが最新の状態に更新されます。

こちらはClaude Codeの例
codexでもcopilotでも構いません

7. まとめ

今回は、moomoo証券の口座情報をもとに、保有銘柄情報をスマホで更新する流れを紹介しました。
証券会社がもし違っても、プロンプトを少し書き換えるだけで、同じような仕組みが作れるでしょう。

完全自動ではなくても、スマホで朝に口座の状況確認がてら1〜2分で終わるなら十分運用に乗ります。

私は、生成AIに投資判断を丸投げするつもりはありません。
ただし、面倒な作業の下書きや形式整理にはかなり使えます。
むしろ、こういう部分こそAIの得意分野です。

作業はAIに寄せる。
確定は人間がやる。

このバランスが、今のところ一番現実的だと感じています。

もちろん、自動化を諦めたわけではありません。周回プレイの中で更なる改善ができましたらまた別途共有したいと思います。

次回は、スマホのシステム改善の最大の敵、そしてその改善方法の一つを紹介します。


最後にひとつだけ。
この記事は、米国株の売買そのものをおすすめするものではなく、あくまで分析や仕組み作りの考え方をまとめたものです。
実際の投資判断は、ご自身の責任でお願いします。

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