見出し画像

Claudeで作る資産分析システム~モジュール構成とシンプル版の作成〜

はじめに

こんにちは
前回の記事では、資産分析システムのコード作成はモジュール化したJavaScriptで進めることになったとお伝えしました。前回の記事はこちら

今回はそのモジュール構成について検討していきます。
いつも通り、Claudeにモジュール化するシステムをどのように構成すれば良いか確認しつつ進めていきましょう。


モジュール構成案

いつも通り、Claudeにモジュール化するシステムをどのような構成にすれば良いか相談してみました。

(質問)
Claude上で実行される資産分析のシステムを作成したい
システムの構成は以下の内容で考えている
①csvなどをanalysisシステムで分析
②①の分析結果をもとにClaudeでポートフォリオ分析などの計算を実行
③②の計算結果をartifactで表示
質問:
project knowledgeに分析システムの設計ファイルを設定する。どのような設計ファイルの構成が良いか

Claudeから回答のあったシステム構成は以下の通りです

1.モジュール化された構造

  • DataLoader《データローダー》:CSVファイルの読み込みと前処理を担当

  • PortfolioAnalyzer《ポートフォリオアナライザー》:ポートフォリオ分析の計算を実行

  • VisualizationHandler《ビジュアライゼーションハンドラー》:分析結果の可視化を担当

  • PortfolioAnalysisSystem《ポートフォリオアナリシスシステム》:全体のワークフローを管理

2.主要な機能

  • CSVファイルの読み込みと解析(Papaparse使用)

  • 基本的な投資指標の計算(リターン、リスク、シャープレシオ)

  • 最適なポートフォリオ配分の計算

  • Rechartsを使用した可視化コンポーネントの生成

3.エラーハンドリング

  • 各段階でのエラー捕捉と適切なエラーメッセージの出力

Claudeから上記の回答がありましたが、いろいろ調整しつつ各モジュールを以前に作成したcode作成プロンプトを使用しシステム作成を進めていきます。

実装したモジュールの概要

いろいろ試行錯誤しつつ、各モジュールを作成してきたのですが今のところ以下の構成にまとまりました。

  1. CSV Parser Component

    • CSVファイルの読み込みと前処理を担当

  2. Analysis Guide Dashboard

    • 分析機能のナビゲーションハブ

  3. Investment Dashboard

    • 分析結果の統合表示

  4. Analysis Suggestions Component

    • 分析提案の生成と管理

各モジュールの役割と実行内容

構成がまとまってきたところで、各モジュールについてClaudeに詳細な役割と実行内容を確認してみることにしました。

(質問)
このSet project instructionsとproject knowledgeのファイルについて、詳細に精査してください
依頼:
①各ファイルの関係性をグラフ化し、各ファイルで実行する内容を解説してください

Claudeの回答は以下の通りです。
投資分析システムのファイル関係図
*pablishedしたartifactのリンク先になります

1. CSV Parser Component

主要な役割:データ処理の基盤機能提供
実行内容:

  • CSVファイルの読み込みと解析

  • データ型の自動推論と検証

  • エラーと警告の検出

  • データの前処理と変換

  • 統計情報の生成

  • 分析準備データの作成

2. Analysis Guide Dashboard

主要な役割:分析機能のナビゲーションハブ
実行内容:

  • 主要分析カテゴリーの管理と表示

  • 分析機能へのアクセス提供

  • ユーザーインターフェースの提供

  • 分析コマンドのガイド表示

3. Investment Dashboard

主要な役割:分析結果の統合表示
実行内容:

  • 分析データの可視化

  • リアルタイムデータ更新

  • フィルタリング機能

  • メトリクスパネルの表示

  • 対話型グラフの提供

4. Analysis Suggestions Component

主要な役割:分析提案の生成と管理 実行内容:

  • データに基づく提案生成

  • 優先度による提案の分類

  • カテゴリー別フィルタリング

  • アクション推奨の提供

  • 影響度の計算と表示

ガイド機能の実装

モジュール作成を進める中で、作成している本人はテストする中で資産配分の分析ができるなど機能が分かってくるのですが、資産分析というのは専門用語も多くchatにどんな用語を入れて分析を実行すれば良いか分からない・・という懸念がでてきました。
そこで、初心者向けのガイド機能を「Analysis Guide Dashboard」で実装することにしました。

具体的には、チャットに以下のキーワードを入力すると、分析ツールの機能一覧がアーティファクトに表示されるようにしました。
*特定キーワードは投資分析ガイドの表示を実行させるもので、表示される内容は同一です
表示されるのは機能を限定したシンプル版です。総合版は別途調整中です。

"ツールガイド", "分析ツール", "ツール一覧", "機能一覧", "ヘルプ"
chatに特定キーワードである「ツールガイド」を入力した際の表示

まとめと今後の展望

Claudeとの対話を重ねながら、資産分析システムのモジュール構成案がまとまってきました。各モジュールの役割と実行内容も明確になり、初心者にも使いやすいガイド機能の実装もできました。

次回からは、実際にテストデータを使用して分析機能のテスト作業を進めていきます。
システムの使い勝手を検証し、必要に応じて改良を加えていく予定です。
将来的には、より高度な分析機能の実装も目指していきたいと考えています。

やっと少し分析システムの形がまとまってきました・・
自分の実現したいことをAIが理解できる内容で言語化するのが難しく、何度もClaudeに質問しながら、「1歩進んで2歩下がる」を字のごとく進める毎日です。
*Claudeは優秀なAIだと感じていますが、勝手に以前に出力したcodeを削除した内容で出力されたり、Claudeが出力した内容(codeの構成や修正箇所)を人間側が理解できる前提で出力してくるので、再度Claudeに出力してきた内容はcodeのどこの位置の何を言っているのか?と再質問して何とかついていけるという状況で、ド素人にはなかなか難易度が高いところもあるというのが正直な感想です

#Claude #資産運用 #ポートフォリオ分析 #JavaScript #システム設計 #投資分析 #データ可視化

いいなと思ったら応援しよう!

遊々楽々
この記事が皆様のお役に立てたなら、嬉しく思います。いただいたチップは、より良い記事作成のため、検証作業のデータ収集などに活用させていただきます。温かいご支援をいただける方は、ぜひチップをお願いいたします。