kaecer68

atlas-risk-management

"Use when modifying risk gates, VaR calculation, drawdown management, or self-calibration logic. Triggers: risk threshold changes, pre-trade/post-trade checks, portfolio risk, RiskGate modifications."

kaecer68 1 Updated 4mo ago
GitHub

Install

npx skillscat add kaecer68/atlas-go/atlas-risk-management

Install via the SkillsCat registry.

SKILL.md

實作狀態:✅ 核心已實作 — 四層風險架構(pre-trade/in-trade/post-trade/portfolio)全數完工,含宏觀感知回撤與自主校準
最後審計:2026-06-02
實際檔案結構:macro_aware_drawdown.go(回撤核心)、gate.go(風險閘門)、self_calibrate.go(自主校準)、pre_trade.go/post_trade.go(交易前後檢查)、var_calculator.go(VaR)、portfolio_risk.go(投組風險)

描述

動態風險管理系統 — 基於宏觀環境與結構性趨勢動態調整投資組合風險暴露,保護資本。


核心哲學

「台股2020-2026年上漲155%,關鍵不是『不虧損』,而是『在對的時候承擔對的風險』」

  • 2022年俄烏戰爭:應該大幅回撤(系統性風險)
  • 2024年外資大賣超:不應回撤(AI結構性趨勢戰勝宏觀)
  • 2026年美伊戰爭:應該切換至能源股(產業輪動,非現金為王)

三層決策架構

第一層:宏觀風險評估(Macro Risk Assessment)

輸入:六大維度(美元、美債、日圓、匯率、商品、地緣政治)
輸出:MacroRiskLevel(綠/黃/橙/紅)+ CapitalFlowDirection

風險等級 觸發條件 外資出逃機率 歷史案例
綠色 無重大風險信號 <20% 2023年(AI啟動+降息預期)
黃色 單一風險信號 20-50% 2024年(美元高利率但AI強勁)
橙色 雙重風險信號 50-80% 2025/4(川普關稅威脅)
紅色 系統性風險 >80% 2022/2(俄烏+升息)、2024/8(Carry Trade unwind)

第二層:結構性趨勢評估(Structural Trend Assessment)

核心問題:當前是否有強到足以戰勝宏觀逆風的產業趨勢?

豁免條件:

IF MacroRiskLevel = Yellow/Orange
   AND 台積電營收YoY > 50%
   AND AI資本支出預期上調(CSP廠商上修CapEx)
   AND 內資承接力道強(投信買超 > 外資賣超):
    
    StructuralOverride = true
    行動 = 維持核心AI持倉,僅降低邊際倉位
    歷史驗證 = 2024年(外資賣超6951億,台股漲28%)

第三層:動態回撤執行(Dynamic Drawdown Execution)

決策矩陣:

宏觀風險 結構性趨勢 決策 單檔上限 現金目標 行動
綠色 強 HOLD 22% 8% 維持正常策略
黃色 強 REDUCE 15% 15% 降低邊際倉位,保留核心
黃色 弱 ROTATE 15% 20% 切換至防禦/受益板塊
橙色 強 REDUCE 12% 25% 顯著降倉,但保留核心
橙色 弱 ROTATE 10% 30% 大幅切換至防禦
紅色 任何 LIQUIDATE 0% 50%+ 強制清倉或極低倉位

情境化案例

情境A:系統性風險(2022年俄烏戰爭重現)

宏觀信號:歐洲戰爭+油價暴漲+黃金大漲+Fed激進升息+10Y-2Y倒掛
推導:MacroRiskLevel = RED,StructuralOverride = false
決策:LIQUIDATE,現金70%,全面清倉

情境B:結構性趨勢戰勝宏觀(2024年實況)

宏觀信號:美元高利率+外資大賣超+地緣政治緊張
結構性信號:台積電營收YoY +40%+AI資本支出超預期+內資強力承接
推導:MacroRiskLevel = YELLOW,StructuralOverride = true
決策:REDUCE,單檔18%,現金12%,保留核心AI持倉

情境C:產業輪動(2026年美伊戰爭)

宏觀信號:中東戰爭+油價暴漲+黃金不漲反跌
推導:MacroRiskLevel = ORANGE,PrimaryFlow = "sector_rotation"
決策:ROTATE,單檔15%,現金20%,切換至能源/航運/替代能源


與宏觀敘事的整合

每日開盤前:
1. MacroIngestor讀取數據 → 計算外資出逃機率
2. 若機率 > 70%:
   a. 檢查是否有結構性豁免條件(AI營收超預期)
   b. 若無豁免:調降倉位上限,增加現金保留
3. NarrativeEngine推導資金流向 → 調整板塊配置
4. DrawdownGuard根據宏觀風險等級調整回撤閾值

關鍵檔案

檔案 職責
internal/risk/macro_aware_drawdown.go 回撤防護核心 + 宏觀感知回撤決策器
internal/risk/gate.go 風險閘門(RiskGate)— 交易前校準與擋單
internal/risk/self_calibrate.go 自主校準(Bayesian threshold tuning)
internal/risk/pre_trade.go 交易前檢查(倉位上限、現金緩衝)
internal/risk/post_trade.go 交易後風險核驗
internal/risk/var_calculator.go VaR 計算(歷史模擬法)
internal/risk/portfolio_risk.go 投資組合層級風險聚合
internal/risk/capital_controller.go 資金控管與曝險上限
internal/risk/industry_risk.go 產業集中度風險
internal/portfolio/sector_rotator.go 產業輪動執行器
internal/portfolio/sizing.go 動態倉位調整(Kelly-based)
internal/monitoring/service/drift_detector.go Wave 9 — 部位集中度 / turnover / target weights drift 偵測
internal/baseline/trigger.go Wave 9 — baseline policy StopLoss / TakeProfit / MaxHoldingDays 執行期評估
internal/monitoring/wave9_runtime.go Wave 9 — 5 個觀測器協調器(含 DriftDetector 與 regime debouncer)

Wave 9 觀測性整合

Wave 9 新增以下與風險管理直接相關的執行期訊號,風險相關變更應一併考量:

  • EventDriftDetected(internal/monitoring/service/drift_detector.go)
    • 觸發條件:單一持倉集中度 > 25%、5 分鐘 turnover > 15%、或 v2 target weights drift > 10%。
    • 風險意義:Portfolio 層級的結構性風險;可搭配 BaselineTrigger 的停損/停利進行人工審查。
  • BaselineTrigger(internal/baseline/trigger.go)
    • 訂閱 EventPositionUpdate,對每個部位評估 Constraints.StopLossPct、TakeProfitPct、MaxHoldingDays。
    • 與 internal/sim/engine.go 使用相同的正數幅度語意。
    • 目前只產生 structured log,不自動下單;未來若擴展為自動平倉,需審慎設計閘門與人工覆寫。
  • EventRegimeChangeConfirmed(internal/monitoring/service/regime_debouncer.go)
    • regime 穩定 30 秒後發布,下游 FactorWeightRegressionDetector 與 DriftDetector 會據此調整權重或 re-baseline。

技能版本: 2.1
最後更新: 2026-06-25