exponenta event banner

esbacktest

Создать esbacktest объект для запуска набора табличных тестов ожидаемого дефицита (ES) Acerbi и Szekely

Описание

Общий рабочий процесс:

  1. Загрузите или создайте данные для анализа обратного тестирования ES.

  2. Создание esbacktest объект. Дополнительные сведения см. в разделе Создание esbacktest и свойств.

  3. Используйте summary функция для создания сводного отчета о количестве наблюдений, ожидаемом и наблюдаемом среднем коэффициенте серьезности.

  4. Используйте runtests для одновременного выполнения всех тестов.

  5. Для получения дополнительной информации о тестах выполните следующие отдельные тесты:

    • unconditionalNormal - Безусловный обратный тест ES, предполагающий нормальное распределение возвращений

    • unconditionalT - Безусловный обратный тест ES, предполагающий распределение возвращений t

    Дополнительные сведения см. в разделе Обзор ожидаемого обратного тестирования дефицита.

Создание

Описание

пример

ebt = esbacktest(PortfolioData,VaRData,ESData) создает esbacktest (ebt) объект с использованием данных о результатах портфеля и соответствующих данных о стоимости риска (VaR) и ES. ebt объект имеет следующие свойства:

  • PortfolioData - NumRowsоколо-1 числовой массив, содержащий копию PortfolioData

  • ВаРДата - NumRowsоколо-NumVaRs числовой массив, содержащий копию VaRData

  • ESData - NumRowsоколо-NumVaRs числовой массив, содержащий копию ESData

  • Идентификатор проекта - строка, содержащая PortfolioID

  • ВаРИД - 1около-NumVaRs строковый вектор, содержащий VaRIDs для соответствующих столбцов в VaRData

  • VaRLevel - 1около-NumVaRs числовой массив, содержащий VaRLevels для соответствующих столбцов в VaRData

Примечание

  • Результаты теста esbacktest являются только приблизительными, поскольку информация о распределении не передается в качестве входных данных. Когда информация о распределении доступна, используйте esbacktestbysim; в частности, рекомендуется тест с минимальным смещением (см. minBiasAbsolute и minBiasRelative).

  • Моделирование критических значений предполагает среднее значение 0 для базового распределения. Критические значения чувствительны к среднему значению базового распределения. Если прогноз ES основан на распределениях со средствами, значительно удаленными от 0, критические значения в esbacktest будет ненадежным.

  • Необходимые входные аргументы для PortfolioData, VaRData, и ESData все они должны состоять из одних и тех же единиц. Эти аргументы могут быть выражены как прибыль или как прибыль и убытки. Нет проверок в esbacktest объект относительно единиц этих аргументов.

  • Если отсутствуют значения (NaNs) в PortfolioData, VaRData, и ESData, строка данных отбрасывается перед применением тестов. Поэтому для моделей с разным количеством отсутствующих значений сообщается разное количество наблюдений. Сообщенное число наблюдений равно исходному количеству строк минус количество отсутствующих значений. Чтобы определить, есть ли отброшенные строки, используйте 'Missing' в столбце summary отчет.

  • Поскольку критические значения предварительно вычисляются, поддерживается только определенное количество наблюдений, уровней VaR и уровней тестирования.

    • Количество наблюдений (количество строк в данных минус количество отсутствующих значений) должно быть от 200 до 5000.

    • VaRLevel входной аргумент должен быть между 0.90 и 0.999; значение по умолчанию - 0.95.

    • TestLevel(уровень достоверности теста) входной аргумент для runtests, unconditionalNormal, и unconditionalT функции должны быть между 0.5 и 0.9999; значение по умолчанию - 0.95.

пример

ebt = esbacktest(___,Name,Value) Задает свойства, используя пары имя-значение и любой из аргументов предыдущего синтаксиса. Например, ebt = esbacktest(PortfolioData,VaRData,ESData,'VaRID','TotalVaR','VaRLevel',.999). Можно указать несколько пар имя-значение в качестве необязательных аргументов пара имя-значение.

Входные аргументы

развернуть все

Данные о результатах портфеля, указанные как NumRowsоколо-1 числовой массив, NumRowsоколо-1 таблица числовых столбцов или NumRowsоколо-1 график с числовым столбцом, содержащим данные о результатах портфеля. PortfolioData входной аргумент задает свойство TransferentData.

Примечание

PortfolioData должны быть в тех же единицах, что и VaRData и ESData. PortfolioData, VaRData, и ESData может быть выражено как прибыль или как прибыль и убытки. Нет проверок в esbacktest объект относительно единиц портфеля, данных VaR и ES.

Типы данных: double | table | timetable

Данные о стоимостном риске (VaR), указанные как NumRowsоколо-NumVaRs числовой массив, NumRowsоколо-NumVaRs таблица числовых столбцов или NumRowsоколо-NumVaRs расписание с числовыми столбцами. VaRData входной аргумент задает свойство VaRData.

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

Примечание

VaRData должны быть в тех же единицах, что и PortfolioData и ESData. VaRData, PortfolioData, и ESData может быть выражено как прибыль или как прибыль и убытки. Нет проверок в esbacktest объект относительно единиц портфеля, данных VaR и ES.

Типы данных: double | table | timetable

Ожидаемые данные о дефиците, указанные как NumRowsоколо-NumVaRs положительный числовой массив, NumRowsоколо-NumVaRs таблица с положительными числовыми столбцами или NumRowsоколо-NumVaRs расписание с положительными числовыми столбцами, содержащими данные ES. ESData входной аргумент задает свойство ESData.

Примечание

ESData должны быть в тех же единицах, что и PortfolioData и VaRData. ESData, PortfolioData, и VaRData может быть выражено как прибыль или как прибыль и убытки. Нет проверок в esbacktest объект относительно единиц портфеля, данных VaR и ES.

Типы данных: double | table | timetable

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: ebt = esbacktest(PortfolioData,VaRData,ESData,'VaRID','TotalVaR','VaRLevel',.999)

Пользовательский идентификатор для PortfolioData вход, указанный как пара, разделенная запятыми, состоящая из 'PortfolioID' и символьный вектор или строку. PortfolioID Аргумент пары «имя-значение» задает свойство «Идентификатор ошибки».

Если PortfolioData - числовой массив, значение по умолчанию для PortfolioID является 'Portfolio'. Если PortfolioData является таблицей, PortfolioID по умолчанию устанавливается соответствующее имя переменной в таблице.

Типы данных: char | string

Идентификатор VaR для VaRData столбцы, указанные как разделенная запятыми пара, состоящая из 'VaRID' и символьный вектор, массив ячеек символьных векторов, строку или строковый массив.

Несколько VaRID значения задаются с помощью 1около-NumVaRs (или NumVaRsоколо-1) клеточный массив символьных векторов или строковый вектор с пользовательскими идентификаторами для VaRData столбцы. Сингл VaRID идентифицирует VaRData столбец и соответствующий ESData столбец. VaRID аргумент пары имя-значение задает свойство VaRID.

Если NumVaRs = 1, значение по умолчанию для VaRID является 'VaR'. Если NumVaRs > 1, значением по умолчанию является 'VaR1', 'VaR2'и так далее. Если VaRData является таблицей, 'VaRID' по умолчанию устанавливается соответствующее имя переменной в таблице.

Типы данных: char | cell | string

Уровень достоверности VaR, определяемый как разделенная запятыми пара, состоящая из 'VaRLevel' и числовое значение между 0.90 и 0.999 или 1около-NumVaRs (или NumVaRsоколо-1) числовой массив. VaRLevel аргумент пары имя-значение задает свойство VaRLevel.

Примечание

При указании VarLevel > 99%, убедитесь, что количество наблюдений достаточно для создания соответствующего критического значения. Кроме того, при выполнении теста используйте TestLevel > 95%. Для очень высоких уровней VaR (например, VarLevel > 99%) и относительно небольшое количество наблюдений, вероятность отказов VaR очень мала и распределение тестовой статистики имеет дискретный характер, приводя к неожиданной немонотонности вокруг некоторых критических значений. Большее количество наблюдений и более высокие уровни достоверности теста сохраняют ожидаемое поведение критических значений, когда VarLevel очень высоко.

Типы данных: double

Свойства

развернуть все

Портфельные данные для анализа обратного тестирования ES, указанные как NumRowsоколо-1 числовой массив, содержащий копию данных портфеля.

Типы данных: double

Данные VaR для анализа обратного тестирования ES, указанные как NumRowsоколо-NumVaRs числовой массив, содержащий копию данных VaR.

Типы данных: double

Ожидаемые данные о дефиците для анализа обратного тестирования ES, указанные как NumRowsоколо-NumVaRs числовой массив, содержащий копию ESData.

Типы данных: double

Идентификатор портфеля, указанный как строка.

Типы данных: string

Идентификатор VaR, указанный как 1около-NumVaRs строковый массив, содержащий идентификаторы VaR для соответствующих столбцов в VaRData.

Типы данных: string

Уровень VaR, указанный как 1около-NumVaRs числовой массив со значениями из 0.90 через 0.999, содержащий уровни VaR для соответствующих столбцов в VaRData.

Типы данных: double

esbacktest СобственностьЗадание или изменение свойства из командной строки с помощью esbacktest Изменение свойства с помощью точечной нотации
PortfolioDataДаНет
VaRDataДаНет
ESDataДаНет
PortfolioIDДаДа
VaRIDДаДа
VaRLevelДаДа

Функции объекта

summaryБазовый отчет об ожидаемом дефиците (ES) по сбоям и степени серьезности
runtestsВыполнить все контрольные тесты ожидаемого дефицита (ES) для esbacktest объект
unconditionalNormalБезусловный ожидаемый обратный тест дефицита (ES) Acerbi-Szekely с критическими значениями для нормальных распределений
unconditionalTБезусловный ожидаемый отрицательный дефицит (ES) Acerbi-Szekely с критическими значениями для распределений t

Примеры

свернуть все

esbacktest принимает данные о результатах портфеля, соответствующие данные о стоимости и риске (VaR), а также данные об ожидаемом дефиците (ES) и возвращает esbacktest объект.

Создание esbacktest объект.

 load ESBacktestData
 ebt = esbacktest(Returns,VaRModel1,ESModel1,'VaRLevel',VaRLevel)
ebt = 
  esbacktest with properties:

    PortfolioData: [1966x1 double]
          VaRData: [1966x1 double]
           ESData: [1966x1 double]
      PortfolioID: "Portfolio"
            VaRID: "VaR"
         VaRLevel: 0.9750

ebt, esbacktest объект, содержит копию данных данного портфеля (PortfolioData свойство), данные VaR (VaRData свойство) и данные ES (ESData) свойство. Объект также содержит все комбинации идентификатора портфеля, идентификатора VaR и уровня VaR для тестирования (PortfolioID, VaRID, и VaRLevel свойства).

Запустите тесты с помощью ebt объект.

 runtests(ebt)
ans=1×5 table
    PortfolioID    VaRID    VaRLevel    UnconditionalNormal    UnconditionalT
    ___________    _____    ________    ___________________    ______________

    "Portfolio"    "VaR"     0.975            reject               reject    

Изменить PortfolioID и VaRID с использованием точечной нотации. Дополнительные сведения о создании esbacktest объект, см. esbacktest.

ebt.PortfolioID = 'S&P';
ebt.VaRID = 'Normal at 97.5%';
disp(ebt)
  esbacktest with properties:

    PortfolioData: [1966x1 double]
          VaRData: [1966x1 double]
           ESData: [1966x1 double]
      PortfolioID: "S&P"
            VaRID: "Normal at 97.5%"
         VaRLevel: 0.9750

Запустить все тесты с использованием обновленного esbacktest объект.

 runtests(ebt)
ans=1×5 table
    PortfolioID          VaRID          VaRLevel    UnconditionalNormal    UnconditionalT
    ___________    _________________    ________    ___________________    ______________

       "S&P"       "Normal at 97.5%"     0.975            reject               reject    

Ссылки

[1] Ацерби, С. и Б. Секели. Обратное тестирование ожидаемого дефицита. MSCI Inc. Декабрь 2014 года.

[2] Базельский комитет по банковскому надзору. «Минимальные требования к капиталу для рыночного риска». Январь 2016 (https://www.bis.org/bcbs/publ/d352.pdf).

Представлен в R2017b