系統架構
MI-OS 璇璣是一套量化投資 + 銀行授信情報平台,整合總經制度判斷、多層評分、供應鏈傳導分析及自動化報告產出。
核心引擎
| 引擎 | 輸出 | 範圍 | 說明 |
| 評分引擎 (xj_scan) | 綜合分數 | 0-100 | 六層架構:L0 制度閘門 → L5 集團綜效 |
| 信用風險 (CRS) | 信用風險分數 | 0-100 | ICR+槓桿+流動比+CCC+AltmanZ |
| 財務模型 (xj_model) | ROIC/WACC/DCF | 各異 | 11 階段建模,含 GSheet 模板 |
| 供應鏈量化 (sc_quant) | SC 風險分數 | 0-100 | 集中度+營運資金+傳導模擬 |
| 導航矩陣 (nav_matrix) | 品質 vs 估值 | 0-100 | 四象限:GOLDEN/PERFECTION/VALUE_TRAP/BUBBLE |
| 總經制度 (macro_regime) | 4 種狀態 | G/R/D/S | GOLDILOCKS/REFLATION/DISINFLATION/STAGFLATION |
決策階層
總經制度 → 評分(L0-L5) → 象限分配 → 投組行動 → 信用風險 → 供應鏈風險
核心原則:分數 > LLM 判斷。綜合分數 28 = AVOID,絕不覆寫。
資料更新頻率
| 資料類型 | 頻率 | 觸發方式 |
| 新聞情報 | 每日 3 班(07:00/11:00/17:00 TPE) | cron_news.sh |
| 評分 + 全管線 | 每月(第一個週六 09:00) | cron_rescore.sh(18 步驟) |
| 報告 | 事件驅動 / 手動觸發 | GitHub Actions |
| FinMind 台股資料 | 隨管線更新 | 600 req/hr 免費額度 |
評分引擎 v4.3+(六層架構)
綜合分數 = L1(0-60) + L2(0-25) + L3(0-15) + L4(0 to -25) + L5(-5 to +5)
L0:總經制度閘門
根據當前總經制度(G/R/D/S)設定 L1 分數上限。STAGFLATION 時 L1 上限為 45,限制高分出現。
L1:成長型態(0-60 分)
| 因子 | 權重 | 說明 |
| 營收成長率 (rev_g) | 35% | 取 min(trailing, forward),上限 35% |
| 毛利率 (gm) | 25% | 絕對水平 + 趨勢 |
| 營業利益率 (op_margin) | 20% | 獲利能力核心 |
| 自由現金流 (fcf_yield) | 20% | 現金產出能力 |
L2:產業定位(0-25 分)
依產業模板(SaaS/Semi/Manufacturing 等)套用不同 KPI 權重。
L3:模組權重(0-15 分)
依產業景氣循環調整模組加權。
L4:懲罰項(0 到 -25 分)
| 代碼 | 懲罰 | 觸發條件 |
| F1 | -5 | 營收成長 < -10% |
| F2 | -5 | 毛利率 < 20% |
| F3 | -8 | FCF 連續為負 |
| F14 | -5~-10 | 內部人大量拋售(Insider Exodus) |
(共 12 個 F-pattern:F1-F12,外加 F14 Insider)
L5:集團綜效分數 GSS(-5 到 +5)
基於 supply_chain.json 群組定義,計算 S+C+T 三因子。
象限分配
| 象限 | 條件 | 建議行動 |
| PRIORITY | 分數 >= 50 | 高信心配置 |
| PHASE2 | 分數 >= 25 | 觀察名單 |
| AVOID | 分數 < 10 / URF | 立即出場 |
注意:EXIT > Selection。季度重新評分,不戀棧。
信用風險評分 (CRS)
CRS 引擎為銀行授信評估設計,整合五大財務安全指標。
CRS = ICR(25%) + 槓桿(25%) + 流動比(20%) + CCC(15%) + AltmanZ(15%)
ICR = EBIT / 利息費用
槓桿 = 相對於 Damodaran 產業 D/E 基準
CCC = 應收天數 + 存貨天數 - 應付天數
各因子說明
| 因子 | 權重 | 資料來源 |
| 利息覆蓋率 (ICR) | 25% | IS: EBIT, 利息費用 |
| 槓桿比率 | 25% | BS: 負債/權益 vs Damodaran 產業基準 |
| 流動比率 (CR) | 20% | BS: 流動資產/流動負債 |
| 現金轉換循環 (CCC) | 15% | BS+IS: 依產業調整基準 |
| Altman Z-Score | 15% | 綜合 5 因子破產預測 |
信用等級
| 等級 | 分數範圍 | 建議行動 |
| A | >= 70 | 利率優惠 |
| B | 50-69 | 季度追蹤 |
| C | 35-49 | 加強監控 |
| D | < 35 | 限制曝險 |
CCC 基準依產業調整:半導體 90 天、SaaS 30 天、製造 120 天等。
財務模型 (xj_model)
11 階段建模流程,從財報資料到估值輸出。
關鍵指標
| 指標 | 公式 | 用途 |
| ROIC | NOPAT / 投入資本 | 資本效率核心 |
| WACC | Ke*E/(D+E) + Kd*(1-t)*D/(D+E) | 折現率(D/E 用 Damodaran 產業基準) |
| EVA | (ROIC - WACC) * 投入資本 | 經濟附加價值 |
| DCF | FCF 1~5 折現 + 終值 | 內在價值估算 |
| 品質分數 | CES(30%) + ROIC穩定性(25%) + FCF品質(25%) + 治理(20%) | 定性量化 |
CES(資本效率分數)
CES = ROIC_spread(40%) + FCF_margin(30%) + 資產周轉(30%)
ROIC_spread = ROIC - WACC
WACC D/E 權重:優先用 Damodaran 產業基準 → BS 實際值 → 無負債 → 預設值。
供應鏈量化引擎 (sc_quant)
四步驟管線:邊權量化 → 節點脆弱度 → 傳導模擬 → 決策基準。
SC 風險分數(五因子模型)
SC_Risk = 上游集中度(25%) + 下游集中度(20%) + 營運資金壓力(20%) + 毛利風險(15%) + 傳導曝險(20%)
傳導模擬:BFS 廣度優先搜尋,50%/跳 衰減,最多 3 跳
各因子計算方式
| 因子 | 權重 | 計算邏輯 |
| 上游集中度 | 25% | HHI(供應商營收佔比平方和) |
| 下游集中度 | 20% | HHI(客戶營收佔比平方和) |
| 營運資金壓力 | 20% | CCC / 產業基準 CCC |
| 毛利風險 | 15% | 100 - GM%(毛利率越低風險越高) |
| 傳導曝險 | 20% | Monte Carlo 模擬傳導損失 |
Portfolio SC VaR
VaR = sum(weight_i * sc_risk_i * contagion_factor_i) / sum(weight_i)
衡量投組整體供應鏈風險暴露,>15% 為警戒水位。
行動矩陣
| 行動 | 觸發條件 | 說明 |
| EXIT | SC Risk >= 70 且 Score < 50 | 供應鏈高風險 + 基本面不佳 |
| REDUCE | SC Risk >= 60 | 供應鏈風險升高 |
| HOLD | 中間地帶 | 持續觀察 |
| ADD | SC Risk < 30 且 Score >= 60 | 供應鏈安全 + 基本面佳 |
導航矩陣 (Navigation Matrix)
X 軸衡量企業品質,Y 軸衡量估值水位。四象限指引投資決策。
X 軸:品質分數
X = EVA(20%) + ROIC-WACC 利差(30%) + 品質分數(25%) + PLC 生命週期(25%)
Y 軸:估值分數
Y = FwdPE vs 產業(33%) + 成長落差(33%) + 反身性(33%)
四象限判讀
| 象限 | X / Y | 建議行動 | 含義 |
| GOLDEN | X>=60, Y<50 | 買入 | 高品質、低估值 |
| PERFECTION | X>=60, Y>=50 | 持有 | 高品質、高估值(priced for perfection) |
| VALUE_TRAP | X<60, Y<50 | 迴避 | 低品質、低估值(價值陷阱) |
| BUBBLE | X<60, Y>=50 | 放空 | 低品質、高估值(泡沫) |
注意:VALUE_TRAP 是最危險象限,看似便宜但品質不佳。
資料管線架構
每日新聞管線 (cron_news.sh)
RSS 30+→
Gmail→
N1 去重→
N2-N3 相關性→
N4-N6 Gemini 標註→
情報報告
月度重新評分 (cron_rescore.sh)
DataStore→
GIS→
P1 掃描→
P2 LLM→
出場→
領先指標→
RAG / 校準
共 18 個步驟,涵蓋資料擷取、評分、LLM 篩選、出場判斷、領先指標、總經、地圖同步、預測結算、RAG 匯入、校準、圖分析、SC 清理。
報告產出管線
| 報告類型 | 模型 | 執行方式 | 章節數 |
| Deep V3(深度研究) | Claude Sonnet 4.6 | GitHub Actions | 8 章 + 附錄 A-O |
| BOS V3(授信分析) | Claude Sonnet 4.6 | GitHub Actions | 8 章 + 附錄 A-K |
| Industry V3(產業研究) | Claude Sonnet 4.6 | GitHub Actions | 10 章 |
| Macro-Political(總經地緣) | Claude Sonnet 4.6 | GitHub Actions | 8 節 |
規則:S 級報告走 Claude.ai Opus 手動,A/B 級走 API Sonnet。分析報告一律禁用 Gemini。
資料來源對照
| 來源 | 覆蓋範圍 | 更新頻率 |
| yfinance | 美股、前瞻估計 | 即時 |
| FinMind | 台股(財報/月營收/法人/股利) | 600 req/hr |
| SEC EDGAR | Form 4 內部人交易 / 13F 持倉 | 事件驅動 |
| Damodaran | 產業基準(WACC/D-E/利潤率) | 年度 |
| Google Trends | 搜尋熱度(參考用) | 隨需 |
報告生成架構
MI-OS 產出 4 種標準化報告,每種報告由 Claude Sonnet 4.6 逐章生成(禁用 Gemini),經品質閘門驗證後發布。
報告類型與章節規格
| 類型 | 用途 | 章節 | 模型 | 字數 | 執行 |
| Deep V4.3 | 個股深度研究 | A-J (12 sections) | Claude Sonnet 4.6 | 2000-2800 | GitHub Actions |
| BOS V2.0 | 銀行授信分析(綜合評述書) | 一~九 + 附錄 (12 sections) | Claude Sonnet 4.6 | 1800-2500 | GitHub Actions |
| Industry V3 | 產業研究報告 | 10 章 | Claude Sonnet 4.6 | 3000+ | GitHub Actions |
| Macro-Political | 總經地緣政治 | 8 節 (6 LLM + 2 Python) | Claude Sonnet 4.6 | 2500+ | GitHub Actions |
規則:S 級報告走 Claude.ai Opus 手動,A/B 級走 API Sonnet。分析報告一律繁體中文。
Deep V4.3 章節規格
| Section | 標題 | 目標字數 | 注入數據 |
| A | FRONT PAGE(決策頁) | 100-150 | price, consensus, peer |
| B | BUSINESS(商業模式 + 護城河) | 600-900 | SC, news, macro, insider, RAG |
| B2 | COST STRUCTURE(成本結構) | 250-350 | Damodaran margins, BOM |
| B3 | PROFIT POOL(利潤池分析) | 200-300 | Value chain, sector data |
| C | FINANCIAL MODEL(財務模型) | 300-400 | financials, monthly_rev, earnings |
| D | VALUATION(估值) | 200-300 | consensus, DCF, peer financials |
| E | SCORING ENGINE(璇璣評分) | 表格 | GIS history |
| F | SUPPLY CHAIN + RISKS | 350-500 | SC, news, CC signals, earnings credibility |
| G | PEER COMPARISON(同業比較) | 250-350 | peer financials, history |
| H | ACTION(交易決策) | 100-150 | price, DCF, GIS, earnings credibility |
| I | CREDIT OVERLAY(授信交叉) | 50 | financials |
| J | APPENDIX(附錄 A-O) | Python 生成 | 全部彙整 |
| VIC | 虛擬投資委員會辯論 | Multi-Agent | 全部數據 |
BOS V2.0 章節規格
| Section | 標題 | 目標字數 |
| 一 | 封面 + 授信判斷摘要 | 150 |
| 二-1 | 公司沿革及經營層 | 400-500 |
| 二-2 | 產品及營運概況 | 200 |
| 二-2b | 成本結構與利潤分析 | 200-300 |
| 二-3 | 財務狀況(7 項子分析) | 600-800 |
| 三+四 | 接單展望 + 產業現況 + 法說會可信度 | 300-400 |
| 五 | 同業比較 | 150 |
| 六 | 商機評估(BOS) | 250 |
| 七 | 跨境暨稅務分析 | 100 |
| 八 | 授信條件 + CRS + 監控 | 100 |
| 九 | 綜合授信建議 | 200-250 |
| 附錄 | 附錄 J1-J5 + VIC 辯論 | Python 生成 |
4 階段生成管線
Phase 1: 資料組裝→
Phase 2: 逐章 LLM→
Phase 3: 品質閘門→
Phase 4: 持久化
- Phase 1:載入 universe、scan、SC edges、CRS →
_load_enriched_context() 19+ sub-loaders
- Phase 2:逐章送 Claude Sonnet,每章注入 2-4 個相關數據源(
_build_chapter_data_block())
- Phase 3:品質閘門 + VIC 辯論 + 驗證迴圈(auto-retry failed chapters)
- Phase 4:存檔 + cache + manifest + Notion push(structured data + credibility score)
LLM System Prompt 核心規則
角色:J.P. Morgan / Goldman Sachs 資深分析師
語言:繁體中文(專有名詞保留英文)
Tier 標注:A=自動抓取 | B=計算衍生 | C=LLM推估 | D=付費API | E=不可得
反幻覺:引用 CONTEXT 中實際數字,不可自創數據
品質要求:每章 2-3 子章節 + markdown 表格
Score 鐵律:Score 28 = AVOID,禁止寫「基本面看好」
EXIT Triggers:每報告 >=5 個量化門檻
Bull/Base/Bear:機率權重 + 加權期望報酬
Enriched Context(19+ Sub-loaders)
| 來源 | 內容 | 注入章節 |
financials_quarterly | 近 6 季財務數據 | C, I |
financial_snapshot | TTM + 衍生指標 | C, D, H, I |
sc_edges | 上游/下游 SC 關係 | B, F |
macro | Regime + SFI + 領先指標 | B, F |
news | 近 3 日情報 | B, F |
earnings | 最新法說會摘要 | C |
consensus | 分析師目標價 + 評級 | A, D, G, H |
dcf | DCF Bear/Base/Bull | D, H |
gis_history | Guidance Integrity 趨勢 | E, H |
peer_financials | 同業財務比較 | A, D, G |
earnings_credibility | 法說會交叉驗證結果 | F, H |
rag_context | RAG 歷史類比 | B, F |
insider_trades | 內部人交易 | B |
research_intel | 產業研究情報 | B, F |
Multi-Agent 策略引擎
MI-OS 內建兩套 Multi-Agent 分析引擎,使用 Gemini 2.5 Pro 驅動,自動整合至報告生成管線。
策略一:VIC 虛擬投資委員會
三位性格迥異的分析師針對單一標的進行多空辯論,由 PM 做最終裁決。
| Agent | 角色 | 數據來源 | 偏好 |
| Agent A | 價值分析師 | DCF, CRS, ROIC, PEG, 估值倍數 | 估值便宜才買 |
| Agent B | 動能分析師 | Score, E1 出場訊號, L2 板塊輪動, GIS | 趨勢向上就追 |
| Agent C | 風控總監 | Contagion, Macro Regime, CC Signals, SC | 偏執找風險 |
| Agent D | PM 基金經理 | A+B+C 的 JSON 輸出 | 權衡三方,風控優先 |
VIC 運作機制
Phase 1: A/B/C 平行→
Phase 2: D 彙整→
Verdict + 配置權重
- 並行:3 個 Agent 透過
ThreadPoolExecutor 同時送 Gemini 2.5 Pro
- 串行:PM 接收 3 份 JSON,產出最終判決
- 輸出:
STRONG_BUY / BUY / HOLD / REDUCE / SELL + 配置權重 0-100%
- 整合:自動附加在 Deep V4.3 / BOS V2.0 報告的附錄後方
VIC 輸出格式
Agent 輸出 JSON:
{"stance": "BULL|BEAR|NEUTRAL", "confidence": 0-100, "key_points": ["理由1", "理由2"]}
PM 輸出 JSON:
{"verdict": "STRONG_BUY|BUY|HOLD|REDUCE|SELL",
"allocation_weight": 0-100,
"rationale": "判決理由",
"dissent_summary": "三方分歧"}
VIC 判決權重指引
| 判決 | 條件 | 配置權重 |
| STRONG_BUY | 三方偏多 + 低風險 | 5-10% |
| BUY | 兩方偏多 | 3-5% |
| HOLD | 意見分歧 | 1-3% |
| REDUCE | 兩方偏空 | 0-1% |
| SELL | 三方偏空 | 0% |
使用方式:python scripts/vic_engine.py --ticker NVDA 或報告生成時自動觸發。
策略二:法說會交叉驗證(Earnings Verifier)
比對管理層法說會聲明與供應鏈上下游的實際動態,偵測邏輯矛盾。
| Agent | 角色 | 數據來源 | 任務 |
| Agent A | 聲明提取器 | earnings JSON (guidance, tone, commitments) | 提取可驗證的管理層承諾 |
| Agent B | SC 證據蒐集 | RAG news_archive x 上下游 6 個 ticker | 搜尋 capex/訂單/庫存訊號 |
| Agent C | 測謊裁決官 | Agent A + B 的 JSON | 交叉比對 → 可信度 0-100 |
Earnings Verifier 運作機制
Phase 1: A+B 平行→
Phase 2: C 交叉比對→
Credibility Score
- Agent A:從 earnings JSON 提取具體指引(如「下半年營收成長 15%」)
- Agent B:查 RAG 上下游 ticker 的近期新聞,判斷佐證或矛盾
- Agent C:比對 → 產出 conflicts[] + confirmations[] + red_flags[]
- 整合:結果注入報告 Section F(風險)和 Section H(交易決策)
- Notion:credibility_score 自動推送至 Ticker Profile DB
可信度等級
| 分數 | 等級 | 含義 | 行動 |
| 80-100 | HIGH | 聲明有供應鏈佐證 | 信任管理層指引 |
| 60-79 | MEDIUM | 部分佐證,無重大矛盾 | 正常使用 |
| 40-59 | LOW | 存在明顯矛盾 | 折扣管理層指引 |
| 0-39 | CRITICAL | 嚴重背離 | 啟動 E1 防禦性平倉評估 |
紅旗範例:CEO 說訂單展望極佳,但三大客戶都在砍 capex → CRITICAL → 自動觸發 E1 審查。
成本估算
| 功能 | Gemini Calls | 成本/ticker |
| VIC 辯論 | 4 calls (3 agents + 1 PM) | ~$0.04 |
| 法說會驗證 | 3 calls (2 agents + 1 verdict) | ~$0.03 |
| 合計 | 7 calls | ~$0.07 |
使用方式:python scripts/earnings_verifier.py --ticker 2330.TW 或報告生成時自動觸發(有 earnings 數據才啟動)。
頁面功能說明
| 頁面 | 功能 | 主要資料 | 使用頻率 | 操作提示 |
| Dashboard(本頁) | 決策摘要 + 警示 + 傳導路徑 | scan + portfolio + macro + sc_quant | 每日 | 先看警示橫幅,再看三張卡片 |
| Industry Map | 產業地圖(X=品質, Y=估值) | nav_matrix + scan | 每週 | 點擊節點查看詳情,拖曳縮放 |
| Scoring | 全宇宙評分排行 + 5 層評分 | scan.json (189 tickers) | 每週 | 象限篩選 + 表頭排序 + Export PPTX |
| Portfolio | 持倉監控 + SFI 倉位管理 + EXIT 警報 | portfolio + paper_trade | 每日 | SFI → EXIT → 評分變化 → SC Risk |
| Macro | 總經制度 + 6因子衰退機率 + 4路徑 | macro + leading + daily_market | 每日 | Regime 顏色 → OS 態勢 → 指標異動 |
| Supply Chain | SC 傳導圖 + 情境衝擊模擬 + VaR | supply_chain + sc_quant + scenarios | 事件觸發 | 選情境 → 看傳播路徑 → 持倉暴露 |
| Reports | 4 種研究報告索引 + Viewer | reports_index + markdown files | 按需 | Tab 篩選 → 搜尋 → 開啟 Viewer |
| Predictions | 預測追蹤 + 命中率校準 | predictions.json | 每月 | 關注 OPEN 預測 + 校準度趨勢 |
| News | 3 班次自動化情報 + OS Signal | news + daily_market | 每日 3 次 | T1 立即處理 | OS Delta 判轉折 |
| Knowledge | RAG 知識庫查詢(7 collections) | ChromaDB | 按需 | 輸入關鍵字搜尋歷史知識 |
| Law | 司法裁判 + 律師國考資料庫 | judicial_fetcher + law data | 按需 | 搜尋爭點 + 考古題 |
每日工作流:Dashboard(2分鐘) → Macro(1分鐘) → Portfolio(2分鐘) → News(5分鐘) → 有異常才進 SC/Scoring 深入研究
綜合判讀指南
評分 + 供應鏈風險 交叉矩陣
| 分數 >= 60 | 分數 40-59 | 分數 < 40 |
| SC < 30 | 加碼 (ADD) | 持有 | 減碼 |
| SC 30-59 | 持有 | 持有 | 減碼 |
| SC >= 60 | 減碼 | 減碼 | 出場 (EXIT) |
總經制度判讀
| 制度 | 特徵 | 策略 |
| GOLDILOCKS | 低通膨 + 經濟擴張 | 風險偏好,偏重成長股 |
| REFLATION | 政策刺激 + 復甦 | 景氣循環股,短存續期 |
| DISINFLATION | 通縮壓力 | 防禦型,長存續期 |
| STAGFLATION | 高通膨 + 低成長 | 風險趨避,L1 上限 45 |
CRS + 評分 授信判讀
| CRS A (>=70) | CRS B (50-69) | CRS C (<50) |
| 分數 >= 50 | 優質授信標的 | 正常授信 | 留意財務結構 |
| 分數 < 50 | 基本面弱但財務安全 | 加強監控 | 限制曝險 |
Dashboard 各區塊說明
- 警示橫幅(最上方):紅色 = AI 衝擊警報 / 橙色 = EXIT 警報 / 綠色 = 系統正常
- 三張影響卡片:SC VaR(供應鏈壓力)、高風險持倉數、總經制度
- 高風險曝險列表:SC Risk > 40 的持倉,按風險排序
- Alpha 建議:EXIT 對沖 + PRIORITY 未持有標的
- 傳導路徑:情境 → 持倉的供應鏈傳導路線(最多 3 跳)
- 系統重要性:複合指標(35%中介中心性 + 25%加權連線 + 25%傳染暴露 + 15%持倉重疊)前 5 瓶頸
使用建議:每日先看警示橫幅 → 三張卡片 → 高風險列表。有 EXIT 就立即處理。