Розробка AI-системи управління ризиками портфеля
Управління ризиками портфеля — це не лише зупинення збитків. Це система прийняття рішень: які ризики свідомо взяти, які захеджувати, де обмежити позицію. AI додає до класичної теорії управління ризиком динамічну адаптацію до ринкових режимів та нелінійні взаємозалежності.
Класифікація ризиків портфеля
Market Risk (ринковий ризик):
- Directional: збитки від руху цін (equity beta, duration)
- Volatility: збитки від змін волатильності (vega)
- Correlation: збитки при breakdown кореляцій
Credit Risk (кредитний ризик):
- Default risk: дефолт емітента
- Downgrade risk: зниження рейтингу
- Spread risk: розширення кредитних спредів
Liquidity Risk:
- Market liquidity: неспроможність продати за прийнятною ціною
- Funding liquidity: margin call при нестачі ліквідності
Operational Risk:
- Model risk: помилки в моделі оцінки
- Execution risk: проковзування, відмова системи
VaR та його розширення
Historical Simulation VaR:
def historical_var(portfolio_returns, confidence=0.95, horizon=1):
"""
95% VaR: в 95% днів збитки не перевищать це значення
"""
return -np.percentile(portfolio_returns, (1 - confidence) * 100)
var_95 = historical_var(daily_pnl, confidence=0.95)
print(f"95% 1-day VaR: {var_95:.2%}")
Monte Carlo VaR: Генерація сценаріїв з урахуванням кореляцій та fat tails (Student-t, copula).
CVaR / Expected Shortfall (ES): Математичне очікування збитків при умові, що VaR перевищено. Вимога Basel III.
def cvar(returns, confidence=0.95):
var = historical_var(returns, confidence)
tail_returns = returns[returns < -var]
return -tail_returns.mean()
Filtered Historical Simulation: VaR адаптується до поточної волатильності. GARCH-volatility scaling:
Scaled_Return(t) = Historical_Return(i) × (σ_current / σ_historical(i))
Factor Risk модель
Розкладання портфельного ризику за факторами:
Barra-стиль факторний аналіз:
Portfolio_Return = Σ (weight_i × return_i)
= Σ (weight_i × Σ β_if × factor_f) + Σ (weight_i × ε_i)
= Factor_Return + Idiosyncratic_Return
Фактори для equity портфеля:
- Market Beta: exposure до ринкового руху
- Size (SMB): small vs. large cap
- Value (HML): P/B ratio
- Momentum: 12-1 month momentum
- Quality: ROE, debt/equity
- Volatility: realized vol factor
Contribution to risk:
def factor_risk_decomposition(weights, factor_returns, factor_loadings, residual_cov):
# Portfolio факторне exposure
portfolio_factors = weights @ factor_loadings # shape: [n_factors]
# Factor covariance matrix (зазвичай з Barra, MSCI Axioma)
factor_variance = portfolio_factors @ factor_cov @ portfolio_factors
# Idiosyncratic variance
idio_variance = weights @ residual_cov @ weights
total_variance = factor_variance + idio_variance
return {
'factor_risk_pct': factor_variance / total_variance,
'idio_risk_pct': idio_variance / total_variance
}
Dynamic Risk Management з AI
Volatility Targeting: Цільова волатильність портфеля X%. При зростанні realized vol вище X% — зниження позицій:
target_vol = 0.10 # 10% annualized
realized_vol = portfolio_returns.rolling(63).std() * np.sqrt(252)
scale_factor = target_vol / realized_vol
positions = base_positions * scale_factor.clip(0.5, 2.0)
Regime-Conditional Risk:
- Expansionary regime (low VIX, positive macro): max risk budget
- Risk-off regime (high VIX, inverted curve): 50% risk budget
- Crisis regime (VIX > 35, credit spread widening): 25% risk budget
Tail Risk Hedging: AI-система ідентифікує cost-effective хеджі:
- Put options на портфель: volatility surface аналіз для пошуку underpriced protection
- CDS: хедж credit risk через credit default swaps
- VIX calls: позитивна кореляція з portfolio losses при crash
Correlation та Copula моделювання
У кризах кореляції різко зростають: всі активи падають разом. Нормальна Gaussian copula занижає цей ризик.
Dynamic Conditional Correlation (DCC):
# GARCH-DCC: кореляції змінюються з часом
# R_t = D_t^{-1} H_t D_t^{-1}
# де H_t - conditional correlation matrix (DCC process)
t-Copula: краще захоплює tail dependence — спільні екстремальні рухи.
Stress Correlation Matrix: Для stress testing використовується correlation matrix з історичних кризових періодів (2008-09, COVID 2020).
Лімити та моніторинг
Ієрархічна система лімітів:
- Portfolio VaR 95% 1-day: < 1% NAV
- Single position concentration: < 5% NAV
- Sector concentration: < 25% NAV
- Factor exposure (beta): 0.7-1.3
- Drawdown limit (circuit breaker): якщо drawdown > 10% → зменшити всі позиції на 30%
Real-time моніторинг:
- PnL та VaR оновлюються при кожній угоді
- Алерти при наближенні до лімітів (80% спускає warning)
- Daily risk report: PDF з attribution, exposures, stress tests
Часовая шкала: базова VaR система з historical simulation та factor decomposition — 6-8 тижнів. Повна система з DCC кореляціями, динамічним risk targeting та automated reporting — 4-5 місяців.







