地味地味フォリオ

ChatGPTの指摘対応その2 — 5つの改善と、AIコーディングの落とし穴

5分で読めます

はじめに

ChatGPTにClaude Sonnetの投資レポートを採点してもらうシリーズ、今回はその指摘を受けて実際に改善した記録です。

前回の採点は70点。「週次の振り返り資料から、個別銘柄の見直しに使える資料に近づいている」という評価でした。

今回、主要な指摘5つに対応しました。80点を狙えるところまで来たと思いますが、改善の過程でAIコーディングならではの落とし穴にもぶつかりました。

対応した5つの改善

①銘柄IDの固定化

ChatGPTから最も強く指摘されたのが、銘柄のマスク記号(銘柄A、B、C…)が週ごとに入れ替わっている可能性でした。

先週の「銘柄G」と今週の「銘柄G」が同じ銘柄を指しているかが保証されないと、時系列での比較ができません。

原因を調査したところ、コード自体は正しく設計されていました。stocks.yamlにラベルを固定し、exporter.pyもticker→labelの辞書で変換していました。

問題は、過去の実行で生成された古いデータが残留していたことでした。

コードが正しくても、staleデータが残っていれば出力は間違ったまま。しかも、7銘柄分のセクターと損益データがズレていたのに、一見するとそれっぽい数値が表示されていたので気づきにくい。

これはAIコーディングの怖さだと感じました。Claude Codeにコードを書いてもらい、テストも通り、レポートも生成される。でも、過去のデータとの整合性までは自動では検証されない。

「動いているから正しい」と思い込むのは危険です。特に金融データを扱うシステムでは、コードだけでなく、出力されたデータそのものを人間が検証する習慣が必要だと改めて感じました。

②バリュエーション分析

PER・PBR・ROE・配当性向・営業利益率・D/Eレシオの6指標を追加し、絶対基準(割安/適正/割高)とセクター平均との比較で評価できるようにしました。

これは5つの改善の中で最も実用的でした。

実際にバリュエーションを可視化してみて驚いたのは、思っていたよりも割高な持ち株が多いということです。含み益が出ている銘柄は「うまく買えた」という感覚がありましたが、PERやPBRで見ると、株価が上がった分だけ割高になっている。

ここで痛感したのは、出口ルールの必要性です。「いつ買うか」は考えても、「いつ売るか」のルールが明確ではなかった。バリュエーションが一定水準を超えたら利確を検討する、というルールを作る必要性を感じています。

③A/B/C枠の追加

各銘柄をA枠(長期コア)、B枠(準コア)、C枠(サテライト)に分類し、ダッシュボードに枠別のグループ表示を追加しました。

視覚的に「この銘柄はどの枠なのか」が把握できるので、枠の役割通りに機能しているかの検証がしやすくなりました

例えば、C枠(サテライト)の銘柄が構成比10%を占めていたら、それはサテライトの域を超えている。A枠(コア)の銘柄の配当が減少傾向なら、コアとしての適格性を再検討すべき。

枠の分類があることで、週次レポートでも「A枠は安定、C枠の銘柄Cは利確検討」のように、枠に応じた評価ができるようになりました。

④寄与度分析

ポートフォリオ全体の週間リターンに対して、各銘柄がどれだけ貢献したかを計算・表示する機能を追加しました。

寄与度 = 構成比率 × 週間騰落率。これにより、「今週のリターンは銘柄Cが+2.15%押し上げた一方、銘柄Gが-0.31%足を引っ張った」という内訳が見えるようになりました。

今後の週次レポートでどのように活用されるか、見守りたいと思います。

⑤データ定義の明記

レポート内の数値が「パーセントなのかポイントなのか」「終値ベースか」「基準日はいつか」を毎回明記するよう、Sonnetへのプロンプトに指示を追加しました。

これも④と同様、次回以降のレポートでの反映を確認していきます。

改善して見えてきた次の課題

5つの指摘に対応して、レポートの実用性はかなり上がりました。ただ、改善するほどに次の課題が見えてきます。

出口ルールの必要性

バリュエーション分析で「割高」と判定された銘柄がある。でも、割高だからといって機械的に売るわけにはいかない。優待の価値、配当の持続性、成長の期待。これらを含めた出口ルールを、投資仮説に基づいて策定する必要があります。

このルール策定にもAIを活用できないか。「この銘柄のPERが25を超え、配当利回りが2%を下回ったら利確を検討する」のような条件を、銘柄ごとに設定していく。これは次のステップとして取り組みたいテーマです。

改善サイクルをどこまで回すか

ChatGPTに採点してもらい、指摘を受けて改善し、また採点してもらう。このサイクルは確実にレポートの質を上げてくれます。

ただ、80点から90点への改善と、60点から70点への改善では、必要な労力が大きく違います。残りの指摘(税金・NISA、流動性、業績トレンド)は、いずれも実装コストが高い割に、週次の自動レポートとしての効果は限定的かもしれません。

「完璧なレポート」を目指すのではなく、「投資判断のきっかけをくれるレポート」で十分。そう割り切ることも大事だと思い始めています。

まとめ

ChatGPTの指摘を5つ対応しました。

最も学びが大きかったのは、銘柄IDのズレというAIコーディングの落とし穴と、バリュエーション分析で見えた出口ルールの不在です。

技術的な改善はAIの力を借りて進められますが、「いつ売るか」という判断基準は、最終的には自分で考えて設定する必要がある。AIは道具であり、投資の意思決定は人間がする。

改善サイクルを回し続けることで、少しずつ「自分だけの投資管理システム」が育っていく感覚があります。完璧を目指さず、地味にコツコツ。

シェア: X Bluesky はてブ

関連記事