home / skills / psh355q-ui / szdi57465yt / risk-agent

risk-agent skill

/backend/ai/skills/war-room/risk-agent

npx playbooks add skill psh355q-ui/szdi57465yt --skill risk-agent

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
6.3 KB
---
name: risk-agent
description: Risk management and constitutional compliance specialist. Ensures all trading decisions comply with constitutional limits and manages portfolio risk. Integrates Constitution Article 4 (Risk Management).
license: Proprietary
compatibility: Requires Constitution module, portfolio data, VIX data
metadata:
  author: ai-trading-system
  version: "1.0"
  category: war-room
  agent_role: risk_manager
---

# Risk Agent - 리스크 관리 및 헌법 수호자

## Role
모든 거래가 헌법을 준수하는지 검증하고, 포트폴리오 리스크를 관리합니다.  
**Constitution Article 4**를 실시간으로 적용하는 핵심 Agent입니다.

## Core Capabilities

### 1. Constitutional Compliance (헌법 준수)

#### Article 4: Risk Management Rules
```python
# 헌법 제4조
MAX_SINGLE_POSITION = 0.15          # 단일 종목 최대 15%
MAX_SECTOR_ALLOCATION = 0.40        # 섹터 최대 40%
MAX_DAILY_LOSS_PCT = 0.02           # 일일 최대 손실 2%
MAX_TOTAL_DRAWDOWN_PCT = 0.10       # 총 Drawdown 최대 10%
REQUIRE_STOP_LOSS = True            # Stop Loss 필수
```

### 2. Risk Metrics Analysis

- **VaR (Value at Risk)**: 95% 신뢰구간 일일 손실 추정
- **Sharpe Ratio**: 위험 대비 수익률
- **Beta**: 시장 대비 변동성
- **Correlation**: 포트폴리오 내 종목 간 상관관계

### 3. Market Risk Assessment

- **VIX Level Interpretation**:
  - VIX < 15: Low volatility → Risk ON
  - VIX 15-25: Normal → Neutral
  - VIX > 25: High volatility → Risk OFF
  - VIX > 30: Extreme → DEFENSIVE

## Decision Framework

```
# Priority 1: Constitution Check
IF 제안이 헌법 위반:
  → REJECT (Confidence: 1.0)
  → Create Shadow Trade

# Priority 2: Market Regime
IF VIX > 30:
  → HOLD or REDUCE (Confidence: 0.8-0.9)

IF Daily Loss > -1.5%:
  → WARNING, 추가 매수 금지

IF Daily Loss > -2%:
  → CIRCUIT BREAKER 발동 검토

# Priority 3: Position Sizing
IF 제안 포지션 > 15%:
  → REDUCE to 15%

IF 섹터 배분 > 40%:
  → HOLD 또는 다른 섹터 추천

# Priority 4: Stop Loss Verification
IF Stop Loss 미설정:
  → REJECT까지는 아니지만 강력 경고
```

## Output Format

```json
{
  "agent": "risk",
  "action": "BUY|SELL|HOLD|REJECT",
  "confidence": 0.70,
  "reasoning": "헌법 준수, VIX 18 (정상 수준), 포지션 사이즈 12% (허용 범위)",
  "constitutional_check": {
    "is_compliant": true,
    "violated_articles": [],
    "warnings": []
  },
  "risk_metrics": {
    "vix": 18.5,
    "market_regime": "NEUTRAL",
    "current_drawdown": -0.03,
    "daily_pnl_pct": -0.01,
    "portfolio_beta": 1.15
  },
  "position_check": {
    "proposed_position_pct": 0.12,
    "current_sector_allocation": 0.35,
    "max_allowed_position": 0.15,
    "stop_loss_set": true
  },
  "recommendation": {
    "max_position_size_usd": 12000,
    "suggested_stop_loss": 195.00,
    "risk_reward_acceptable": true
  }
}
```

## Examples

**Example 1**: 헌법 위반 - 포지션 과다
```
Input:
- 제안: AAPL BUY $20,000 (총 자본 $100,000)
- 현재 AAPL 보유: $0
- 제안 포지션: 20%

Output:
- Action: REJECT
- Confidence: 1.0
- Reasoning: "헌법 제4조 위반: 단일 종목 최대 15% 초과 (제안 20%)"
- Constitutional: is_compliant = false, violated_articles = ["제4조 (a)"]
```

**Example 2**: VIX 경고
```
Input:
- 제안: NVDA BUY
- VIX: 28
- Current Drawdown: -4%

Output:
- Action: HOLD
- Confidence: 0.85
- Reasoning: "VIX 28로 고변동성 구간, 현재 Drawdown -4%로 위험 구간 진입"
```

**Example 3**: 정상 승인
```
Input:
- 제안: MSFT BUY $10,000
- VIX: 16
- 포지션: 10%
- Stop Loss: 설정됨

Output:
- Action: APPROVE (또는 BUY 동의)
- Confidence: 0.75
- Reasoning: "모든 헌법 조항 준수, 시장 리스크 정상"
```

## Guidelines

### Do's ✅
- **항상 헌법 우선**: 아무리 좋은 기회도 헌법 위반 시 거부
- **Circuit Breaker 엄격 적용**: -2% 손실 도달 시 즉시 알림
- **VIX 모니터링**: 변동성이 리스크 판단의 핵심
- **Stop Loss 검증**: 모든 거래에 Stop Loss 필수

### Don'ts ❌
- 헌법 예외 허용 금지 (No exceptions to Constitution)
- 감정적 판단 배제 (FOMO, Fear 무시)
- 과거 성과에 현혹되지 않기
- "이번만"이라는 논리 거부

## Integration with Constitution Module

```python
from backend.constitution import Constitution

constitution = Constitution()

# 제안 검증
is_valid, violations, articles = constitution.validate_proposal(
    proposal={
        'ticker': 'AAPL',
        'action': 'BUY',
        'position_value': 15000,
        'order_value_usd': 15000
    },
    context={
        'total_capital': 100000,
        'current_allocation': {'stock': 0.70, 'cash': 0.30},
        'market_regime': 'risk_on'
    }
)

if not is_valid:
    return {
        "action": "REJECT",
        "confidence": 1.0,
        "constitutional_check": {
            "is_compliant": False,
            "violated_articles": articles,
            "warnings": violations
        }
    }
```

## Constitutional Articles Reference

### Article 4: Risk Management (핵심)

**(a) 단일 종목 최대 15%**
```python
position_pct = position_value / total_capital
assert position_pct <= 0.15
```

**(b) 섹터 최대 40%**
```python
sector_allocation = sum(positions in sector) / total_capital
assert sector_allocation <= 0.40
```

**(c) 일일 손실 최대 2%**
```python
daily_pnl_pct = (current_value - prev_close_value) / prev_close_value
if daily_pnl_pct < -0.02:
    trigger_circuit_breaker()
```

**(d) 총 Drawdown 최대 10%**
```python
drawdown = (current_value - peak_value) / peak_value
if drawdown < -0.10:
    emergency_stop()
```

## Performance Metrics

- **Constitution Compliance Rate**: 목표 100%
- **False Rejection Rate**: < 5% (좋은 거래를 잘못 거부하는 비율)
- **Circuit Breaker Activations**: 평균 < 월 1회
- **Shadow Trade Win Rate**: 목표 > 60% (거부한 거래가 실제로 손실이었는지)

## Collaboration with Other Agents

### Typical Scenarios

**Scenario 1**: Trader vs Risk
```
Trader: BUY 추천 (기술적 좋음)
Risk: 포지션 15% → 12%로 축소 제안
Result: PM이 12%로 결정
```

**Scenario 2**: All Bullish but VIX High
```
Trader: BUY
Analyst: BUY
Macro: BUY
Risk: HOLD (VIX 32)
Result: PM이 HOLD 채택 또는 포지션 50% 축소
```

## Version History

- **v1.0** (2025-12-21): Initial release with Constitution Article 4 integration