Vibe Codingで、株式投資管理ツールを作ろうと思った話(その4)
なぜ「要件定義」から始めることにしたのか
売買シグナルやバックテストのプログラムをAIで作らせてみて感じたのは、
**「コードを書く前に、考えを整理しておかないとズレる」**ということだった。
そこで今回は、いきなり実装に入るのではなく、
「このツールで何を実現したいのか」を明確にするため、
最初から要件定義をAIと一緒に作ることにした。
最初にGeminiに投げた言葉
最初にGeminiに投げたのは、かなりシンプルなプロンプトだった。
「株式投資の情報を管理したい。
そのためのGUIやプログラムを作成してほしいので、
要件定義するのを手伝ってください」
ポイントは、「作ってほしい」ではなく、
**「要件定義を手伝ってほしい」**と明示したことだ。
この時点で、売買戦略や自動化よりも、
「情報をどう管理したいか」に意識が向いていた。
Geminiとの壁打ちは、一度で終わらなかった
要件を一通り入力すると、Geminiは、
「これで要件はすべて出そろいました。コーディングに移りますか?」
「要件定義は完全です。実装に移りますか?」
というような反応を返してくれた。
ただ、ここで私はすぐに実装には進まなかった。
「本当にこれで十分か?」
「まだ考慮できていないことはないか?」
そう考えて、要件を見直し、少しずつ追加していった。
例えば、
- 日本株だけでなく 米国株 も管理したい
- iDeCo や NISA も対象にしたい
- 証券会社を 3社 使っているので、情報を 一元管理 したい
といった要望は、最初からすべて出てきたわけではない。
壁打ちを続ける中で、「そういえばこれも必要だ」と後から追加していったものだ。
要件定義は、一発で完成するものではないと実感した。
あえて「作らない」と決めた機能
要件を洗い出す中で、
今回はやらないと決めた機能もある。
自動売買は、今回は見送る
ゴールデンクロスやタートルズといった定番戦略を
試しに実装してみることは考えていた。
ただ、
- どんな戦略が本当に良いのか
- どんなアルゴリズムが適切なのか
という点について、まだ明確な答えを持っていない。
この状態で自動売買まで踏み込むと、
ツールの目的がブレると感じたため、今回は見送ることにした。
リアルタイム表示も不要
デイトレードをするわけではないので、
- リアルタイムの株価
- リアルタイムの損益表示
も不要だと判断した。
常に最新であることよりも、
落ち着いて全体を把握できることを優先した。
テクニカル指標は最小限に
テクニカル指標も、入れ始めるとキリがない。
今回は必要になったら追加する方針にし、
最初は フィア&グリード指数 だけを見ることにした。
絶対に必要だと考えた「コア機能」
一方で、これがないと意味がないと感じた機能もある。
証券会社をまたいだ一元管理
年齢を重ねると、
複数の証券会社の画面を行き来して状況を把握するのは、
確実に負担になる。
だからこそ、
- 保有銘柄
- 保有数量
- 含み損益
といった情報を、
一つの画面でまとめて確認できることは必須だと考えた。
ポートフォリオ戦略を前提にした管理
単に損益を見るだけではなく、
- 各銘柄や資産クラスの 目標配分 を事前に設定し
- 現状がその目標からどれだけズレているかを把握する
そんな使い方をしたいと思った。
売買を自動化するのではなく、
リバランスの判断材料を分かりやすく出すことが目的だ。
「分析ツール」と「管理ツール」は別物だった
これまで作ってきた分析ツールは、
- 売買シグナルの有無を確認する
- バックテストで成績をシミュレーションする
ことが目的だった。
ただ、実際には売買シグナルは頻繁に出ない。
何ヶ月も何も起きない銘柄も多い。
結果として、分析ツールを起動する頻度はどんどん下がっていった。
一方、管理ツールは違う。
- 週に1回
- 月に1回
といった頻度でも、
「今の投資状況はどうなっているだろう?」
と、自然に確認したくなる。
管理ツールに求めているのは、
正確な分析よりも 俯瞰的な把握 だと気づいた。
Geminiと要件定義をして「助かったこと」
Geminiとの壁打ちで一番助かったのは、
思いつくままに出した要望を、きちんと整理してくれたことだった。
脈絡のない要望を次々に入力しても、
- 似た機能をまとめ
- 役割ごとに分類し
- 要件として形にしてくれる
時間を置いてから追加した要望も、
違和感なく全体に組み込んでくれた。
「考えを吐き出す相手」と「整理してくれる相手」が
同時に存在する感覚は、一人では得られなかったと思う。
AIだけに任せるとズレる部分もある
一方で、AIだけに任せるとズレると感じた点もあった。
それは 優先順位 だ。
例えば、最後の方で「iDeCoの投資状況も管理したい」と追加したところ、
それが重要な要素として扱われ、
- ツール名
- 全体の説明
にまで前面に出てきてしまった。
iDeCoは個人的にはそこまで重要度が高くない。
この経験から、
- 整理はAI
- 何を主役にするかの判断は人間
という役割分担が必要だと感じた。
要件定義を終えて、正直な気持ち
一通り要件定義は終わった。
ただ、「これで全部出し切れた」という感覚は、正直まだない。
これまでVibe Codingでアプリを作ってきた経験上、
実装してから「この機能も欲しい」と思うことは多い。
どこまで要件を洗い出せば安心できるのか、
その基準もまだはっきりしていない。
だから今回は、
一旦ここで区切りをつけて、実装に進んでみることにした。
実際にAIに作らせてみて、
どんなツールができるのかを確認したい。
そこから見えてくるものも、きっとあるはずだ。
次回は、
この要件定義をAIに渡して、最初にどんな実装が出てきたのか
を書いていく予定です。

ディスカッション
コメント一覧
まだ、コメントがありません