FRM — Financial Risk Manager (Часть I + Часть II): Освойте Value at Risk, управление рыночным риском и симуляцию Монте-Карло с Python

FRM — Financial Risk Manager (Часть I + Часть II): Освойте Value at Risk, управление рыночным риском и симуляцию Монте-Карло с Python

Если вы работаете в банке, хедж-фонде или финтехе и вас когда-нибудь спрашивали: «Каков наш однодневный 99% Value at Risk?», вы уже знаете, какая неловкая тишина может за этим последовать. Value at Risk (VaR) — это число, которое хочет получить каждый комитет по рискам, которое проверяет каждый регулятор и которое каждый младший аналитик в конечном итоге должен вычислить с нуля. Тем не менее большинство людей узнают о нём из слайдов, а не из кода.

Эта статья — другая. Мы пройдём через расчёт VaR на Python, используя три метода, которые доминируют в профессиональной практике: историческое моделирование, дисперсионно-ковариационный (параметрический) и VaR на основе симуляции Монте-Карло. Вы увидите реальный код, поймёте, почему три метода дают разные результаты, и узнаете, какой из них подходит для какой ситуации. Это именно та прикладная работа по управлению рыночным риском, которая проверяется на экзамене FRM и требуется в реальных должностях риск-аналитиков.

И поскольку навык без структуры — это просто набор фактов, мы также покажем, как курс FRM — Financial Risk Manager (Часть I + Часть II) на asibiont.com превращает эту единственную технику в полный, готовый к экзамену и работе инструментарий управления рисками.

Почему VaR по-прежнему важен в 2026 году

Value at Risk — это статистическая оценка максимального убытка, который портфель может понести за данный горизонт при заданном уровне доверия. «Однодневный 99% VaR в 1,2 миллиона долларов» означает: в 99 из 100 дней мы ожидаем, что убытки не превысят 1,2 миллиона долларов — а в оставшийся день все ставки снимаются.

Эта последняя оговорка — вся суть современного управления рисками. VaR говорит вам, где находится край обрыва; он не говорит, насколько глубоко падение. Именно поэтому регуляторы ввели ожидаемый дефицит (Expected Shortfall, ES) в рамках рыночного риска Базеля III — фундаментальный обзор торгового портфеля (FRTB) Базельского комитета перешёл от VaR к ES при уровне доверия 97,5%, потому что ES отражает средний убыток за порогом VaR. Вы можете ознакомиться с деталями в официальных публикациях Базельского комитета на bis.org.

Несмотря на это, VaR остаётся ежедневным рабочим языком торговых подразделений и отделов рисков. Он используется для установления лимитов, регуляторной отчётности, внутреннего распределения капитала и бэктестинга. Если вы не можете вычислить и интерпретировать VaR, вы не можете вести серьёзный разговор о рыночном риске.

Настройка данных: реалистичный портфель

Давайте построим небольшой портфель из двух активов и вычислим его однодневный VaR. Мы будем использовать numpy, pandas и scipy — всё стандартное в наборе инструментов любого риск-аналитика.

import numpy as np
import pandas as pd
from scipy.stats import norm

np.random.seed(42)

# Симулируем 1000 дней доходностей для двух активов
n_days = 1000
mean_returns = np.array([0.0004, 0.0003])
volatilities = np.array([0.012, 0.018])
correlation = 0.35

cov_matrix = np.array([
    [volatilities[0]**2, correlation * volatilities[0] * volatilities[1]],
    [correlation * volatilities[0] * volatilities[1], volatilities[1]**2]
])

returns = np.random.multivariate_normal(mean_returns, cov_matrix, n_days)
returns_df = pd.DataFrame(returns, columns=['Asset_A', 'Asset_B'])

# Портфель: $1,000,000 всего, распределение 60/40
weights = np.array([0.6, 0.4])
portfolio_value = 1_000_000
portfolio_returns = returns_df.dot(weights)

В реальной жизни вы бы взяли фактическую историю цен — например, ежедневные цены закрытия от поставщика рыночных данных — и преобразовали их в логарифмические доходности с помощью np.log(prices / prices.shift(1)).dropna(). Логика, которая следует далее, идентична.

Метод 1: VaR на основе исторического моделирования

Историческое моделирование не делает предположений о распределении доходностей. Оно просто переупорядочивает историю и считывает процентиль.

def historical_var(returns, confidence=0.99, portfolio_value=1_000_000):
    var_pct = np.percentile(returns, (1 - confidence) * 100)
    return -var_pct * portfolio_value

hs_var = historical_var(portfolio_returns)
print(f"Historical Simulation VaR (99%, 1-day): ${hs_var:,.0f}")

Сильные стороны: он автоматически улавливает тяжёлые хвосты и ненормальное поведение, потому что эмпирическое распределение — это то, что фактически дала история. Он интуитивно понятен и легко объясняется комитету по рискам.

Слабые стороны: он полностью обращён в прошлое. Если историческое окно (обычно от 250 до 500 дней) не содержит кризиса, ваш VaR будет опасно низким. Он также придаёт одинаковый вес доходности двухлетней давности и вчерашней, что редко бывает разумным.

Метод 2: Дисперсионно-ковариационный (параметрический) VaR

Это классический подход. Предполагается, что доходности нормально распределены, оценивается среднее и стандартное отклонение, и применяется z-оценка.

def parametric_var(returns, confidence=0.99, portfolio_value=1_000_000):
    mu = np.mean(returns)
    sigma = np.std(returns, ddof=1)
    z = norm.ppf(1 - confidence)  # отрицательное для левого хвоста
    var_pct = mu + z * sigma
    return -var_pct * portfolio_value

pv_var = parametric_var(portfolio_returns)
print(f"Parametric VaR (99%, 1-day): ${pv_var:,.0f}")

Сильные стороны: быстрый, аналитически чистый и прекрасно масштабируется на большие портфели — вам нужна только ковариационная матрица, а не полная история. Именно поэтому он был основой систем в стиле RiskMetrics на протяжении десятилетий.

Слабые стороны: он предполагает нормальность, которую финансовые доходности нарушают очень специфическим и опасным образом — у них тяжёлые хвосты и отрицательная асимметрия. Нормальное распределение будет систематически недооценивать вероятность экстремальных убытков. Оно также предполагает линейные выплаты, что нарушается для опционов и других нелинейных инструментов.

Метод 3: VaR на основе симуляции Монте-Карло

VaR на основе симуляции Монте-Карло генерирует тысячи гипотетических будущих сценариев из предполагаемой модели, а затем считывает процентиль распределения смоделированных P&L.

def monte_carlo_var(mean_returns, cov_matrix, weights, n_sims=100_000,
                    confidence=0.99, portfolio_value=1_000_000):
    sim_returns = np.random.multivariate_normal(mean_returns, cov_matrix, n_sims)
    sim_portfolio_returns = sim_returns.dot(weights)
    var_pct = np.percentile(sim_portfolio_returns, (1 - confidence) * 100)
    return -var_pct * portfolio_value

mc_var = monte_carlo_var(mean_returns, cov_matrix, weights)
print(f"Monte Carlo VaR (99%, 1-day): ${mc_var:,.0f}")

Сильные стороны: максимальная гибкость. Вы можете подключить распределения с тяжёлыми хвостами (Стьюдента), модели скачкообразной диффузии, стохастическую волатильность или полное ценообразование опционов — всё, что можно смоделировать. Это единственный реалистичный вариант для портфелей со сложными нелинейными инструментами.

Слабые стороны: он хорош настолько, насколько хороша модель, которую вы в него закладываете («мусор на входе — мусор на выходе»), он вычислительно дорог и вносит ошибку симуляции — другое случайное зерно даёт немного другой ответ. Воспроизводимость требует дисциплинированного управления зерном.

Сравнение трёх методов

Когда вы запускаете все три на одном портфеле, вы обычно видите что-то вроде этого:

Метод Типичный 99% однодневный VaR Ключевое предположение Лучше всего использовать для
Историческое моделирование Базовый История повторяется Прозрачная отчётность, ненормальные данные
Дисперсионно-ковариационный Самый низкий из трёх Нормальные доходности, линейные выплаты Большие линейные портфели, скорость
Монте-Карло Самый высокий / наиболее изменчивый Выбранная вами модель верна Опционы, экзотика, стресс-сценарии

Параметрический метод обычно даёт самый низкий VaR, потому что игнорирует тяжёлые хвосты. Историческое моделирование находится посередине. Монте-Карло полностью зависит от модели — с распределением Стьюдента он даст заметно более высокие оценки хвоста, чем нормальное предположение.

Практическое правило: сообщайте больше одного числа. Серьёзные команды по рискам вычисляют VaR как минимум двумя методами и исследуют расхождения. Если ваш параметрический VaR намного ниже исторического VaR, у вашего портфеля тяжёлые хвосты, и вы не должны доверять только параметрической цифре.

Бэктестинг: шаг, который большинство пропускает

Число VaR без бэктестинга — это догадка. Бэктестинг означает сравнение вчерашнего прогноза VaR с сегодняшним фактическим P&L и подсчёт исключений — дней, когда убыток превысил VaR.

При 99% доверии вы ожидаете примерно 1 исключение на 100 дней. Подход «светофора» Базеля классифицирует банки на основе количества исключений за 250 дней: зелёная зона (0–4 исключения), жёлтая зона (5–9), красная зона (10+). Результат в красной зоне может вызвать увеличение множителя капитала. Точные пороги изложены в рамках рыночного риска Базельского комитета.

# Простой скользящий бэктест
exceptions = 0
window = 250
for i in range(window, len(portfolio_returns)):
    hist = portfolio_returns.iloc[i-window:i]
    var_forecast = -np.percentile(hist, 1) * portfolio_value
    actual_loss = -portfolio_returns.iloc[i] * portfolio_value
    if actual_loss > var_forecast:
        exceptions += 1

print(f"Exceptions: {exceptions} out of {len(portfolio_returns) - window} days")

Этот цикл — сердце реального управления рыночным риском. Это также, неудивительно, излюбленная тема экзамена.

От VaR к полной картине риска: что охватывает FRM

VaR — это входная точка, а не пункт назначения. Курс FRM — Financial Risk Manager (Часть I + Часть II) на asibiont.com проводит вас через всю учебную программу GARP, и VaR находится внутри гораздо более крупной архитектуры:

  • Основы управления рисками — управление, структура управления рисками и провалы, сформировавшие современную практику.
  • Количественные методы — вероятность, статистика, регрессия и симуляция Монте-Карло, математическая основа всего вышеперечисленного.
  • Рыночный риск — VaR, ожидаемый дефицит, греки, моделирование волатильности (GARCH) и корреляционный риск.
  • Кредитный риск — вероятность дефолта, кредитные рейтинги, кредитные дефолтные свопы и риск контрагента.
  • Операционный риск — продвинутый подход к измерению, распределение убытков и анализ сценариев.
  • Управление рисками в инвестициях — теория портфеля, хедж-фонды и аналитика фиксированного дохода.
  • Стресс-тестирование и обратное стресс-тестирование — вопрос не «что вероятно?», а «что нас сломает?».
  • Регулирование — Базель III и Базель IV, CRR и CRD.

Курс включает пробные экзамены и более 2000 практических вопросов, что важно, потому что FRM — это действительно сложный двухчастный экзамен. Часть I сосредоточена на инструментах; Часть II — на их применении к различным типам рисков.

Для кого этот курс

Управление рисками привлекает людей из нескольких направлений, и учебная программа FRM служит им всем:

  • Количественные аналитики и специалисты по данным, переходящие от построения моделей к ролям в области рисков, которым нужен регуляторный и управленческий контекст, пропущенный в их техническом обучении.
  • Специалисты по банковскому делу и аудиту — внутренний аудит, комплаенс, казначейство — которым нужно понимать, что на самом деле делает отдел рисков.
  • Управляющие портфелями и трейдеры, которые хотят количественно оценить принимаемый риск, а не описывать его качественно.
  • Студенты и люди, меняющие карьеру, с количественным складом ума, которые хотят структурированный путь в область, вознаграждающую строгость.

Общая нить — не конкретная должность, а готовность работать с числами и желание понять, почему финансовые институты терпят крах и как это предотвратить.

Как работает обучение на asibiont.com

Платформа использует принципиально иной подход к профессиональному образованию. Вместо фиксированных видеомодулей, которые воспроизводятся одинаково для всех, asibiont.com использует ИИ для создания персонализированных уроков для каждого студента. Нейронная сеть адаптирует программу к вашему текущему уровню и целям: если вы уже знаете теорию вероятностей, она не будет тратить ваше время на базовые распределения; если вы никогда не видели ковариационную матрицу, она построит всё с нуля.

Все материалы текстовые, и это осознанный выбор дизайна. Текст можно искать, быстро просматривать и легко возвращаться к нему — именно то, что нужно, когда вы отлаживаете расчёт VaR в 11 вечера перед дедлайном. Доступ открыт круглосуточно, так что вы учитесь, когда это удобно вам, а не когда случайно идёт запланированное занятие.

Сложные темы сначала объясняются простым языком, а затем формализуются. Когда вы застреваете, ИИ отвечает на ваши вопросы и генерирует практические задания, которые заставляют вас применить только что прочитанное — это единственный способ действительно выучить управление рисками. Читать о симуляции Монте-Карло — не то же самое, что написать симуляцию и наблюдать, как ваша оценка VaR сходится при увеличении числа путей.

Почему обучение на основе ИИ особенно подходит для управления рисками

Управление рисками необычайно хорошо подходит для адаптивного обучения по трём причинам:

Во-первых, эта область глубоко иерархична. Вы не можете понять ожидаемый дефицит, не понимая VaR, и не можете понять VaR, не понимая распределения. Система, которая обнаруживает пробелы и заполняет их, гораздо эффективнее той, что движется по фиксированному расписанию.

Во-вторых, материал количественный и неумолимый. Непонимание разницы между ddof=0 и ddof=1 в np.std распространяется на каждое последующее число. Персонализированные объяснения выявляют эти пробелы на раннем этапе.

В-третьих, область меняется. Базель III превратился в Базель IV, FRTB заменил VaR на ES для капитала под рыночный риск, а новые продукты создают новые риски. Учебная программа, генерируемая ИИ, может учитывать эти изменения гораздо быстрее, чем библиотека записанных видео.

Практический план обучения

Если вы начинаете сегодня, вот последовательность, которая работает:

  1. Заложите основу. Освойтесь с доходностями, волатильностью, корреляцией и нормальным распределением. Пишите код, а не просто читайте.
  2. Реализуйте все три метода VaR на одном портфеле. Сравните числа и объясните различия письменно.
  3. Проведите бэктестинг вашего VaR. Подсчитайте исключения. Поймите, что означает результат в красной зоне.
  4. Перейдите к ожидаемому дефициту. Вычислите ES вместе с VaR и посмотрите, как ES реагирует на хвостовые события, которые VaR игнорирует.
  5. Расширьте до кредитного и операционного риска. Применяется то же вероятностное мышление, но данные и модели различаются.
  6. Добавьте регулирование. Поймите, как Базель III/IV переводит ваши числа в требования к капиталу.

Курс FRM — Financial Risk Manager (Часть I + Часть II) структурирует именно эту последовательность, с пробными экзаменами и более чем 2000 практических вопросов, чтобы проверить, действительно ли знания усвоены.

Итог

Value at Risk — один из тех навыков, которые тихо отделяют людей, говорящих о риске, от людей, управляющих им. Три метода — историческое моделирование, дисперсионно-ковариационный и симуляция Монте-Карло — не являются конкурирующими ответами на один и тот же вопрос. Это разные линзы, каждая со своими предположениями, сильными сторонами и режимами отказа. Знать, какую линзу использовать и почему, — вот как на самом деле выглядит профессиональное управление рыночным риском.

Вы можете выучить код за один день. Вы можете выучить суждение — когда не доверять числу, как его бэктестировать, как объяснить его регулятору — только через структурированное обучение и практику. Именно для этого создан курс FRM — Financial Risk Manager (Часть I + Часть II) на asibiont.com: персонализированные уроки, генерируемые ИИ, которые адаптируются к вашему уровню и доступны, когда вы готовы работать. Начните сегодня, и в следующий раз, когда кто-то спросит о 99% однодневном VaR, у вас будет ответ — и обоснование за ним.

← Все статьи

Комментарии

Читайте также

Онлайн-магистратура для разработчиков ИТМО в партнёрстве с Яндексом: как поступить в 2026 году и что ждёт студентов

17 июля 2026

Практическая криптография в 2026 году: от PKI до постквантовой эры — почему этот курс является вашей страховкой для карьеры

30 июля 2026

Как превратить свободный текст игрока в исполняемый граф: пошаговое руководство на основе нового подхода

27 июля 2026

Pain-Driven Development: Как превратить боль от кода в топливо для бизнеса с помощью Vibe Coding

23 июля 2026

Variant и Claude Code: закрываем разрыв в дизайне для vibe-coding проектов — настройка репозитория и практика

5 августа 2026

10 промтов для SEO-оптимизации: мета-теги, контент и структура данных

30 июня 2026

AML/CFT — Compliance Officer (ПОД/ФТ): как AI-инструменты автоматизируют KYC/CDD для финтеха и криптобирж

2 сентября 2026

Anthropic подписывает сделку на $10 млрд с AI-облачным стартапом Volta: что изменится для рынка и vibe coding

5 августа 2026

Интеграция Squarespace с ИИ в 2026 году: Автоматизация заказов, товаров и общения с клиентами с помощью ИИ-агента

23 июня 2026