Разработка 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 модель
Decomposition портфельного риска по факторам:
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: positive correlation с portfolio losses при crash
Correlation и Copula моделирование
В кризисах корреляции резко растут: все активы падают вместе. Нормальная Gaussian copula занижает это risk.
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 месяцев.







