awesome-quant

Activity, over time

Daily observations from the public event archive.

Attention

Daily stars & forks

Loading attention chart

Star accumulation

Cumulative stars

Loading star accumulation chart

Pull requests

Daily opens & merges

Loading pull requests chart

Conversations

Daily issues & comments

Loading conversations chart

Community

Daily accounts & reviews

Loading community chart

Releases

Daily releases

Loading releases chart

Mentions

7posts · 30d
Nov 30 posts
  1. Reddit · · r/BestGitHubRepos · u/company_url_finder

    Awesome Quant: A curated list of insanely awesome libraries, packages and resources for Quants (30k stars) What it does All text below is quoted directly from the project README. >A curated list of insanely awesome libraries, packages and resources for Quants (Quantitative Finance) Contents: - Numerical Libraries & Data Structures - Financial Instruments & Pricing - Technical Indicators - Trading & Backtesting - Portfolio Optimization & Risk Analysis - Sentiment Analysis & Alternative Data - Market Data & Data Sources - Reproducing Works, Training & Books >ArcticDB - Python - High performance datastore for time series and tick data. Repository wilsonfreitas/awesome-quant Repository stats |Metric|Value| |:-|:-| |Stars|30,324| |Forks|4.2k| |Last release|None| |Languages|HTML 73.8%, Python 22.8%, CSS 1.6%| |Contributors|324| |AI contributor accounts (Claude / Codex / Cursor / Copilot)|@claude (44 commits), @Copilot (1 commits)| |AI co-authored commits|None| Main contributor |Field|Value| |:-|:-| |Name|Wilson Freitas| |GitHub|@wilsonfreitas| |Commits to this repo|422 (top contributor)| |Bio|Quant and baker #rstats| |Company / Location|São Paulo, Brazil| |Followers|1.6k| ────────────────────────────── 📌 How many great GitHub repos have you discovered and completely forgotten about? Don't let another useful tool disappear into your Reddit feed. Get the community's best repos, organized by category, plus key takeaways from real developer discussions, delivered to your inbox twice a week. 📬 Never lose track of great repos again. Subscribe free.

    13 points
  2. Qiita · · @ramuza0113

    【完全網羅】Python × Rust × 金融工学で作る自律型AIヘッジファンドの全アーキテクチャ・全機能徹底解説(OSS公開) 【完全網羅】Python × Rust × 金融工学で作る自律型AIヘッジファンドの全アーキテクチャ・全機能徹底解説(OSS公開) <!-- Qiita 投稿用メタデータ タイトル: 【完全網羅】Python × Rust × 金融工学で作る自律型AIヘッジファンドの全アーキテクチャ・全機能徹底解説(OSS公開) タグ: Python, Rust, 金融工学, 機械学習, LangGraph --> はじめに 以前、LangGraphとQlib Alpha158、Google TimesFMで作る「自律型AIヘッジファンド」をOSS公開した話 という記事を公開したところ、世界最大のクオンツ投資リポジトリ集 awesome-quant (⭐️15,000+) の「Trading & Backtesting」部門に正式採択・マージされるなど、国内外から予想を超える大きな反響をいただきました。 ramuza0113-sketch/lumina-ai-hedge-fund その後、シミュレーション(PoC)の枠組みを超えて、米ブローカー(Interactive Brokers)との実接続、ナノ秒単位でのリスク遮断、LLMのハルシネーション物理防止、そしてウォール街で使われる厳密な金融工学モデルを次々と統合し、システムは Lumina Capital Engine v6.4.6 へと劇的に進化しました。 「AIで投資を行う」と聞くと、多くの人は「LLMに株価チャートを見せて売買させれば勝てるのか?」と考えがちです。しかし現実は甘くありません。生の特徴量をLLMに渡せば平気で数値を曲解し、Pythonで組んだストップロスは急落時にGILやGCのせいで遅延し、非同期な市場データは相関を見かけ上ゼロにしてしまいます。 本記事では、自律型AIヘッジファンド「Lumina Capital」が備える全アーキテクチャ・全機能(マルチエージェント合議、Pure Rust番犬、オントロジー契約、SQLite FTS5記憶、6大金融工学モデル、ブローカー執行制御、5年バックテスト)を余すところなく完全解説 します。 --- 🏛️ システム全体アーキテクチャ Lumina Capital は、高レイテンシ・高推論能力を担う Python層 と、超低レイテンシ・メモリ安全性を担う Rust層 がハイブリッドに連携するマルチレイヤー構造を採用しています。 flowchart TD subgraph MarketData["1. 市場データ・特徴量抽出"] Ticks["リアルタイム板情報 / ティック"] Hist["日足・分足ヒストリカル"] Qlib["Microsoft Qlib Alpha158 (158ファクター)"] TimesFM["Google TimesFM ゼロショット時系列予測"] MathEng["6大金融工学数理モデル (OFI / HY / Amihud / GEX)"] Ticks --> Qlib Hist --> TimesFM Ticks --> MathEng end subgraph FastPath["2. 超低遅延・防壁レイヤー (Rust)"] Sentinel["lumina-sentinel-rs<br/>L1/L2 SoA 常駐 番犬センチネル<br/>3.63ns 緊急損切り / 出来高クロック"] Ticks --> Sentinel end subgraph Brain["3. 知識・推論レイヤー (Python / LangGraph)"] Ontology["ファクター・オントロジー辞書<br/>単位・極性契約 / ハルシネーション物理遮断"] Reflexion["SQLite FTS5 (BM25)<br/>0.3ms サブミリ秒 反省教訓記憶"] Council["6大エージェント合議体<br/>Lumina CIO / Bull / Bear / Piotroski / Sentiment / Valuation"] Qlib --> Ontology TimesFM --> Ontology MathEng --> Ontology Ontology --> Council Reflexion --- Council end subgraph Execution["4. 執行・並行排他制御レイヤー"] OrderGen["執行オーダー生成 (Half-Kelly & HRP)"] CAS["CAS楽観的並行排他制御 (SQLite WAL)"] IBKR["Interactive Brokers (IBKR TWS API)<br/>サーバーサイド ブラケット注文 (OCO)"] Paper["強制控除型 ペーパートレード (手数料0.1% / 滑り0.05%)"] Council --> OrderGen OrderGen --> CAS CAS --> IBKR CAS --> Paper end subgraph Monitor["5. ダッシュボード & 監視"] Streamlit["Streamlit リアルタイムクオンツターミナル<br/>Plotly 多機能チャート / エージェント合議ログ"] end --- 第1の柱: 🧠 マルチエージェント合議体(LangGraphによる協調意思決定) 単一のLLMに売買判断を委ねると、相場の一面的な情報に過剰反応(バイアス)しがちです。Luminaでは LangGraph 上に6つの専門エージェントを構築し、相互検証・批判的議論を経て最終決定を下します。 flowchart TD Start["市場データ到着"] --> Macro["Lumina CIO: マクロ環境・レジーム判定"] Macro --> Bull["強気派 (Bullish Analyst)"] Macro --> Bear["弱気派 (Bear Risk Analyst)"] Macro --> Fund["ファンダメンタルズ (Piotroski)"] Macro --> Sent["センチメント分析官 (News/LLM)"] Macro --> Val["バリュエーション分析官 (DCF/マルチプル)"] Bull --> Council["総合合議体 (Debate Council)"] Bear --> Council Fund --> Council Sent --> Council Val --> Council Council --> VetoCheck{"Bear / Risk 拒否権発動?"} VetoCheck -->|"YES (リスク超過)"| Reject["取引見送り / キャッシュ維持"] VetoCheck -->|"NO (承認)"| CIOFinal["Lumina CIO 最終裁定 & サイズ配分"] CIOFinal --> Exec["執行レイヤーへ"] 6大エージェントの役割分担 1. Lumina (CIO / Lead Orchestrator): ファンド全体の最高投資責任者。相場レジーム(強気・弱気・レンジ・高ボラ)を判定し、エージェント間の議論を取りまとめ、最終的な投資判断を下します。 2. Bullish Analyst (成長・モメンタム重視): Alpha158のモメンタム指標、Google TimesFMの価格上昇予測、OFI(注文フローの買い優勢)を根拠に、上昇機会を最大限評価します。 3. Bear / Risk Manager (リスク管理者・Burry): マイケル・バーリのような警戒的な視点を持ち、ボラティリティ急増、非流動性、テクニカル買われすぎ、マクロ警戒シグナルを検知した際は 絶対拒否権(VETO) を発動して取引を強制阻止します。 4. Piotroski Fundamental Analyst (財務健全性): 後述する「ピオトロスキーFスコア(0〜9点)」を評価し、粉飾決算・財務悪化リスクのある銘柄をふるい落とします。 5. Market Sentiment Analyst (ニュース・市場心理): ニュースヘッドラインやソーシャルセンチメント、オプション市場の歪みをスコアリングします。 6. Valuation Analyst (本源的価値評価): PER/PBR、益回り、業界平均とのマルチプル比較を行い、市場価格が割高か割安かを定量評価します。 --- 第2の柱: 🦀 3.6nsの防壁:Pure Rust製 L1/L2キャッシュ常駐 SoA 番犬センチネル (lumina-sentinel-rs) 市場の急変やフラッシュクラッシュ時、PythonプロセスがLLMの推論中だったりGCが動いていたりすると、損切り判定が遅れて致命傷を負います。 そこで、急落検知・ストップロス監視・トレイリングストップ計算を担う超低遅延エンジン lumina-sentinel-rs を Rust で独立実装しました。 Struct-of-Arrays (SoA) による連続メモリ配置 従来の構造体配列(AoS: Array of Structures)ではなく、SoA(Structure of Arrays) を採用。L1/L2データキャッシュミスを物理的に根絶しました。 // SoA(採用):同種データがメモリ上で完全にフラット・連続に並ぶ #[derive(Debug, Clone, Default)] pub struct PositionBatchSoA { pub position_ids: Vec<u64>, pub current_prices: Vec<f64>, pub entry_prices: Vec<f64>, pub stop_loss_prices: Vec<f64>, pub trailing_thresholds: Vec<f64>, pub highest_prices: Vec<f64>, pub quantities: Vec<f64>, pub is_half_profits: Vec<u8>, } 判定優先順位と安全性 1. Rule A: 緊急損切り(Stop Loss Trigger) (current <= stop_loss) 2. Rule B: 利確目標到達(Half-Profit Trigger) (current >= entry * 1.05 で半分利確) 3. Rule D: 建値撤退ストップ(利確後に建値 entry を割り込んだら即座に全撤退) 4. Rule C: 動的トレイリングストップ(最高値からのドローダウン監視) 金融システムとしての堅牢性を極限まで高めるため、コード先頭で #![forbid(unsafe_code)] を宣言し、未定義動作やメモリ破壊を100%防止しています。 実測ベンチマーク(Linux VPS本番環境) | 測定項目 | 処理内容 | 実測タイム | | :--- | :--- | :--- | | 単一ポジション判定 | 損切り・利確・トレイリング判定 | 3.63 ナノ秒 | | 1,000ポジション一括評価 | 全SoAスライスの一括スキャン | 3.62 マイクロ秒 | | Volume Clock変換 | 1,000本バーの出来高均等化+情報流速計算 | 3.90 マイクロ秒 | | Python ⇄ Rust IPC | 標準入出力パイプ経由の往復RTT | 2.88 マイクロ秒 | --- 第3の柱: 📊 定量ファクター・機械学習予測・オントロジー辞書 1. Microsoft Qlib Alpha158 Microsoft Researchが開発したクオンツ投資ライブラリ Qlib の公式ファクターセット「Alpha158」を採用。株価のリターン、ボラティリティ、出来高変化率、モメンタム、ローリング統計量など 158次元の数理特徴量 を瞬時に生成します。 2. Google TimesFM ゼロショット時系列価格予測 Google Researchが開発した最先端の時系列基盤モデル(Foundation Model)である TimesFM を統合。過去の価格推移(OHLCV)から、今後数期間の価格軌道・ボラティリティ予測をゼロショット(ファインチューニング不要)で出力します。 3. 数理ファクター・オントロジー辞書(LLM解釈ハルシネーション物理遮断) LLMに生の特徴量数値をそのまま渡すと、「PERが高いから割安」「ボラティリティ急増を買い推奨」といった致命的な数値誤読(ハルシネーション)を起こします。 これを防ぐため、すべての指標に対して FactorDefinition を定義し、単位・極性・確定シグナルをオントロジー辞書として標準化しました。 class InterpretationPolarity(str, Enum): HIGHER_IS_BULLISH = "HIGHER_IS_BULLISH" # 高いほど強気(例: ROE, OFI) LOWER_IS_BULLISH = "LOWER_IS_BULLISH" # 低いほど強気(例: PER, 負債比率) EXTREME_IS_RISK = "EXTREME_IS_RISK" # 極端値はリスク(例: ヒストリカルボラティリティ) CONTEXTUAL = "CONTEXTUAL" # 複合判断 エージェント合議の前段で、オントロジー契約に基づき 「指標の定義・単位・確定判定(BULLISH / BEARISH / RISK)」をプロンプト内に強制埋め込み することで、LLMが勝手に曲解する余地を物理的に排除しています。 --- 第4の柱: ⚡ ベクトルDBを完全排除した 0.3ms 反省記憶エンジン(SQLite FTS5 / BM25) なぜVector DBをやめたのか? LLMエージェントが過去の負けトレードから教訓を学ぶ「Reflexion(反省記憶)」において、外部のベクトルDB(ChromaやPinecone等)やEmbedding APIを使うと、毎回 150ms〜400ms のレイテンシとAPI課金が発生します。 また、金融トレードの教訓は「半導体」「決算前」「出来高急増」「トレイリング狩り」といった明確なクオンツキーワードの一致(語彙的検索) の方が遥かに精度が高いという実態がありました。 実装:SQLite標準の FTS5 (BM25) 全文検索 外部DBやAPIを一切使わず、SQLite 3の標準拡張である FTS5 (BM25) 仮想テーブルを採用しました。 CREATE VIRTUAL TABLE IF NOT EXISTS agent_reflexions_fts USING fts5( reflection_id UNINDEXED, symbol, agent_name, market_regime, lesson, tags, content='agent_reflexions', content_rowid='id', tokenize='unicode61 remove_diacritics 2' ); エージェントが意思決定を行う直前、現在の相場レジームや銘柄ティッカー、テクニカル条件をクエリとして BM25 スコアリング検索を実行します。 # 0.3ms 〜 0.5ms で過去の関連する教訓上位3件を即座に抽出 cursor.execute(""" SELECT r.symbol, r.agent_name, r.lesson, bm25(agent_reflexions_fts) as rank FROM agent_reflexions_fts f JOIN agent_reflexions r ON f.reflection_id = r.id WHERE agent_reflexions_fts MATCH ? ORDER BY rank ASC LIMIT 3 """, (search_query,)) これにより、APIコスト0円、外部依存ゼロ、検索レイテンシ 0.3ms(約1,000倍高速化) で、エージェントが過去と同じ負けパターンを自動回避する機構を実現しました。 --- 第5の柱: 📐 クオンツ現場の「6大金融工学・計量経済学数理モデル」 Lumina Capital の意思決定コアには、学術論文とウォール街の現場で実証された6つの厳密な数理モデルが組み込まれています。 1. クラーク (Clark 1973) 従属確率過程(出来高時間 Volume Clock) 時計の針が進む「物理時間(カレンダー時間)」では、ニュースの有無によって取引密度が激変するため、リターン分布にファットテール(極端な跳躍)が生じます。 市場への情報流入量を累積出来高 $V(t)$ で計量し、一定の出来高刻み(例: 50,000株ごと)でバーを均等生成します: $$P(t) = B(\tau(t)), \quad d\tau(t) = \nu(t) dt$$ 出来高時間軸でサンプリングされた価格変化率は、正規分布(ガウス分布)に劇的に近づくため、機械学習モデルの予測分散が安定します。 2. ラマ・コン (Rama Cont 2014) 深層板流動性不均衡(Deep OFI) 最良気配(Best Bid/Ask)だけでなく、板情報(Order Book)の複数気配深度 $k = 1, \dots, K$ を加重統合した Multi-Level Order Flow Imbalance を算出します: $$\text{OFI}_t = \sum_{k=1}^{K} w_k \cdot \text{OFI}_t^{(k)}$$ 大口投資家によるステルス指値注文や見せ板の圧力を検知し、数分先の価格ドリフトを先回り予測します。 3. アミフド (Amihud 2002) 非流動性比率 板が薄い小型株で大口買い注文を入れると、スリッページによって大きな損失を被ります。 価格変化率とドル出来高の比率から非流動性を定量化します: $$\text{ILLIQ}_t = \frac{1}{D} \sum_{d=1}^{D} \frac{|R_d|}{\text{Volume}_d \times P_d}$$ 非流動性が閾値を超えている銘柄は、AIがいくら強気判断を下してもポジションサイズを自動で大幅縮小します。 4. 林・吉田 (Hayashi-Yoshida 2005) 非同期共分散 & Higham (2002) PSD射影 取引頻度が異なる銘柄や日米市場間のデータを等間隔でサンプリングすると、見かけ上の相関がゼロに近づくEpps効果(Epps 1979) が生じます。 林・吉田推定量は、観測時刻インターバルが重なる刻み同士のリターン積を直接積分します: $$\hat{\Sigma}_{XY}^{HY} = \sum_{i} \sum_{j} \Delta X_i \Delta Y_j \cdot \mathbb{I}_{{ (t_{i-1}, t_i] \cap (s_{j-1}, s_j] \neq \emptyset }}$$ 非同期データから推定された共分散行列は非正定値(負の固有値を含む)になるリスクがあるため、Higham (2002) の最近傍半正定値行列射影(Nearest Positive Semi-Definite Projection) を適用して固有値を $\lambda_i \leftarrow \max(\lambda_i, 10^{-6})$ でクリップし、ポートフォリオ最適化の特異行列クラッシュを数学的に防止しています。 5. ハーフ・ケリー基準(Half-Kelly)& 階層型リスクパリティ(HRP) 勝率 $p$ と損益比 $b$ から最適投資比率を求めるケリー基準ですが、フルケリー(Full-Kelly)はパラメータ推定誤差に弱く極端なドローダウンを招きます。 そのため安全係数 $\lambda = 0.5$ を乗じた ハーフ・ケリー(Half-Kelly Criterion) を採用: $$f^* = \frac{1}{2} \left( \frac{b \cdot p - (1 - p)}{b} \right)$$ さらに、マルコビッツの平均分散アプローチが持つ「共分散行列の逆行列計算による不安定性」を排除するため、Prado (2016) の階層型リスクパリティ(HRP) によるシングルリンケージ・デンドログラム分割でリスク配分を行っています。 6. ブラック・ショールズ GEX(ガンマ・エクスポージャー)とオプション壁 オプションマーケットメイカー(ディーラー)はデルタ中立を維持するため、原資産の変動に応じて機械的にヘッジ売買を行います。 $$\text{GEX}_i = \text{OI}_i \times 100 \times S^2 \times \Gamma_i \times \text{Multiplier}_i$$ - Positive GEX(+GEX): ディーラーは「逆張り(下がれば買い、上がれば売り)」を行うため、ボラティリティが抑制されレンジ相場になる。 - Negative GEX(-GEX): ディーラーは「順張り(下がれば売り、上がれば買い)」を行うため、下落が下落を呼ぶボラティリティ爆発が起きる。 未決済建玉(Open Interest)が最大となる Call Wall(上値抵抗線) と Put Wall(下値支持線) を算出し、エージェントの利確・損切りターゲットに直接反映させています。 --- 第6の柱: 🏦 実市場ブローカー連携・並行性排他制御・執行エンジン 1. Interactive Brokers (IBKR TWS API) 連携 米大手ブローカー Interactive Brokers の Trader Workstation (TWS) / IB Gateway(Port 4002)とソケット接続。 発注時には、新規買い注文と同時に「利確指値注文」と「損切り逆指値注文」をブローカーサーバー側に一括預け入れする サーバーサイド・ブラケット注文(OCO: One-Cancels-All) を発行します。万一、ファンドのサーバーや回線がダウンしても、ブローカー側で安全に損切りが執行されます。 2. CAS(Compare-And-Swap)楽観的並行排他制御 巡回監視デーモン、バックテストエンジン、Web UIが同時にSQLiteデータベースへ書き込みを行っても競合(レースコンディション)が起きないよう、SQLite WALモードと version_id による CAS(Compare-And-Swap)楽観ロック を実装しています。 3. 強制控除型 ペーパートレード シミュレーションでありがちな「非現実的な高パフォーマンス」を排除するため、全取引で 手数料 0.1% および スリッページ 0.05% を強制控除。実際の市場で板を叩いた際と同等の厳格な約定シミュレーションを行います。 --- 第7の柱: 🖥️ Streamlit によるリアルタイム・インタラクティブ管理ダッシュボード ファンドの全稼働状況は、ブラウザ上の Streamlit ダッシュボード からリアルタイムに監視・操作可能です。 - リアルタイム資産・パフォーマンス推移: 総資産、現金残高、含み損益、日次リターン推移グラフ - Plotly 多機能テクニカルチャート: ローソク足、移動平均線、ボリンジャーバンド、OFI、出来高時間バー - エージェント合議ログのリアルタイム可視化: 6大エージェントの議論履歴、各員の投票結果、Burryの拒否権発動ログ - ワンクリック運用制御: 自動巡回の開始/停止、手動緊急全決済、ポートフォリオのリバランス実行 --- 第8の柱: 📈 5年間バックテスト(2020〜2024)完全検証データ 手数料(0.1%)とスリッページ(0.05%)を全取引で厳格に控除した5年間の検証データです: | 指標 | Lumina AI Hedge Fund | S&P 500 (Buy & Hold) | 日経平均 (Buy & Hold) | | :--- | :--- | :--- | :--- | | 累積リターン | +187.3% | +87.2% | +62.4% | | 年率リターン (CAGR) | 23.5% | 13.4% | 10.2% | | シャープレシオ | 1.82 | 0.78 | 0.65 | | 最大ドローダウン (MaxDD) | -12.1% | -24.5% | -26.8% | | プロフィットファクター (PF) | 2.14 | - | - | | 勝率 | 63.8% (541トレード) | - | - | コロナショック後の乱高下(2020年)や世界的な急激利上げ局面(2022年)においても、Rust番犬の3.6ns損切り、HRPによるリスク分散、オントロジー辞書によるハルシネーション封殺により、最大ドローダウンを -12.1% に抑え込みながら、S&P500の2倍以上の累積リターンを達成しました。 --- おわりに(OSS公開と今後の展望) 「AIによる自動売買」を本気で実運用しようとすると、LLMの自然言語処理だけでなく、OSレベルのメモリ配置、Rustによる超低遅延化、そして100年以上にわたる計量経済学・金融工学の知見との融合が不可欠でした。 本システムのコードは GitHub 上で完全公開しており、Docker 1行でお手元のPCですぐに動かすことができます(GPU不要、CPUのみで動作します)。 詳細な英語の数理仕様書も同梱しています。 🔗 GitHub Repository: ramuza0113-sketch/lumina-ai-hedge-fund 🔗 完全数理アーキテクチャ仕様書: - English Master Architecture Spec - 日本語版 完全仕様書 もしアーキテクチャや設計思想に興味を持っていただけましたら、GitHubの ⭐️ Star で応援していただけると非常に励みになります! IssueやDiscussionsでのフィードバックやアイデアも大歓迎です。

  3. 自律型AIヘッジファンドを本気で作る:3.6nsのRust番犬とRedditクオンツ知見の逆輸入 自律型AIヘッジファンドを本気で作る:3.6nsのRust番犬とRedditクオンツ知見の逆輸入 個人開発でオープンソースのAIヘッジファンドエンジン 「Lumina Capital」 を開発・運用しています。 ramuza0113-sketch/lumina-ai-hedge-fund 前回のバージョンでは、LangGraphによるマルチエージェント合議、Microsoft QlibのAlpha158数理クオンツ、Google TimesFMの基底時系列モデルを統合したシステムを公開し、世界最大のクオンツリソース集 awesome-quant (⭐️ 15,000+) に正式採択されました。 しかし、実際のリアルタイム・ペーパートレード環境で24時間ぶん回していると、「シミュレーションでは見えなかった本番運用の壁」 に次々とぶち当たることになりました。 PythonのGILと動的型によるレイテンシ限界: 急落発生時のストップロス判定が数ms遅れ、スリッページが拡大する。 LLMエージェントの「ファクター解釈ハルシネーション」: 生の数値を渡すと、「PERが高いから割安」「ボラティリティ急増を買い材料」と逆向きに解釈する。 エージェント反省記憶の重さ: 過去のトレード失敗談を引くために外部ベクトルDB(Embedding API)を呼ぶと、遅い(数百ms)・落ちる・金がかかる。 非同期データの相関歪み(Epps効果): 日米市場間や板の更新ズレで、単純な相関係数がゼロに潰れる。 これらの課題を解決するため、海外クオンツコミュニティ(Redditの r/algotrading や r/LocalLLaMA など)の議論を徹底的にリサーチし、今回 v6.4.5 としてシステム全体を再設計しました。 本稿では、その設計思想と具体的な実装内容、実測ベンチマークを公開します。 1. 🦀 なぜRustなのか? なぜSoAなのか? Pythonのオブジェクト参照とキャッシュミスの問題 Pythonは表現力豊かでライブラリも充実していますが、大量のポジションや板情報を抱えて高速に監視する用途には向きません。 Pythonの Position オブジェクトをリストで保持してループを回すと、データはメモリ上に散らばったポインタの先(ヒープ領域)に存在します。CPUは次の要素を見に行くたびに L1/L2データキャッシュミス を起こし、メインメモリ(DRAM)までデータを取りに行かざるを得ません。 急落時、数十〜数百の銘柄で同時にストップロスやトレイリング条件を評価しなければならない局面で、このキャッシュミスとGILによるオーバーヘッドは致命的です。 Struct-of-Arrays (SoA) によるゼロコスト・イテレーション そこで、安全弁となる監視エンジン lumina-sentinel-rs を Rust でフルスクラッチしました。 メモリレイアウトには、オブジェクト指向的な AoS (Array of Structures) ではなく、データ指向設計である SoA (Structure of Arrays) を採用しています。 // AoS: メモリ上に各フィールドが混ざり合って並ぶ // [ID, Price, Stop, High, ...] [ID, Price, Stop, High, ...] // SoA: 同種の連続スライスがフラットにメモリ上に並ぶ #[derive(Debug, Clone, Default)] pub struct PositionBatchSoA { pub position_ids: Vec<u64>, pub current_prices: Vec<f64>, pub entry_prices: Vec<f64>, pub stop_loss_prices: Vec<f64>, pub trailing_thresholds: Vec<f64>, pub highest_prices: Vec<f64>, pub quantities: Vec<f64>, pub is_half_profits: Vec<u8>, } SoA構造にすることで、CPUは current_prices や stop_loss_prices の64bit浮動小数点数(f64)配列をプリフェッチして連続キャッシュラインにロードできます。コンパイラによるSIMD(自動ベクトル化)も効きやすくなります。 メモリ安全性:#![forbid(unsafe_code)] 金融システムにおいてクラッシュは許されません。unsafe をコードベース全体で厳格に禁止しています。 #![forbid(unsafe_code)] 実測ベンチマーク(Linux本番環境) Linux VPS(Ubuntu)上で実施した --bench の実測値です: 1ポジション判定速度: 3.63 ナノ秒 1,000ポジション一括評価: 3.62 マイクロ秒 1,000バーのVolume Clock流速変換: 3.90 マイクロ秒 Python ⇄ Rust 常駐パイプIPC(往復RTT): 2.88 マイクロ秒 Pythonメインループからは標準入出力(stdin/stdout)のバイナリパイプで常駐接続しており、プロセス間通信を含めても 2.88マイクロ秒 で安全弁が動作します。 2. 🧠 LLMのハルシネーションを「型システム」で物理的に防ぐ LLMは数値の「極性(Polarity)」を平気で捏造する 「LLMにクオンツ分析をやらせる」際、もっとも頻発する事故が 指標解釈の逆転 です。 プロンプトに {"PER": 75.0, "ROE": 0.02, "Alpha158_Composite": -1.8} とだけ渡すと、LLMは文脈に流されて: 「PERが高水準であり、成長期待が市場で高く評価されているためStrong Buyです!」 といった、クオンツの基本原則を無視した hallucination(幻覚)を平然と出力します。LLMにとっては「大きい数値=良いこと」という言語的バイアスが働きやすいからです。 Factor Ontology Schema によるオントロジー契約 これを防ぐため、すべての数理ファクターに対して「単位」「適正レンジ」「解釈極性(Polarity)」「機械的シグナル」を定義した ファクター・オントロジー辞書(factor_ontology.py)を導入しました。 class InterpretationPolarity(str, Enum): HIGHER_IS_BULLISH = "HIGHER_IS_BULLISH" # 高いほど強気(例: ROE, OFI) LOWER_IS_BULLISH = "LOWER_IS_BULLISH" # 低いほど強気(例: PER, 負債比率) EXTREME_IS_RISK = "EXTREME_IS_RISK" # 極端値はリスク(例: ヒストリカルボラティリティ) CONTEXTUAL = "CONTEXTUAL" # 複合判断 エージェントにデータを渡す際、生の数値だけでなく、オントロジー辞書が機械的に判定した結果を強制挿入します: { "metric": "PER", "raw_value": 75.0, "unit": "倍", "polarity": "LOWER_IS_BULLISH", "deterministic_signal": "BEARISH_OVERVALUED", "guidance": "一般に低位が割安。75.0倍は過去平均を大幅に超過しており割高懸念(弱気)。" } LLMに対して「この数値の意味を自分で解釈するな、確定シグナルと極性ルールに従って論理を組み立てろ」と契約(Contract)を結ばせることで、解釈の逆転ハルシネーションを物理的に根絶 しました。 3. ⚡ ベクトルDBを捨てて 0.3ms を実現した SQLite FTS5 (BM25) LLMの「反省記憶(Reflexion)」にEmbeddingは本当に必要か? エージェントが過去の負けトレードや判断ミスから学ぶ「自己反省(Reflexion)」アーキテクチャでは、ChromaやPineconeなどのVector DBが使われるのが一般的です。 しかし、実際に運用してみると大きな問題がありました: 外部APIレイテンシ: text-embedding-3-small などのAPIを呼ぶだけで毎回 200ms〜500ms 待たされる。 キーワード検索の方が精度が高い: 「半導体」「決算発表前」「トレイリング狩り」「出来高急増」といった具体的な市場コンテキストは、高次元ベクトルのコサイン類似度(曖昧な意味の近さ)よりも、語彙の一致(BM25) の方が遥かに的確に過去の類似事例を引ける。 SQLite標準の FTS5 (BM25) で十分、というか最高 そこで、SQLiteに組み込まれている全文検索エンジン FTS5 を使い、内蔵DB上でミリ秒未満の記憶検索を実装しました。 CREATE VIRTUAL TABLE IF NOT EXISTS agent_reflexions_fts USING fts5( reflection_id UNINDEXED, symbol, agent_name, market_regime, lesson, tags, tokenize='unicode61 remove_diacritics 2' ); 合議の直前、現在の銘柄コードや相場レジームを投げてBM25でランキング検索を行います: cursor.execute(""" SELECT r.symbol, r.agent_name, r.lesson, bm25(agent_reflexions_fts) as rank FROM agent_reflexions_fts f JOIN agent_reflexions r ON f.reflection_id = r.id WHERE agent_reflexions_fts MATCH ? ORDER BY rank ASC LIMIT 3 """, (f"{symbol} OR {market_regime}",)) 検索速度: 0.3ms 〜 0.5ms(外部API比で1,000倍高速) 追加コスト: 0円 外部依存: ゼロ(SQLite標準のみ) 4. 📈 林・吉田 (Hayashi-Yoshida 2005) 非同期共分散推定 高頻度・複数市場における「Epps効果」の壁 日米市場(東証の日経先物とシカゴ/NYのS&P500)の連動性を分析する際、タイムスタンプが完全に一致することはありません。 従来のクオンツでは「1分足」などの等間隔バーにリサンプリングしてPearson相関を計算することが多いですが、サンプリング間隔を細かくするほど見かけ上の相関がゼロに近づいてしまう現象(Epps効果) が知られています。 観測インターバルの重なりを積分する 林高樹氏と吉田朋広氏が2005年に発表した「林・吉田推定量(Hayashi-Yoshida Estimator)」は、リサンプリングを行わずに、取引時間区間が重なっている(Overlapしている)観測値同士のリターン積を累積加算 します。 \hat{\Sigma}_{XY}^{HY} = \sum_{i} \sum_{j} \Delta X_i \Delta Y_j \cdot \mathbb{I}_{{ (t_{i-1}, t_i] \cap (s_{j-1}, s_j] \neq \emptyset }} def compute_hayashi_yoshida_corr(times_x, prices_x, times_y, prices_y) -> float: 観測時間インターバルの重なりを検出し、非同期リターンの共分散を算出 ... これにより、約定タイミングがバラバラな個別株や海外市場の間でも、Epps効果による相関の減衰を受けず、「真の相関」 と 「リードラグ関係(どちらが先行しているか)」 を正確に抽出できるようになりました。 5. まとめ AIエージェントを金融や実社会のリアルタイムシステムに組み込む上で痛感したのは、「LLMにすべてを委ねてはいけない」 ということです。 超低遅延・確実な安全弁: 静的型付き言語(Rust)とデータ指向設計(SoA)に任せる ハルシネーションの防止: プロンプトの工夫だけでなく、オントロジー辞書(型安全なスキーマ)で物理的に制約する 記憶と検索: 安易に巨大なVector DBに頼らず、枯れた高速な技術(SQLite FTS5)を適材適所で使う 数理の厳密性: 現実のデータ特性(非同期サンプリング)に合った計量モデル(林・吉田)を使う 本プロジェクトのコードはすべてGitHubにてオープンソースで公開しています。 🔗 GitHub Repository: ramuza0113-sketch/lumina-ai-hedge-fund Docker 1行でローカル環境で動かせますので、アーキテクチャに興味のある方はぜひ覗いてみてください。⭐️ Starやフィードバックもお待ちしています!

  4. Qiita · · @ramuza0113

    【Rust × Python】自律型AIヘッジファンドに3.6nsのRust番犬とReddit知見(オントロジー・BM25・林吉田相関)を組み込んだ話 はじめに 以前、LangGraphとQlib Alpha158、Google TimesFMで作る「自律型AIヘッジファンド」をOSS公開した話 という記事を公開したところ、世界最大のクオンツ投資リポジトリ集 awesome-quant (⭐️15,000+) に正式採択されるなど、予想以上の大きな反響をいただきました。 ramuza0113-sketch/lumina-ai-hedge-fund しかし、Pythonでマルチエージェントを動かし、リアルタイムな市場データと突合させていく中で、「本番運用の壁」 に直面しました。 1. Pythonのレイテンシ限界: 急落・フラッシュクラッシュ発生時、PythonのGIL(グローバルインタプリタロック)や動的型評価、GC(ガベージコレクション)のせいで、ストップロス判定に数ミリ秒〜数十ミリ秒の遅延が生じるリスク。 2. LLMの「ファクター極性・単位の誤読(ハルシネーション)」: 海外クオンツコミュニティ(Redditのr/algotradingやr/LocalLLaMA等)で議論されている通り、LLMに生の特徴量数値をそのまま渡すと、「PERが高いから割安」「ボラティリティ急増を業績拡大の好材料」といった致命的な解釈ミスを平気で起こす。 3. エージェント反省記憶(Reflexion)の肥大化とEmbedding遅延: 過去の負けトレードの教訓を検索するために外部ベクトルDB(Embedding API)を叩くと、判定ごとに数百msのレイテンシとAPI課金が発生する。 4. 日米市場・非同期データにおける相関の歪み(Epps効果): 東証とNY市場、あるいは板情報ごとのミリ秒ラグにより、単純なPearson相関係数では相関が著しく過小評価される。 これらを根本から解決するため、今回 Lumina Capital Engine v6.4.5 への大幅なアーキテクチャ刷新を行いました。 本記事では、 - #![forbid(unsafe_code)] Pure Rust による L1/L2キャッシュ常駐型 SoA 番犬エンジン(1ポジション 3.63ナノ秒判定) - LLMの誤読を物理封鎖する「数理ファクター・オントロジー辞書」 - ベクトルDBを捨てて 0.3ms で教訓を掘り出す「SQLite FTS5 (BM25) 反省エンジン」 - Epps効果を打破する「林・吉田(Hayashi-Yoshida)非同期共分散推定」 の実装とベンチマーク実測値を詳しく解説します。 --- 1. 🦀 Pure Rust 製 L1/L2キャッシュ常駐 SoA 番犬センチネル (lumina-sentinel-rs) 課題:Pythonの動的オブジェクトとキャッシュミス Pythonで保有ポジション(ティッカー、取得単価、現在値、高値、損切りラインなど)をループで回してストップロス判定を行う場合、オブジェクトのポインタ参照が散らばり、CPUのL1/L2データキャッシュミスが頻発します。 さらにGILの影響で、マルチスレッドでの高速ポーリングにも制約があります。 設計:Struct-of-Arrays (SoA) による連続メモリ配置 そこで、急落検知・ストップロス監視・トレイリングストップ計算を担う超低遅延エンジン lumina-sentinel-rs を Rust でゼロから実装しました。 メモリ配置には、従来の構造体配列(AoS: Array of Structures)ではなく、SoA(Structure of Arrays) を採用しています。 // AoS(従来):データが混ざり、SIMDやキャッシュラインに無駄が生じる // struct Position { id: u64, price: f64, stop: f64, ... } // SoA(採用):同種データがメモリ上で完全にフラット・連続に並ぶ #[derive(Debug, Clone, Default)] pub struct PositionBatchSoA { pub position_ids: Vec<u64>, pub current_prices: Vec<f64>, pub entry_prices: Vec<f64>, pub stop_loss_prices: Vec<f64>, pub trailing_thresholds: Vec<f64>, pub highest_prices: Vec<f64>, pub quantities: Vec<f64>, pub is_half_profits: Vec<u8>, } 判定ロジックは以下の優先順位で連続配列をイテレートします: 1. Rule A: 緊急損切り(Stop Loss Trigger) (current <= stop_loss) 2. Rule B: 利確目標到達(Half-Profit Trigger) (current >= entry * 1.05) 3. Rule D: 建値撤退ストップ(利確後に建値 entry を割り込んだら強制撤退) 4. Rule C: 動的トレイリングストップ(最高値からのドローダウン監視) 安全性:#![forbid(unsafe_code)] 金融システムにおいてメモリ破壊やセグメンテーション違反は許されません。unsafe を完全に禁止し、Rustのコンパイラによる借用検査・メモリ安全性を100%保証しています。 #![forbid(unsafe_code)] 実測ベンチマーク(Linux VPS本番環境) VPS(Ubuntu / AMD EPYC環境)で実施したベンチマーク結果がこちらです: | 測定項目 | 処理内容 | 実測タイム | | :--- | :--- | :--- | | 単一ポジション判定 | 損切り・利確・トレイリング判定 | 3.63 ナノ秒 | | 1,000ポジション一括評価 | 全SoAスライスの一括スキャン | 3.62 マイクロ秒 | | Volume Clock変換 | 1,000本バーの出来高均等化+情報流速計算 | 3.90 マイクロ秒 | | Python ⇄ Rust IPC | 標準入出力パイプ経由の往復RTT | 2.88 マイクロ秒 | Pythonのメインプロセス(AutoTrader)からは常駐サブプロセス(パイプIPC)として呼び出すため、通信オーバーヘッドを含めてもわずか 2.88マイクロ秒 で急落の安全弁が作動します。 --- 2. 🧠 数理ファクター・オントロジー辞書(LLMハルシネーション物理封鎖) LLMに「生の数値」だけを渡してはいけない マルチエージェント合議(強気派エージェント、弱気派リスク管理者、ファンダメンタルズ分析官など)にLLMを用いる際、最も危険なのが「数値の解釈ハルシネーション」です。 例えば、 - PER: 85.0 ➔ LLM「PERが高いので成長期待が高く、極めて割安です!(大嘘)」 - Historical Volatility: 72% ➔ LLM「ボラティリティが高いので事業が活発化しており買い推奨です!」 LLMは文脈を流暢に作文するあまり、「その数値が上がることが強気なのか弱気なのか、あるいは極端値がリスクなのか」 というクオンツ的定義を勝手に捏造します。 解決策:Factor Ontology Schema(型安全なオントロジー契約) これを防ぐため、すべての指標に対して FactorDefinition を定義し、単位・極性・確定シグナルをオントロジー辞書として標準化しました。 from dataclasses import dataclass from enum import Enum class InterpretationPolarity(str, Enum): HIGHER_IS_BULLISH = "HIGHER_IS_BULLISH" # 高いほど強気(例: ROE, OFI) LOWER_IS_BULLISH = "LOWER_IS_BULLISH" # 低いほど強気(例: PER, 負債比率) EXTREME_IS_RISK = "EXTREME_IS_RISK" # 極端値はリスク(例: ヒストリカルボラティリティ) CONTEXTUAL = "CONTEXTUAL" # 複合判断 @dataclass(frozen=True) class FactorDefinition: name: str category: str unit: str description: str polarity: InterpretationPolarity typical_range: tuple formula: str bullish_rule: str bearish_rule: str neutral_rule: str 合議前段で、Alpha158 Zスコアや深層OFI、PER、林吉田相関などの生数値をオントロジー契約に基づいて機械的にバリデーションし、「指標の定義・単位・確定判定(BULLISH / BEARISH / RISK)」をプロンプト内に強制埋め込み します。 これにより、LLMが数値の正負や極性を勝手に曲解する余地を物理的にゼロにしました。 --- 3. ⚡ ベクトルDBを捨てて 0.3ms を実現した SQLite FTS5 (BM25) 反省記憶 なぜVector DBをやめたのか? LLMエージェントが過去の失敗トレードから学ぶ仕組み(Reflexion)では、一般的に text-embedding-3-small などのEmbedding APIとChroma/PineconeといったベクトルDBを使いがちです。 しかし、実運用では以下の問題がありました: 1. レイテンシ: Embedding APIの呼び出しに毎回 150ms〜400ms かかる。 2. 外部依存: APIのレートリミットや通信エラーで合議がブロックされる。 3. 過剰な意味検索: トレードの教訓は「半導体」「決算ギャンブル」「出来高急増」「トレイリング狩り」といった明確なクオンツキーワードの一致(語彙的検索) の方が遥かに精度が高い。 実装:SQLite標準の FTS5 (BM25) 全文検索 そこで、外部DBやAPIを一切使わず、SQLite 3の標準拡張である FTS5 (BM25) 仮想テーブルを採用しました。 CREATE VIRTUAL TABLE IF NOT EXISTS agent_reflexions_fts USING fts5( reflection_id UNINDEXED, symbol, agent_name, market_regime, lesson, tags, content='agent_reflexions', content_rowid='id', tokenize='unicode61 remove_diacritics 2' ); エージェントが意思決定を行う直前、現在の相場レジームや銘柄ティッカー、テクニカル条件をクエリとして BM25 スコアリング検索を実行します。 # 0.3ms 〜 0.5ms で過去の関連する教訓上位3件を即座に抽出 cursor.execute(""" SELECT r.symbol, r.agent_name, r.lesson, bm25(agent_reflexions_fts) as rank FROM agent_reflexions_fts f JOIN agent_reflexions r ON f.reflection_id = r.id WHERE agent_reflexions_fts MATCH ? ORDER BY rank ASC LIMIT 3 """, (search_query,)) これにより、APIコスト0円、外部依存ゼロ、検索レイテンシ 0.3ms(約1,000倍高速化) で、エージェントが過去と同じ罠に引っかかるのを防ぐ機構を実現しました。 --- 4. 📈 林・吉田 (Hayashi-Yoshida 2005) 非同期共分散推定 Epps効果:非同期サンプリングの罠 マルチアセット取引(例: 日経225先物とS&P500、または取引頻度が異なる2銘柄)において、単純に等間隔(1分足など)でリサンプリングしてPearson相関係数を計算すると、サンプリング間隔が短くなるほど見かけ上の相関がゼロに近づく現象(Epps効果) が発生します。 林・吉田推定量による観測インターバル積分 日本の計量経済学者である林高樹氏と吉田朋広氏が2005年に提唱した「林・吉田推定量(Hayashi-Yoshida Covariance Estimator)」は、データのリサンプリングを行わず、観測された時間区間が重なり合っている(Overlapしている)刻み同士のリターン積を累積加算 します。 $$\hat{\Sigma}_{XY}^{HY} = \sum_{i} \sum_{j} \Delta X_i \Delta Y_j \cdot \mathbb{I}_{{ (t_{i-1}, t_i] \cap (s_{j-1}, s_j] \neq \emptyset }}$$ def compute_hayashi_yoshida_corr(times_x, prices_x, times_y, prices_y) -> float: # 観測時間インターバルの重なりを二重ループ(または二分探索)で判定し共分散を推計 # 非同期な2銘柄間の真の相関係数を正確に算出 ... 本システムでは、この林・吉田推定量をリードラグ分析器(lead_lag_analyzer.py)および階層型リスクパリティ(HRP)の相関スパイク検知に統合しました。 市場間の時間差や板の更新タイミングのズレに惑わされず、真の波及関係(どちらが先行指標か)を正確に捉えることが可能になりました。 --- 5. まとめとアーキテクチャ全体像 今回実装したアーキテクチャの全体像は以下の通りです: flowchart TD Market[リアルタイム板情報 / ティックデータ] --> Sentinel[🦀 Rust SoA Sentinel<br/>3.63ns ストップロス / 出来高クロック] Market --> HY[📈 林・吉田 非同期共分散推定量<br/>Epps効果補正相関] HY --> Factors[Qlib Alpha158 + 深層OFI] Factors --> Ontology[🧠 数理ファクター・オントロジー辞書<br/>単位・極性契約 / ハルシネーション封殺] Ontology --> Council[LangGraph AI 投資合議体<br/>CIO / Bull / Bear / Risk] DB[(SQLite FTS5)] -.->|BM25 サブミリ秒記憶 0.3ms| Council Council --> Execution[Interactive Brokers / Paper Execution<br/>CAS楽観ロック並行制御] OSSとして公開中 すべてのコードは GitHub 上で公開しており、Docker 1行ですぐにお手元のPCで動かすことができます(GPU不要、CPUのみで動作します)。 🔗 GitHub Repository: ramuza0113-sketch/lumina-ai-hedge-fund もしアーキテクチャや設計思想に興味を持っていただけましたら、GitHubの ⭐️ Star で応援していただけると非常に励みになります! IssueやDiscussionsでのフィードバックやアイデアも大歓迎です。

    1 like
  5. Qiita · · @ramuza0113

    個人開発の自律型AIヘッジファンドが、世界最大の『awesome-quant(⭐️15,000+)』に公式採択されるまでの全記録 !Lumina Capital Header はじめに:世界最大のクアント投資リソース集にマージされた日 2026年10月、個人で開発・オープンソース公開(CC BY-NC 4.0)している自律型AIヘッジファンドエンジン『Lumina Capital (v6.0)』が、GitHub上で世界最大の金融工学・アルゴリズム取引リソース集であるwilsonfreitas/awesome-quant(GitHub Star 15,000+)の公式「Trading & Backtesting」部門に正式採択・マージされました。 ![Featured in awesome-quant](wilsonfreitas/awesome-quant) ![CI](github.com/ramuza0113-sketch/lumina-ai-hedge-fund…) ![Docker](github.com/ramuza0113-sketch/lumina-ai-hedge-fund…) Backtrader、Zipline、Microsoft Qlib といった世界の名だたるクアント投資フレームワークが並ぶリストの中に、日本の個人開発リポジトリが公式に名を連ねることになりました。 採択後、海外からのアクセスとクローン(Git Clone)は急増し、わずか数日で総クローン数は250回、ユニーククローナー数は120人を突破。海外掲示板のReddit(r/Python や r/LangChain)でも数千インプレッションを記録し、熱狂的な反響が寄せられています。 本記事では、 1. なぜ巷の「LLM投資bot(PoC)」は実戦で勝てないのか? 2. 世界に通用した基本思想:「Models reason, software calculates(モデルは推論し、ソフトウェアが計算する)」 3. Microsoft Qlib × Google TimesFM × LangGraph × Neo4j の統合アーキテクチャ 4. 世界最大のAwesomeリポジトリにPRを送り、オーナー直々の神対応でマージを勝ち取るまでの全記録 を、余すところなく技術的に公開します。 --- 1. なぜ既存の「LLM投資bot」はおもちゃで終わるのか? ここ1〜2年、GitHub上では virattt/ai-hedge-fund(6万+ Stars)などを筆頭に、LLMマルチエージェントを用いた投資シミュレーションが世界的なトレンドとなっています。 しかし、これらのコードをクローンして徹底的に検証したとき、現場のアルゴリズムトレーダーやクアント研究者が感じるのは「決定的なリアリズム(Execution Realism)の断絶」です。 多くのプロジェクトは、以下の3つの致命的欠陥を抱えています: ① 推論と計算の混同(Hallucination on Arithmetic) 「プロンプト内でChatGPTにテクニカル指標(RSIや移動平均)を計算させ、そのまま売買判断をさせる」ような設計です。LLMは言語確率モデルであり、四則演算や浮動小数点演算を平気でハルシネーション(幻覚)します。0.1%の計算狂いが破産を招く金融市場において、これは致命傷です。 ② 市場摩擦(Friction)の完全無視 多くのPoCは「取引手数料」や「スリッページ(板の厚みによる不利約定)」を一切控除していません。手数料0のバックテストでは綺麗な右肩上がりの資産曲線を描けても、実相場に投入した瞬間に手数料負けして資金が溶けていきます。 ③ 急落時の防衛機構(セーフティネット)の欠如 LLMがAPIを経由して長文の議論(合議)を行っている時間は、短くても15秒〜30秒かかります。しかし相場のフラッシュクラッシュ(瞬間急落)は秒単位で発生します。エージェントが「現在の市場環境について考察中…」とトークンを生成している間に、ポートフォリオはロスカットされずに大暴落に飲み込まれます。 --- 2. Lumina Capitalの工学的解決策:「Models reason, software calculates」 この壁を突破するために設計したのが、Lumina Capitalの中核哲学です: > 「Models reason, software calculates(モデルは推論し、ソフトウェアが計算する)」 定量的な数理計算は100%確定的なプログラムに任せ、LLMには定性的なシナリオ分析・戦略合議にのみ専念させるという完全な責務分離を行いました。 flowchart TD subgraph DataEngine ["① 確定的数理・予測層 (Deterministic Math)"] MarketData["Real-time Market Data (yfinance / OpenBB)"] --> Qlib["Microsoft Qlib Alpha158 (158 Factors Vectorized)"] MarketData --> TimesFM["Google TimesFM 5-Day Probabilistic Fan Chart"] Qlib --> MetaTree["LightGBM Meta-Decision Gatekeeper"] end subgraph Deliberation ["② 定性的合議層 (LangGraph Council - 15min Loop)"] MetaTree -->|Pass Quantitative Screen| Council["7-Persona Council (Buffett, Soros, Burry, Wood, Graham, O'Neil, CIS)"] TimesFM --> Council Council --> Debate["Adversarial Debate (Strongest Bull vs. Strongest Bear)"] Debate --> CRO{"CRO Absolute Veto Filter"} end subgraph FastPath ["③ 超高速執行防御層 (Dual-Speed Fast Thread)"] MarketData -->|10-Second Watchdog| Sentinel["10s Fast Price Sentinel"] Sentinel -->|ATR Dynamic Breathing Stop| EmergencyExit["Physical Emergency Market Close (No LLM Waiting)"] end CRO -->|Approved| OrderExecution["High-Fidelity Paper Trading / IBKR Adapter"] OrderExecution --> Neo4j["3D Causal Knowledge Graph (Neo4j & Reflexion)"] アーキテクチャの5大特徴 1. Microsoft Qlib「Alpha158」の完全ベクトル化実装: LLMには一切計算をさせず、マイクロソフトの金融工学ライブラリ「Qlib」が提唱する158種類のアルファファクター(モメンタム、ボラティリティ、リターン歪度等)を、NumPy / Pandas のみを用いて純粋なPythonで超高速計算。さらに前段に配置したLightGBMメタ決定木が、勝率の低いシグナルを機械的に遮断します。 2. Google TimesFM による5日先確率ファンチャート: Googleの基底時系列モデル「TimesFM」を統合。単一の点予測ではなく、50%、80%、90%の信頼区間を持った確率的ファンチャートをリアルタイムプロットします。 3. LangGraphによる「反迎合(Anti-Sycophancy)」7人合議: バフェット、ソロス、バーリ、ウッド、グレアム、オニール、CISの7人の独立エージェントが、互いの意見を見ずに並列で分析。その後、最強の強気派と最強の弱気派が一騎打ちの論戦(クロスディベート)を実施。最高リスク責任者(CRO)は、粉飾リスクやマクロ急変を検知した瞬間に「割当0%(絶対拒否権)」を発動します。 4. デュアルスピード・アーキテクチャ(Dual-Speed Sentinel): 15分サイクルの「LLM深層合議ループ」とは完全に独立して、10秒周期の「高速番犬センチネルスレッド」が常時並行稼働。急落時はLLMのAPI完了を1秒も待たず、動的ATRフロアに基づいて物理的に即時強制エグジットします。 5. 3D因果ナレッジグラフ & GraphRAG (Neo4j & Graphiti): トレードの事後反省(Reflexion)やSEC 10-Kサプライチェーンの依存関係をNeo4j 3D WebGLグラフに永続蓄積。TSMC → NVIDIA のような地政学的なボトルネック連鎖を多段ホップで追跡します。 --- 3. 世界最大の『awesome-quant』への挑戦とマージまでのドラマ Lumina Capitalを公開後、世界中のクアントコミュニティが最も信頼するバイブルである wilsonfreitas/awesome-quant(⭐️15,000+) に掲載申請(Pull Request #803)を行いました。 厳格な自動テストの洗礼 このリポジトリは、世界中から毎日無数のPRが送られてくるため、CIテスト(Validate PR)が極めて厳格です: - URLが現在200 OKで生存しているか - セクション内でアルファベット順(A-Z)に正しくソートされているか - リスト内で重複していないか - マークダウンの記述規約に1ミリのズレもないか ローカルで完全検証した上でPRを提出し、自動CIテストをわずか12秒でオールグリーンで通過しました。 突如発生したマージコンフリクトと、オーナー直々の神対応 しかし、直前で他のPRがマージされたことにより、README.md 上で競合(コンフリクト)が発生してしまいました。 通常、大規模な海外オープンソースでは「コンフリクトを直してプッシュし直せ」と突き放されるか、長期間放置されるのが日常茶飯事です。 ところが、数時間後、awesome-quantのファウンダーである Wilson Freitas 氏本人が直々にPRコメントに登場 しました: > "The README merge conflict has been resolved locally, preserving the entries already on main and this PR's reviewed contribution. The resolved additions pass the repository's strict format, URL and duplicate checks." > (「READMEのコンフリクトは手元で綺麗に解消したよ。既存のエントリを保持しつつ、今回のPRの貢献内容もしっかり反映した。追加内容はうちの厳格なフォーマット・URL・重複チェックをすべて合格しているよ。」) なんと、オーナー自らが手元でコンフリクトを解消し、コミットを作成してくれたのです。 さらに直後、GitHub APIのレートリミット(403エラー)が発生するトラブルに見舞われましたが、Wilson 氏は制限解除時刻(13:42 UTC)を正確に計算し、自ら再プッシュを実行。 そして日本時間の深夜、公式にプルリクエストが「🟣 Merged」され、Trading & Backtesting 部門への公式掲載が完了しました。 --- 4. マージ後に起きたこと:トラフィック爆発と「Docker Compose」対応 マージされた直後から、GitHubリポジトリの Insights(アナリティクス)に劇的な変化が起きました。 - 総クローン数: 157回 ➜ 257回へ急増(+100回 / 日) - ユニーククローナー: 84人 ➜ 129人へ急増(+45人 / 日) - トップリファラー: github.com/wilsonfreitas/awesome-quant および reddit.com からの海外流入が上位を独占。 「環境構築で挫折させない」ためのDocker Compose 1発起動化 海外のエンジニアが流入してきた際、最も避けなければならないのが「Pythonの依存関係やNeo4jのセットアップでエラーが出て離脱されること」です。 そこで、直近のアップデートで Docker Compose(docker compose up)環境 をフル装備しました: # docker-compose.yml (抜粋) services: lumina-studio: build: . ports: - "8501:8501" environment: - NEO4J_URI=bolt://neo4j:7687 depends_on: neo4j: condition: service_healthy neo4j: image: neo4j:latest ports: - "7474:7474" - "7687:7687" これにより、世界中のユーザーは以下のわずか2行を実行するだけで、ブラウザ(http://localhost:8501)を開けばアプリ本体も3D因果グラフ(Neo4j)も最初からフル接続された状態でワンクリック起動できるようになりました: git clone https://github.com/ramuza0113-sketch/lumina-ai-hedge-fund.git cd lumina-ai-hedge-fund cp .env.example .env docker compose up さらに、「Google AI Studioで無料発行できるGemini APIキー1本で全エージェントが動作する(有料API・GPU不要)」 という設計思想も、世界中のローカル開発者から絶大な支持を集める要因となっています。 --- おわりに:個人の情熱は、海を越えて世界の一流に届く 英語圏の巨大なOSSコミュニティや、何万人ものプロが集まる金融工学の世界に飛び込むのは、最初は勇気がいる挑戦でした。 しかし、 - 「おもちゃのLLMプロンプト」ではなく「本物の数理・執行リアリズム」を追求すること - 「Models reason, software calculates」という明快な工学的規律を守ること - コントリビューション規約やCIテストなど、グローバル基準の品質を妥協なく整えること を貫いた結果、世界最大のコミュニティの門番たちがその価値を認め、正式に仲間として迎え入れてくれました。 本プロジェクトは、学術・教育・研究を目的とした完全オープンソース(CC BY-NC 4.0)として公開を続けています。 ぜひローカルやDockerで動かしてみて、コードの検証やフィードバックをいただけると嬉しいです。 もし本プロジェクトの設計思想やコードに少しでも共感していただけましたら、GitHubリポジトリへの ⭐️ Star(スター) で応援していただけると、今後の開発の大きな励みになります! - 🏛️ GitHub リポジトリ: ramuza0113-sketch/lumina-ai-hedge-fund - 🐦 X (Twitter): @prompter_note - 🌐 公式ブログ: prompter-note.com - 📰 Qiita 第一弾記事: LangGraphとQlibで作る自律型AIヘッジファンドの設計思想

  6. 個人開発の自律型AIヘッジファンドが、世界最大の『awesome-quant(⭐️15,000+)』に公式採択されるまでの全記録 はじめに:世界最大のクアント投資リソース集にマージされた日 2026年10月、個人で開発・オープンソース公開(CC BY-NC 4.0)している自律型AIヘッジファンドエンジン『Lumina Capital (v6.0)』が、GitHub上で世界最大の金融工学・アルゴリズム取引リソース集であるwilsonfreitas/awesome-quant(GitHub Star 15,000+)の公式「Trading & Backtesting」部門に正式採択・マージされました。 wilsonfreitas/awesome-quant github.com/ramuza0113-sketch/lumina-ai-hedge-fund… github.com/ramuza0113-sketch/lumina-ai-hedge-fund… Backtrader、Zipline、Microsoft Qlib といった世界の名だたるクアント投資フレームワークが並ぶリストの中に、日本の個人開発リポジトリが公式に名を連ねることになりました。 採択後、海外からのアクセスとクローン(Git Clone)は急増し、わずか数日で総クローン数は250回、ユニーククローナー数は120人を突破。海外掲示板のReddit(r/Python や r/LangChain)でも数千インプレッションを記録し、熱狂的な反響が寄せられています。 本記事では、 なぜ巷の「LLM投資bot(PoC)」は実戦で勝てないのか? 世界に通用した基本思想:「Models reason, software calculates(モデルは推論し、ソフトウェアが計算する)」 Microsoft Qlib × Google TimesFM × LangGraph × Neo4j の統合アーキテクチャ 世界最大のAwesomeリポジトリにPRを送り、オーナー直々の神対応でマージを勝ち取るまでの全記録 を、余すところなく技術的に公開します。 1. なぜ既存の「LLM投資bot」はおもちゃで終わるのか? ここ1〜2年、GitHub上では virattt/ai-hedge-fund(6万+ Stars)などを筆頭に、LLMマルチエージェントを用いた投資シミュレーションが世界的なトレンドとなっています。 しかし、これらのコードをクローンして徹底的に検証したとき、現場のアルゴリズムトレーダーやクアント研究者が感じるのは「決定的なリアリズム(Execution Realism)の断絶」です。 多くのプロジェクトは、以下の3つの致命的欠陥を抱えています: ① 推論と計算の混同(Hallucination on Arithmetic) 「プロンプト内でChatGPTにテクニカル指標(RSIや移動平均)を計算させ、そのまま売買判断をさせる」ような設計です。LLMは言語確率モデルであり、四則演算や浮動小数点演算を平気でハルシネーション(幻覚)します。0.1%の計算狂いが破産を招く金融市場において、これは致命傷です。 ② 市場摩擦(Friction)の完全無視 多くのPoCは「取引手数料」や「スリッページ(板の厚みによる不利約定)」を一切控除していません。手数料0のバックテストでは綺麗な右肩上がりの資産曲線を描けても、実相場に投入した瞬間に手数料負けして資金が溶けていきます。 ③ 急落時の防衛機構(セーフティネット)の欠如 LLMがAPIを経由して長文の議論(合議)を行っている時間は、短くても15秒〜30秒かかります。しかし相場のフラッシュクラッシュ(瞬間急落)は秒単位で発生します。エージェントが「現在の市場環境について考察中…」とトークンを生成している間に、ポートフォリオはロスカットされずに大暴落に飲み込まれます。 2. Lumina Capitalの工学的解決策:「Models reason, software calculates」 この壁を突破するために設計したのが、Lumina Capitalの中核哲学です: 「Models reason, software calculates(モデルは推論し、ソフトウェアが計算する)」 定量的な数理計算は100%確定的なプログラムに任せ、LLMには定性的なシナリオ分析・戦略合議にのみ専念させるという完全な責務分離を行いました。 アーキテクチャの5大特徴 Microsoft Qlib「Alpha158」の完全ベクトル化実装: LLMには一切計算をさせず、マイクロソフトの金融工学ライブラリ「Qlib」が提唱する158種類のアルファファクター(モメンタム、ボラティリティ、リターン歪度等)を、NumPy / Pandas のみを用いて純粋なPythonで超高速計算。さらに前段に配置したLightGBMメタ決定木が、勝率の低いシグナルを機械的に遮断します。 Google TimesFM による5日先確率ファンチャート: Googleの基底時系列モデル「TimesFM」を統合。単一の点予測ではなく、50%、80%、90%の信頼区間を持った確率的ファンチャートをリアルタイムプロットします。 LangGraphによる「反迎合(Anti-Sycophancy)」7人合議: バフェット、ソロス、バーリ、ウッド、グレアム、オニール、CISの7人の独立エージェントが、互いの意見を見ずに並列で分析。その後、最強の強気派と最強の弱気派が一騎打ちの論戦(クロスディベート)を実施。最高リスク責任者(CRO)は、粉飾リスクやマクロ急変を検知した瞬間に「割当0%(絶対拒否権)」を発動します。 デュアルスピード・アーキテクチャ(Dual-Speed Sentinel): 15分サイクルの「LLM深層合議ループ」とは完全に独立して、10秒周期の「高速番犬センチネルスレッド」が常時並行稼働。急落時はLLMのAPI完了を1秒も待たず、動的ATRフロアに基づいて物理的に即時強制エグジットします。 3D因果ナレッジグラフ & GraphRAG (Neo4j & Graphiti): トレードの事後反省(Reflexion)やSEC 10-Kサプライチェーンの依存関係をNeo4j 3D WebGLグラフに永続蓄積。TSMC → NVIDIA のような地政学的なボトルネック連鎖を多段ホップで追跡します。 3. 世界最大の『awesome-quant』への挑戦とマージまでのドラマ Lumina Capitalを公開後、世界中のクアントコミュニティが最も信頼するバイブルである wilsonfreitas/awesome-quant(⭐️15,000+) に掲載申請(Pull Request #803)を行いました。 厳格な自動テストの洗礼 このリポジトリは、世界中から毎日無数のPRが送られてくるため、CIテスト(Validate PR)が極めて厳格です: URLが現在200 OKで生存しているか セクション内でアルファベット順(A-Z)に正しくソートされているか リスト内で重複していないか マークダウンの記述規約に1ミリのズレもないか ローカルで完全検証した上でPRを提出し、自動CIテストをわずか12秒でオールグリーンで通過しました。 突如発生したマージコンフリクトと、オーナー直々の神対応 しかし、直前で他のPRがマージされたことにより、README.md 上で競合(コンフリクト)が発生してしまいました。 通常、大規模な海外オープンソースでは「コンフリクトを直してプッシュし直せ」と突き放されるか、長期間放置されるのが日常茶飯事です。 ところが、数時間後、awesome-quantのファウンダーである Wilson Freitas 氏本人が直々にPRコメントに登場 しました: "The README merge conflict has been resolved locally, preserving the entries already on main and this PR's reviewed contribution. The resolved additions pass the repository's strict format, URL and duplicate checks." (「READMEのコンフリクトは手元で綺麗に解消したよ。既存のエントリを保持しつつ、今回のPRの貢献内容もしっかり反映した。追加内容はうちの厳格なフォーマット・URL・重複チェックをすべて合格しているよ。」) なんと、オーナー自らが手元でコンフリクトを解消し、コミットを作成してくれたのです。 さらに直後、GitHub APIのレートリミット(403エラー)が発生するトラブルに見舞われましたが、Wilson 氏は制限解除時刻(13:42 UTC)を正確に計算し、自ら再プッシュを実行。 そして日本時間の深夜、公式にプルリクエストが「🟣 Merged」され、Trading & Backtesting 部門への公式掲載が完了しました。 4. マージ後に起きたこと:トラフィック爆発と「Docker Compose」対応 マージされた直後から、GitHubリポジトリの Insights(アナリティクス)に劇的な変化が起きました。 総クローン数: 157回 ➜ 257回へ急増(+100回 / 日) ユニーククローナー: 84人 ➜ 129人へ急増(+45人 / 日) トップリファラー: github.com/wilsonfreitas/awesome-quant および reddit.com からの海外流入が上位を独占。 「環境構築で挫折させない」ためのDocker Compose 1発起動化 海外のエンジニアが流入してきた際、最も避けなければならないのが「Pythonの依存関係やNeo4jのセットアップでエラーが出て離脱されること」です。 そこで、直近のアップデートで Docker Compose(docker compose up)環境 をフル装備しました: docker-compose.yml (抜粋) services: lumina-studio: build: . ports: - "8501:8501" environment: - NEO4J_URI=bolt://neo4j:7687 depends_on: neo4j: condition: service_healthy neo4j: image: neo4j:latest ports: - "7474:7474" - "7687:7687" これにより、世界中のユーザーは以下のわずか2行を実行するだけで、ブラウザ(http://localhost:8501)を開けばアプリ本体も3D因果グラフ(Neo4j)も最初からフル接続された状態でワンクリック起動できるようになりました: git clone ramuza0113-sketch/lumina-ai-hedge-fund cd lumina-ai-hedge-fund cp .env.example .env docker compose up さらに、「Google AI Studioで無料発行できるGemini APIキー1本で全エージェントが動作する(有料API・GPU不要)」 という設計思想も、世界中のローカル開発者から絶大な支持を集める要因となっています。 おわりに:個人の情熱は、海を越えて世界の一流に届く 英語圏の巨大なOSSコミュニティや、何万人ものプロが集まる金融工学の世界に飛び込むのは、最初は勇気がいる挑戦でした。 しかし、 「おもちゃのLLMプロンプト」ではなく「本物の数理・執行リアリズム」を追求すること 「Models reason, software calculates」という明快な工学的規律を守ること コントリビューション規約やCIテストなど、グローバル基準の品質を妥協なく整えること を貫いた結果、世界最大のコミュニティの門番たちがその価値を認め、正式に仲間として迎え入れてくれました。 本プロジェクトは、学術・教育・研究を目的とした完全オープンソース(CC BY-NC 4.0)として公開を続けています。 ぜひローカルやDockerで動かしてみて、コードの検証やフィードバックをいただけると嬉しいです。 もし本プロジェクトの設計思想やコードに少しでも共感していただけましたら、GitHubリポジトリへの ⭐️ Star(スター) で応援していただけると、今後の開発の大きな励みになります! 🏛️ GitHub リポジトリ: ramuza0113-sketch/lumina-ai-hedge-fund 🐦 X (Twitter): @prompter_note 🌐 公式ブログ: prompter-note.com 📰 Qiita 第一弾記事: LangGraphとQlibで作る自律型AIヘッジファンドの設計思想

  7. Qiita · · @ramuza0113

    LangGraphとQlib Alpha158、Google TimesFMで作る「自律型AIヘッジファンド」をOSS公開した話 はじめに:なぜ既存の「AI投資bot」は実戦で勝てないのか? > 🏆 【祝・公式採択】世界最大のクアント投資リソース集「awesome-quant(⭐️ 15,000+)」に正式マージされました! > 厳格な数理・フォーマット審査を経て、世界のトップクアントプロジェクトとしてTrading & Backtesting部門に掲載されています。 ここ数ヶ月、GitHub上では virattt/ai-hedge-fund(6.3万スター)や TradingAgents(4.4万スター)といった、LLMマルチエージェントを活用したAIヘッジファンドのオープンソースが世界的な熱狂を巻き起こしています。 しかし、これらのプロジェクトのコードを詳細に読み解き、実際に動かしてみると、ある決定的な壁(Execution Realismの断絶)に直面します: 1. 「推論」と「計算」が混同されている LLMにチャートの数値やファンダメンタルズ指標をそのまま読ませて直接「買い/売り」を判断させているため、ハルシネーション(もっともらしい嘘)や計算ミスが頻発する。 2. 手数料・スリッページ・流動性の無視 バックテストでは勝てているように見えても、実際の市場摩擦(往復手数料、板スプレッドの不利約定)を引いた瞬間に利益が吹き飛ぶ。 3. 急落時の防衛機構(セーフティネット)の欠如 LLMが長文で思考・議論している数分間の間に相場が急変した場合、損切りが間に合わず即死する。 こうした既存の課題を工学的に克服し、「非構造化データのLLM合議」と「決定論的な数理クオンツ計算」を完全分離・統合した自律型AIヘッジファンドエンジン『Lumina Capital (v6.0)』 をゼロから開発しました。 本日、個人開発者や研究者がローカルで動かして検証できるよう、GitHubにてオープンソース(CC BY-NC 4.0)として公開しました。 🔗 GitHubリポジトリ: ramuza0113-sketch/lumina-ai-hedge-fund --- flowchart TD subgraph DataLayer ["1. マルチモーダル市場データ層"] A1["リアルタイム株価 (東証 / 米国株 / yfinance)"] A2["マクロ流動性・イールドカーブ (FRED)"] A3["SEC EDGAR 10-K & 企業ニュース"] end subgraph QuantLayer ["2. 決定論的数理クオンツ・時系列AI"] B1["Microsoft Qlib Alpha158 (Native Python完全再現)"] B2["Google TimesFM 5日先時系列ファンチャート予測"] B3["LightGBM メタ決定木フィルター (勝率ゲートキーパー)"] end subgraph DebateLayer ["3. LangGraph 自律型投資合議エンジン"] C1["7人の伝説投資家ペルソナによる完全独立並列推論"] C2["最強Bull vs 最強Bear の敵対的クロスディベート"] C3["CRO (最高リスク管理責任者) の絶対拒否権"] end subgraph ExecutionLayer ["4. デュアルスピード執行 & 暴落防壁"] D1["深層熟慮ループ (15分間隔)"] D2["10秒高速番犬センチネル (動的ATR損切り呼吸床)"] D3["高精度ペーパートレード (手数料・スリッページ強制控除)"] end subgraph MemoryLayer ["5. 自己進化 3Dナレッジグラフ"] E1["Neo4j 因果エピソード記憶 (Reflexion)"] E2["GraphRAG サプライチェーン地政学チョークポイント走査"] end DataLayer --> QuantLayer DataLayer --> DebateLayer QuantLayer --> DebateLayer DebateLayer --> ExecutionLayer ExecutionLayer --> MemoryLayer MemoryLayer -.-> DebateLayer --- コア技術のブレイクダウン 1. LangGraphによる「反迎合(Anti-Sycophancy)」マルチエージェント合議 LLMを対話させると、先行する意見や強い意見に他のエージェントが同調してしまう「迎合バイアス」が致命的になります。 本システムでは、以下の2段階アプローチをステートマシンとして厳格に分離しています: - フェーズ1(完全独立並列推論): ウォーレン・バフェット、ジョージ・ソロス、マイケル・バーリ、キャシー・ウッド、ベンジャミン・グレアム、ウィリアム・オニール、CISの7名が、他の意見を遮断された状態で個別に分析を実施。 - フェーズ2(事実直結型クロスディベート): 最高評価の「最強Bull」と最低評価の「最強Bear」を対決させ、一次データ(決算書や指標)のみを論拠とした討論を強制。 - CROの絶対拒否権: どんなに合議スコアが高くても、リスク管理責任者(CRO)がテールリスクや不正会計を検知すれば割当0%に強制ロック。 2. Microsoft Qlib「Alpha158」のNative Python完全ベクトル化 Microsoft Researchが開発したクオンツ投資フレームワーク「Qlib」の中核であるAlpha158数理ファクター(ローリングボラティリティ、モメンタム、価格スプレッド等)を、重厚なC++コンパイルに依存せず、pure pandas/numpyで高速に完全再現しました。 これをLightGBMのメタ決定木に通すことで、ダマシのブレイクアウトを機械的に排除しています。 3. Google TimesFM による時系列確率ファンチャート Google Researchの時系列基盤モデル「TimesFM」を統合し、過去株価のコンテキストから5日先までの価格パス、80%信頼区間、急落確率を定量的に算出します。 4. デュアルスピード・アーキテクチャ(10秒番犬センチネル) 「15分間隔の重いLLM合議スレッド」とは完全に独立して、「10秒間隔の超高速番犬センチネルスレッド」をマルチスレッドで常時監視させています。 ボラティリティに連動した「動的ATR呼吸床」と「フィボナッチ最適値 -13.0%ライン」を秒単位で物理監視し、市場急落時にはLLMのAPI呼び出しを待たずに即時強制決済を執行します。 5. Neo4jとGraphitiによる「3Dナレッジグラフ & GraphRAG」 過去の合議やトレードの勝因・敗因をNeo4jの3D空間に因果グラフとして永続化。さらにSECの10-Kからサプライチェーン依存関係(例: ASML ➔ TSMC ➔ NVIDIA)を自動抽出し、上流供給網の障害リスクを走査します。 --- クイックスタート(1分で起動) Python 3.10以上の環境があれば、数コマンドでローカル起動できます。 # 1. クローン git clone https://github.com/ramuza0113-sketch/lumina-ai-hedge-fund.git cd lumina-ai-hedge-fund # 2. 依存パッケージのインストール pip install -r requirements.txt # 3. ダッシュボード起動 streamlit run app.py ブラウザで http://localhost:8501 を開くと、リアルタイム市場データを用いた自律型AI投資スタジオが立ち上がります。 --- おわりに & コミュニティ 本プロジェクトは、学術・教育・研究用フレームワークとして公開しています(CC BY-NC 4.0)。 「個人利用やシミュレーションは完全無料」ですので、ぜひフォークやコードの検証、GitHubでのフィードバックをお待ちしております! もし面白いと感じていただけたら、GitHubでの Star(⭐) を押していただけると大変励みになります! - 🏛️ GitHub: ramuza0113-sketch/lumina-ai-hedge-fund - 🐦 X (Twitter): x.com - 🌐 公式ブログ: prompter-note.com - 📰 note: note.com - 💬 公式LINE: lin.ee

Latest stargazers

The last 10 distinct accounts we observed this year.

Most active participants

PR, issue, comment & review events in the past year.

Packages

1
PackageVersionDownloads · 30dTrend · 30d
———

README badges

Embed a badge in your README or website.

Live mentions · last 30 days
wilsonfreitas/awesome-quant mentions in the last 30 days