やったこと
投資の教科書 ch08(投資原則)のページに、マイクロン(ティッカー: MU)の決算「期待との差」を可視化する新規SVGコンポーネント Part2Ch8MuExpectations.vue を作った。
並べた指標は4つ。
- 売上(実績 vs アナリスト予想)
- EPS(実績 vs アナリスト予想)
- 次四半期ガイダンス売上(会社発表 vs アナリスト予想)
- 次四半期ガイダンスEPS(会社発表 vs アナリスト予想)
これを直近3四半期分(FY2025 Q2〜Q4)並列棒で描き、5つ目に株価バンドのチャートを追加した。株価は Koyfin から拾った値をそのまま入れた。
加えて、レスポンシブ表示で目次が画面下にしか出ていなかったので、画面右下のフローティングFAB+スライドパネル方式に作り直した。
試行錯誤の11イテレーション
最初の実装から「これでOK」と言われるまで、11回 Claude Code に作り直してもらった。順番に並べる。
1. 値ラベルが重なる
並列棒の真上に値を出したら、隣のバーのラベルと文字が被った。「予想バーは左外側、実績バーは右外側にラベルを置いて」と指示して逃がした。
2. 株価チャートの統一感
最初は株価だけ別スタイルだった。「他4つと同じスタイルの5つ目のチャート(横長)として作って」と頼み、軸・色・フォントを揃えた。
3. FY表記の修正
四半期ラベルを「2025 Q4」と書いたら、決算期がカレンダーとズレている。「Fiscal Year なるほど、FY2025 Q4 で書いて」と返ってきたので全箇所を直してもらった。マイクロンは8月決算。
4. 株価バッジを終値表示に
株価バッジを「下落/上昇」で雑に色分けして矢印を出していたら、「終値そのものを直接表示にして」と指摘された。色分けは捨てて、$XXX.XX を表に出した。
5. 未発表四半期も入れる
FY2026 Q3(決算前)も入れて、アナリスト予想だけ表示。そこに現在株価 $724.66 を併記した。「これから当てるべき数字」を画面に残した。
6. 横並びをやめて縦に積む
5つのチャートを横に並べたら、1つあたりが狭くて潰れた。「全部縦に積んで、横長 1160px にして」と指示して、上から順にスクロールで読む形に変えた。
7. サプライズ%バッジをバー上へ
「実績がコンセンサスを何%上回ったか」のバッジは、最初は四半期ラベルの下に置いていた。「チャート内、バーの上に出して」と移動させた。視線がバーから離れずに済む。
8. 整数化でスペース確保
100以上は整数、それ未満は小数2桁、と桁数ルールを決めて文字幅を詰めた。たとえば売上は「8,053M」、EPSは「$1.84」と書き分けた。
9. バッジと値ラベルの衝突
それでもバッジと値ラベルが被った。値ラベルの上に 20px の余白を確保するようバー上端のy座標を調整した。
10. 数字を大きく
「もうちょっと数字大きく」と言われ、バー間隔を広げて、バー上の数値フォントを上げた。
11. 「マージン」誤用の修正
文章中に「ガイダンスを毎四半期15〜20%以上の大幅マージンで上回り続けている」と書いていた。ユーザーから「予実の差を『マージン』とは言わない」とNGが出た。
ch08 配下を margin|マージン で grep し、誤用2箇所を「上回り幅」「乖離」に直してもらった。営業CFマージン・安全マージンは会計用語として正規なのでそのまま残した。
「画面を見る係」と「実装する係」
このセッションで自分が手を動かしたのは、画面を見て「これ重なってる」「FYで書いて」「マージンっておかしい」と違和感を口で伝えるところだけ。
SVGの座標計算、レスポンシブ調整、フォントサイズの再配置、grep+置換は全部 Claude Code に書かせた。
人間: 違和感を拾う係。 AI: 座標とテキストを書く係。
特に11回目の「マージン」誤用は、AIが書いた英訳的な日本語をそのまま通していたら気づかなかった。会計用語の正確さは目で守るしかない、と再確認した。
学んだこと
- チャートのレイアウトは一発で決まらない: 11回の作り直しを前提に、SVG生成を関数化しておくと差し替えが早い
- 「マージン」は予実差には使わない: 営業CFマージン、安全マージンは正規用語。期待値との差は「上回り幅」「乖離」「サプライズ%」を使う
- 未発表四半期もチャートに入れる: 「これから当てるべき数字」を視野に入れると、過去3四半期のトレンドが意味を持つ
- チャートを横に並べるな: 1160px横長で縦に積むと、1指標1スクロールで読める
関連
- 投資の教科書 ch08(投資原則)に組み込み済み
- データソース: マイクロン IR、Koyfin