exponenta event banner

esbacktestbyde

Создать esbacktestbyde объект для запуска пакета тестов ожидаемого дефицита (ES) Du и Escanciano

Описание

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

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

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

  3. Используйте summary для создания сводного отчета об отказах и степенях серьезности.

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

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

    • unconditionalDE - Безусловный обратный тест ES от Du-Escanciano

    • conditionalDE - Условный тест ES от Du-Escanciano

  6. simulate - Моделирование критических значений для статистики испытаний

Дополнительные сведения см. в разделе Обзор обратного тестирования ожидаемого дефицита и потока операций для обратного тестирования ожидаемого дефицита (ES) Du и Escanciano.

Создание

Описание

пример

ebtde = esbacktestbyde(PortfolioData,DistributionName) создает esbacktestbyde (ebtde) объект с использованием данных о результатах портфеля и информации о распределении моделей. esbacktestbyde объект имеет следующие свойства:

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

  • VaRData - вычисленные данные VaR с использованием информации о распределении из PortfolioData, возвращено как NumRowsоколо-NumVaRs числовой массив.

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

  • Распределение - информация о распределении модели, возвращенная в виде структуры.

  • Идентификатор портфеля - определяемый пользователем идентификатор портфеля.

  • VaRID - VaRID для соответствующего столбца в PortfolioData.

  • VaRLevel - VaRLevel для соответствующих столбцов в PortfolioData.

пример

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

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

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

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

В отличие от других классов обратного тестирования ES, esbacktestbyde не требует ввода данных VaR или данных ES. Информация о распределении из PortfolioData достаточно для выполнения тестов. esbacktestbyde использует информацию о распределении для применения кумулятивной функции распределения к данным портфеля и отображения ее в интервал (0,1). Обратные тесты ES применяются к отображенным данным.

Примечание

Перед применением тестов функция отбрасывает строки с отсутствующими значениями (NaN) в PortfolioData или Distribution параметры. Поэтому сообщенное количество наблюдений равно исходному количеству строк минус количество отсутствующих значений.

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

Имя распределения модели для анализа обратного тестирования ES, указанное как символьный вектор со значением 'normal' или 't' или строка со значением "normal" или "t".

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

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

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

Пример: ebtde = esbacktestbyde(PortfolioData,"t",'DegreesOfFreedom',10,'Location',Mu,'Scale',Sigma,'PortfolioID',"S&P",'VaRID',["t(10) 95%","t(10) 97.5%","t(10) 99%"],'VaRLevel',VaRLevel)
Пары «имя-значение» для 'normal' или 't' Распределения

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

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

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

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

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

Можно указать несколько VaRID значения с помощью 1около-NumVaRs (или NumVaRsоколо-1) клеточный массив символьных векторов или строковый вектор с пользовательскими идентификаторами для различных уровней VaR 'VaRID' аргумент пары имя-значение задает свойство VaRID.

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

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

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

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

Указывает, выполняется ли моделирование для статистической значимости тестов при esbacktestbyde создается объект, указанный как разделенная запятыми пара, состоящая из 'Simulate' и скалярное логическое значение.

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

Пары «имя-значение» для 'normal' Распределения

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

Означает нормальное распределение, указанное как разделенная запятыми пара, состоящая из 'Mean' и NumRowsоколо-1 вектор. Этот параметр используется только в том случае, если DistributionName является 'normal'.

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

Стандартные отклонения, указанные как пара, разделенная запятыми, состоящая из 'StandardDeviation' и NumRowsоколо-1 положительный вектор. Этот параметр используется только в том случае, если DistributionName является "normal".

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

Пары «имя-значение» для 't' Распределения

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

Степени свободы для 't' распределение, указанное как пара, разделенная запятыми, состоящая из 'DegreesOfFreedom' и скалярное целое число ≥ 3.

Примечание

Необходимо задать этот параметр «имя-значение», когда DistributionName является 't'.

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

Параметры местоположения для 't' распределение, указанное как пара, разделенная запятыми, состоящая из 'Location' и NumRowsоколо-1 вектор. Этот параметр используется только в том случае, если DistributionName является 't'.

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

Параметры масштаба для 't' распределение, указанное как пара, разделенная запятыми, состоящая из 'Scale' и NumRowsоколо-1 положительный вектор. Этот параметр используется только в том случае, если DistributionName является 't'.

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

Свойства

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

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

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

Данные VaR, вычисленные с использованием информации о распределении, возвращены как NumRowsоколо-NumVaRs числовой массив.

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

Данные ES, вычисленные с использованием информации о распределении, возвращенные как NumRowsоколо-NumVaRs числовой массив.

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

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

Для normal распределение, Distribution структура имеет поля 'Name' (установить в значение normal), 'Mean', и 'StandardDeviation', со значениями, установленными на соответствующие входы.

Для t распределение, Distribution структура имеет поля 'Name' (установить в значение t), 'DegreesOfFreedom', 'Location', и 'Scale', со значениями, установленными на соответствующие входы.

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

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

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

Идентификатор VaR, возвращенный как 1около-NumVaRs строковый массив, содержащий модель VaR ES, где NumVaRs - количество уровней VaR.

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

Уровень VaR, возвращенный как 1около-NumVaRs числовой массив.

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

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

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

summaryБазовый отчет об ожидаемом дефиците (ES) по сбоям и степени серьезности
runtestsВыполнить все контрольные тесты ожидаемого дефицита (ES) для esbacktestbyde объект
unconditionalDEБезусловный обратный тест ожидаемого дефицита (ES) Du-Escanciano (DE)
conditionalDEУсловный обратный тест ожидаемого дефицита (ES) Du-Escanciano (DE)
simulateМоделирование статистики тестов ожидаемого дефицита (ES) Du-Escanciano (DE)

Примеры

свернуть все

Создание esbacktestbyde объект для модели t с 10 степенями свободы на трех различных уровнях VaR, а затем выполните обратные тесты Du и Escanciano ES.

load ESBacktestDistributionData.mat
    rng('default'); % For reproducibility
    ebtde = esbacktestbyde(Returns,"t",...
       'DegreesOfFreedom',T10DoF,...
       'Location',T10Location,...
       'Scale',T10Scale,...
       'PortfolioID',"S&P",...
       'VaRID',["t(10) 95%","t(10) 97.5%","t(10) 99%"],...
       'VaRLevel',VaRLevel);
  runtests(ebtde)
ans=3×5 table
    PortfolioID        VaRID        VaRLevel    ConditionalDE    UnconditionalDE
    ___________    _____________    ________    _____________    _______________

       "S&P"       "t(10) 95%"        0.95         reject            accept     
       "S&P"       "t(10) 97.5%"     0.975         reject            accept     
       "S&P"       "t(10) 99%"        0.99         reject            reject     

Создать два esbacktestbyde объекты, один с нормальным распределением, а другой с распределением t с 5 степенями свободы, на трех различных уровнях VaR. Затем выполните обратные тесты Du и Escanciano ES, используя runtests.

load ESBacktestDistributionData.mat
    rng('default'); % For reproducibility
    ebtde1 = esbacktestbyde(Returns,"normal",...
       'Mean',NormalMean,...
       'StandardDeviation',NormalStd,...
       'PortfolioID',"S&P",...
       'VaRID',["Normal 95%","Normal 97.5%","Normal 99%"],...
       'VaRLevel',VaRLevel);
    ebtde2 = esbacktestbyde(Returns,"t",...
       'DegreesOfFreedom',T5DoF,...
       'Location',T5Location,...
       'Scale',T5Scale,...
       'PortfolioID',"S&P",...
       'VaRID',["t(5) 95%","t(5) 97.5%","t(5) 99%"],...
       'VaRLevel',VaRLevel);

Результат конкатенации состоит из одной таблицы.

t = [runtests(ebtde1);runtests(ebtde2)];
disp(t)
    PortfolioID        VaRID         VaRLevel    ConditionalDE    UnconditionalDE
    ___________    ______________    ________    _____________    _______________

       "S&P"       "Normal 95%"        0.95         reject            accept     
       "S&P"       "Normal 97.5%"     0.975         reject            reject     
       "S&P"       "Normal 99%"        0.99         reject            reject     
       "S&P"       "t(5) 95%"          0.95         reject            accept     
       "S&P"       "t(5) 97.5%"       0.975         reject            accept     
       "S&P"       "t(5) 99%"          0.99         accept            accept     

Ссылки

[1] Du, Z. и Х. К. Эскансиано. «Ожидаемый дефицит при тестировании: учет остаточного риска». Наука об управлении. Том 63, выпуск 4, апрель 2017 года.

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

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