当サイトの銘柄カルテの裏側で、為替データの日付が1日ずれていたという重大なバグが見つかり、過去の分析結論が3つ覆りました。データ分析としての教訓は別記事(学ぶ編)にまとめています。本記事はその作業の側——AI(Claude Code)とどう協働して見つけ、直し、全再検証したか——の記録です。
状況: 株価を市場・為替・業種・固有に分解する回帰分析パイプライン(Python)。
データ取得から記事生成まで自動化済み。分析・実装ともClaude Codeと構築。実施時点: 2026年7月
発見の起点は「AIへの検算の義務付け」だった
このバグは、目視でチャートを見ていても絶対に気づけませんでした。起点は、分析パイプラインに最初から仕込んでいた恒等式チェックです。
値動きの分解は、足し合わせると元の値動きに一致しなければならない
この検算が「4.7ポイント合わない」と吐いたのが始まりでした。Claude Codeに分析を任せる際、「もっともらしい結果」と「正しい結果」を区別する装置として、成立すべき等式・件数・分布のチェックを必ず出力させる——この規律が効きました。
調査:AIに「数えさせる」
「誤差では?」と流さずに、Claude Codeへこう依頼しました。
- 結合後のデータの件数を数えて(→ 営業日が104日消えていた)
- 消えた日を曜日別に集計して(→ 全部金曜日。ここで原因がタイムゾーンだと確定的に)
- 為替データの日付ラベルの由来を調べて(→ バーの開始時刻がUTCでラベルされ、東京の暦と1日ずれていた)
ポイントは、仮説をいきなり求めず集計を先にやらせたこと。「金曜が全滅」という異常な偏りは、曜日別に数えれば一目瞭然ですが、数えなければ永遠に見えません。AIは数えるのが速く、嫌がらない——この使い方が監査では最強です。
修正と「全部やり直し」
原因が分かれば修正は数行です(為替の日付を東京時間の暦に正規化)。大変なのはその後で、このデータの上に積んだ分析をすべて再実行しました。結果、感応度の推定値が約2倍変わり、モデル比較の順位が逆転し、統計的に有意だったはずの発見が1つ消えました。
ここでもAIの利点が出ます。再実行は退屈で大量ですが、パイプライン化してあれば「全部再実行して、変わった結論を一覧にして」で済む。人手なら「大丈夫だったことにしたい」誘惑と戦う工程です。
AIとデータ分析をする人への提案
- 検算を最初に契約する。分析を依頼するとき「成立すべき等式・期待される件数」を先に決め、毎回出力させる
- 異常が出たら、仮説より先に集計。件数・曜日・欠損の分布は数行で出る
- AIの過去の結論も監査対象にする。今回覆った3つの結論は、いずれも当時のデータでは筋が通って見えた
- 覆った経緯ごと公開する。修正を隠さないことが、自動生成コンテンツの信頼の担保になる
持ち帰り
AIは分析を高速化しますが、間違ったデータの上でも高速に「もっともらしい結論」を出します。だからAI時代のデータ作業は、賢い分析より先に、地味な検算の自動化から。「4.7ポイントのずれ」を放置しなかったことが、このプロジェクトで一番価値のある判断でした。
※本記事は当サイトの運用記録(教育目的)です。特定銘柄の売買推奨・将来予測ではありません。


コメント