0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「Pythonが計算し、Claudeが判断する」— 自作投資分析システム RakuScan の設計思想を本にまとめた

0
Last updated at Posted at 2026-04-14

RakuScan という投資分析システムの設計思想を、15章・約5万文字の有料本にまとめた。

毎日16時に16本のプラグインが200銘柄を自動スクリーニングし、Claude が統合レポートを生成して Discord に届ける。月額コスト0円。このシステムをゼロから設計・実装する過程で、何を考え、何に失敗し、なぜ今の形に辿り着いたかを書いた。

Zenn で公開している無料連載3本の深掘り版にあたる。連載が「何を作ったか」の紹介なら、本は「なぜそう作ったか」の記録。

連載と本の違い

連載3本は、RakuScan の各レイヤーを1記事ずつ紹介する構成だった。

テーマ 視点
第1回 プラグインアーキテクチャ 設計と仕組みの概要
第2回 データ層とパイプライン API選定とキャッシュの概要
第3回 Claude統合とDiscord 統合分析とBotの概要

本では、これらの裏側にある設計判断を15章で掘り下げている。

たとえば連載第1回では「PluginResult という共通インターフェースがある」と書いた。本ではその先、「なぜ score と confidence を分離したのか」まで踏み込んでいる。最初は score だけだった。ところがデータ欠損時に「高スコアだけど信頼できない」状態を表現できず、confidence を追加した——という経緯が本にはある。

連載ではスペースの都合で「こうなっている」で止まった部分を、本では「最初はこうだった → こう壊れた → だからこう直した」まで書いた。

本にしか書いていない3つの話

失敗の記録

連載では完成形を見せたが、本では失敗から書き始めている。

Claude 全任せで月3,000万トークン。 最初は分析のすべてを Claude に投げていた。1銘柄あたり往復5,000〜7,000トークン × 200銘柄 × 毎日。月に換算すると2,000万〜3,000万トークン。API の料金を計算して、個人の趣味で払える額ではないと気づいた。しかもトークンの大半は「200日移動平均を計算して」のような、pandas なら1行で書ける処理に消費されていた。

ここから「Python が計算し、Claude が判断する」分業設計に辿り着くまでの過程を第1章で書いた。結果、Claude に渡すトークンは1/500以下に圧縮された。

1本の長いスクリプトから始まった。 最初の RakuScan は analyze.py 1ファイルのモノリスだった。Altman Z-Score を追加しようとしたら変数名が衝突して、既存のモメンタム計算が壊れた。3つの手法で破綻するなら、9つになったら無理。ここからプラグイン型に舵を切った経緯を第3章で書いた。

EDINET DB 100件/日の壁。 全候補800銘柄に財務データを取りに行こうとして初日で上限に到達。800 ÷ 100 = 8日かかる計算で、月次バッチとしても現実的ではなかった。この制約が、3段階フィルタのユニバース構築という設計を生んだ。制約が設計をドライブした好例として第7章と第8章で詳しく書いている。

設計の比較検討

連載では採用した設計だけを説明したが、本では不採用にした選択肢とその理由も書いている。

  • プラグイン型 vs モノリス vs 設定駆動(第3章)— 3つの設計を比較して、なぜプラグイン型を選んだか
  • Anthropic API vs Claude Code CLI(第11章)— APIキー管理が不要な CLI を選んだ理由と、レスポンス速度のトレードオフ
  • yfinance vs J-Quants Light(第8章)— 無料に拘ったことで得たものと、12日間で2回の障害を食らった話

実数値の公開

開発:          12日間 / 19,000行 / 81ファイル
プラグイン:     16本(5カテゴリ: ファクター, テクニカル, 財務, レジーム, リスク)
トークン効率:   全部Claude方式 → 分業方式で 1/500 以下に圧縮
キャッシュヒット率: 日次パイプラインで 90% 以上
月額コスト:     0円(全API無料枠)
監視銘柄数:     約200銘柄

「どうやって0円で回しているのか」「12日で19,000行をどう書いたのか」の具体的な答えが本の各章に散りばめてある。

15章の全体像

# 章タイトル わかること
1 なぜ投資分析システムを自作したか Claude全任せの失敗 → 分業設計への転換点
2 全体アーキテクチャ システム俯瞰図、コンポーネント間の依存関係
3 プラグインという設計判断 モノリス → プラグイン型への移行経緯と比較
4 共通インターフェースの設計 PluginResult の各フィールドに込めた意図
5 YAML + importlib による動的ロード 「ファイル1個 + YAML1行」を実現する37行のローダー
6 9つのプラグインの戦略と実装 各手法の学術根拠 → 実装判断の解説
7 ユニバース構築の3段階フィルタ 800銘柄 → 200銘柄の絞り込み設計
8 3つの無料APIで戦う yfinance / EDINET DB / J-Quants の使い分けと限界
9 2層キャッシュとバッチ取得戦略 SQLite 2層キャッシュで API コール 99% 削減
10 日次・週次・月次パイプライン 3層スケジューリングの設計と運用
11 Pythonが計算し、Claudeが判断する AI統合の分業設計とトークン効率化
12 Discord Botで双方向にする Webhook通知 + 対話型Botの設計
13 シグナル事後評価とフィードバックループ 「手法が効いているか」を数値で検知する仕組み
14 Claude Codeで開発を加速する スキル・MCP統合、プラグイン自動生成
15 設計の振り返りと今後 うまくいったこと・失敗・次にやること

第1章は無料で読める。「Claude に全部やらせようとして失敗した」→ トークンを食い潰して気づいた → 「再現性」という要件 → 既存ツールへの不満 → 自作する判断基準。本全体のテーマを凝縮した章なので、まずここを読んで合うかどうか判断してほしい。

誰に向けた本か

  • Python で何か作りたい個人開発者。 投資に興味がなくても、プラグインアーキテクチャ・YAML 駆動設計・ABC による抽象化のパターンは他のプロジェクトにも使い回せる
  • AI をシステムに組み込みたいエンジニア。「全部 AI に任せる」と「AI を使わない」の間にある最適な分業点を、トークン消費の実数値つきで示している
  • 投資×プログラミングに興味がある人。 Piotroski (2000)、Fama-French (1992)、Jegadeesh-Titman (1993) など学術論文ベースの手法を Python でどう実装したかの解説がある

逆に、投資の銘柄推奨を期待している人には向かない。本書は投資助言ではなく、ソフトウェア設計の解説書。

まとめ

500円・15章・約5万文字。連載で「面白そう」と思った部分があれば、その裏側が本に書いてある。


無料連載も公開中。 本を買う前に概要を掴みたい場合はこちらから。


この記事は Zenn にも同じ内容を投稿しています。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?