Initialization & System Status

HAL's System Architecture Overview | Ver 4.63

1 データソースの読み込み
No data loaded
2

読み込みデータ プレビュー (Portfolio Base)

コード 名称 保有数 平均取得単価 投入コスト (Cost)
Cloud Load を実行してデータを読み込んでください。
3

読み込みデータ プレビュー (Config Setting)

名称 Ticker Method URL / Suffix Hist.
Config Load を実行してデータを表示・編集してください。
4

Code Information & System Architecture

🌐 完全データ駆動設計

MMP-SYSTEM_GLOBAL_STOCK_CONFIG
  • 統合コンフィグ: ハードコードを完全排除。URL、閾値、APIエンドポイントは全てCloudflare KVのJSONから動的ロード。GUIエディタからの直接編集・同期に対応。
  • Routing Rules: 銘柄コードの正規表現パターンから、最適なAPI(JQ/TD/Kabutan/Nikkei)へ自動ルーティング。
  • 専用プロキシ: 最新の hals-proxy-v2 経由の通信へ完全移行(CORS突破・フェイルファスト・自動修復)。

⚙️ 5 Engines Architecture

  • JQuantsEngine: 日本株の過去データを堅牢に取得・正規化。
  • KabutanEngine: ザラ場リアルタイムデータを高速スクレイピング。
  • TwelveDataEngine: 米国株をAPI経由で取得し、プロキシ側でローテーション。
  • NikkeiSniperEngine: 投資信託の基準価額をWAFブロックを回避しつつ取得。
  • GeminiAIEngine: 自然言語・ツール連携を伴うAI分析機能をカプセル化。

Smart Fetching (CacheMaster)

  • 市場タイムゾーン連動判定: ザラ場(日本株09:00-15:50、米国株21:30-06:30等)は強制取得。閉場後は境界時刻(15:50/6:30/土曜7:00等)を自動算出し、完全通信スキップ。
  • API制限の究極防御: 不要な通信を排除し、直列取得&ディレイを組み合わせてオートローテーション機能を最大限に活用。
  • タイムアウト付き永久ループ: Twelve Dataのクレジット枯渇時には60秒待機モードへ自動移行し、最大5分間API制限の解除とローテーションを待つフェイルセーフを実装。

🧩 責任境界の完全分離 (Decoupling)

  • プロバイダー (MMP Dashboard): データの取得・検証 (Sanity Check)・Storeへの格納に専念。
  • コンシューマー (Chart Master): Storeからのデータ読み込みと描画のみを担当し、独自のAPI通信を持たない。
  • CacheMaster経由の統合: 3層構造(meta, raw, computed)のグローバルストアを介してデータをやり取りし、拡張性と保守性を飛躍的に向上。

📜 Version History

  • Ver 4.63: [FIX] 新型プロキシ(hals-proxy-v2 Ver 2.86以上)の厳格化仕様に完全対応。KV操作時の space パラメータを小文字の config から正規バインディング名である MMP_CONFIG へ修正し、フェイルファストによる通信遮断エラーを解決。
  • Ver 4.62: [UPDATE] テストモジュールで実証済みの「NikkeiSniperEngine(投資信託)」と「GeminiAIEngine(AIチャット)」を本番環境へ統合。設計図(Ver1.06)に示された「5 Engines Architecture」を同じOOPルール、同じ品質で本家に完全実装。[UPDATE] UIに「AI Console」タブを新設し、システム内で自然言語プロンプト、検索グラウンディング、コード実行を伴うAIとの対話を可能に統合。[FIX] 追加エンジン群において、絶対契約(Word Joiner規則)に則りアンダースコア(_)連結をハイフン(-)に純化。また出力スキーマをMMP標準の小文字(date, close等)へ完全正規化。
  • Ver 4.61: [UPDATE] Twelve Data APIのレートリミット回避制御を刷新。APIクレジット枯渇エラーを受信した際、「プロキシ側の3キー・ローテーションが全消費された」と認識し、自動的に60秒待機モードへ移行。その後、ローテーション再試行を行うサイクルを最大5分間(タイムアウト)繰り返す強固なループ制御を実装。[UPDATE] マクロ指数取得(fetchMacroData)におけるPromise.allでの並列リクエストを廃止し、完全な「直列化(for...of)」へ移行。各リクエスト間に1秒のディレイを挿入し、プロキシのオートローテーション機能が正常に作動するための余裕を確保。
  • Ver 4.60: [FIX] JQuantsEngine.execute 内にデータマッピング処理を実装。J-Quants V2特有のキー名(AdjustmentClose等)をシステム標準(close等)へ正規化し、VOL_ERR(NaN)を完全解消。[FIX] TwelveDataEngine.execute におけるシンボルの二重エンコードを解消。スラッシュを含むペアの取得失敗を修正。[FIX] USD/JPY(0950)取得時の参照ベースURLを usBaseUrl から defaultBaseUrl へ修正(404エラー対策)。[FIX] J-Quants通信エラー(400)に対し、KV側のエンドポイント命名規則の不整合を特定。