условное выражение

Условный ожидаемый недостаток (ES) backtest

Синтаксис

TestResults = conditional(ebts)
[TestResults,SimTestStatistic] = conditional(ebts,Name,Value)

Описание

пример

TestResults = conditional(ebts) запускает условный ES backtest Acerbi-Szekely (2014). Условный тест имеет два базовых теста, предварительный Подверженный риску значения (VaR) backtest, который задан с помощью аргумента пары "имя-значение" VaRTest и автономного условного ES backtest. Результат 'reject' на любом базовом тесте приводит к результату 'reject' на условном тесте.

пример

[TestResults,SimTestStatistic] = conditional(ebts,Name,Value) добавляют дополнительные аргументы пары "имя-значение" для TestLevel и VaRTest.

Примеры

свернуть все

Создайте объект esbacktestbysim.

load ESBacktestBySimData
rng('default'); % for reproducibility
ebts = esbacktestbysim(Returns,VaR,ES,"t",...
       'DegreesOfFreedom',10,...
       'Location',Mu,...
       'Scale',Sigma,...
       'PortfolioID',"S&P",...
       'VaRID',["t(10) 95%","t(10) 97.5%","t(10) 99%"],...
       'VaRLevel',VaRLevel);

Сгенерируйте условный протокол испытаний ES.

TestResults = conditional(ebts)
TestResults=3×14 table
    PortfolioID        VaRID        VaRLevel    Conditional    ConditionalOnly    PValue    TestStatistic    CriticalValue    VaRTest    VaRTestResult    VaRTestPValue    Observations    Scenarios    TestLevel
    ___________    _____________    ________    ___________    _______________    ______    _____________    _____________    _______    _____________    _____________    ____________    _________    _________

       "S&P"       "t(10) 95%"        0.95        reject           reject             0       -0.092302        -0.043941       "pof"        accept           0.70347           1966          1000         0.95   
       "S&P"       "t(10) 97.5%"     0.975        reject           reject         0.001        -0.11714        -0.052575       "pof"        accept           0.40682           1966          1000         0.95   
       "S&P"       "t(10) 99%"        0.99        reject           reject         0.003        -0.14608        -0.085433       "pof"        accept           0.11536           1966          1000         0.95   

Входные параметры

свернуть все

Объект esbacktestbysim (ebts), который содержит копию определенных данных (PortfolioData, VarData, ESData и свойства Distribution) и все комбинации ID портфеля, VaR ID и уровней VaR, которые будут протестированы. Для получения дополнительной информации о создании объекта esbacktestbysim смотрите esbacktestbysim.

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: [TestResults,SimTestStatistic] = conditional(ebts,'TestLevel',0.99)

Протестируйте доверительный уровень, заданный как пара, разделенная запятой, состоящая из 'TestLevel' и числового значения между 0 и 1.

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

Индикатор для VaR назад тестирует, заданный как пара, разделенная запятой, состоящая из 'VaRTest' и вектора символов или массива строк со значением 'tl', 'bin', 'pof', 'tuff', 'cc', 'cci', 'tbf' или 'tbfi'. Для получения дополнительной информации о них VaR backtests смотрите varbacktest.

Примечание

Заданный VaRTest запущен с помощью того же значения TestLevel, которое задано с аргументом пары "имя-значение" TestLevel в функции conditional.

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

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

свернуть все

Результаты, возвращенные как таблица, где строки соответствуют всем комбинациям ID портфеля, VaR ID и уровней VaR, которые будут протестированы. Столбцы соответствуют следующей информации:

  • 'PortfolioID' — ID портфеля для определенных данных.

  • 'VaRID' — VaR ID для каждого из обеспеченных столбцов данных VaR.

  • 'VaRLevel' — Уровень VaR для соответствующего столбца данных VaR.

  • 'Conditional' — Категориальный массив с категориями 'принимает' и 'отклоняет' указание на результат условного теста. Этот результат комбинирует результат столбца 'ConditionalOnly' и теста VaR.

  • 'ConditionalOnly' — Категориальный массив с категориями 'принимает' и 'отклоняет' указание на результат автономного условного теста, независимого от тестового результата VaR.

  • 'PValue'P - значение автономного условного теста (для the'ConditionalOnly' столбца).

  • 'TestStatistic' — Условная тестовая статистическая величина (для the'ConditionalOnly' столбца).

  • 'CriticalValue' — Критическое значение для условного теста.

  • 'VaRTest' — Массив строк, указывающий на выбранный VaR, тестирует, как задано аргументом VaRTest.

  • 'VaRTestResult' — Категориальный массив с категориями 'accept' и 'reject', указывающий на результат теста VaR, выбран с аргументом 'VaRTest'.

  • 'VaRTestPValue' — P-значение для VaR backtest. Если тест светофора (tl) используется, это 1 минус тест светофора значение столбца 'Probability'.

  • 'Observations' — Количество наблюдений.

  • 'Scenarios' — Количество сценариев, моделируемых, чтобы получить p - значения.

  • 'TestLevel' — Протестируйте доверительный уровень.

Примечание

Для результатов испытаний условия accept и reject используются для удобства. Технически, тест не принимает модель; скорее тесту не удается отклонить его.

Моделируемые значения тестовой статистической величины, возвращенной как NumVaRs-by-NumScenarios числовой массив.

Больше о

свернуть все

Условный тест

Тест conditional также известен как первый тест Acerbi-Szekely.

Условная тестовая статистическая величина основана на условном отношении

ESt=Et[Xt|Xt<VaRt]

где

X t является результатом портфеля, который является портфелем, возвращаются или прибыль портфеля и потеря в течение периода t.

VaR t является предполагаемый VaR в течение периода t.

ES t является предполагаемым ожидаемым недостатком в течение периода t.

Количество отказов задано как

NumFailures=t=1NIt

где

N является количеством периодов в тестовом окне (t = 1, …, N).

I t является индикатором отказа VaR на периоде t со значением 1 если X t <-var и 0 в противном случае.

Условная тестовая статистическая величина задана как:

Условный тест имеет две части. VaR backtest, заданный аргументом пары "имя-значение" VaRTest, должен быть запущен для количества отказов (NumFailures), и автономный условный тест выполняется для условной тестовой статистической величины cond Z. Условный тест принимает модель только, когда и тест VaR и автономный условный тест принимают модель.

Значение теста

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

Это выражается как:

E[Zcond|NumFailures>0]=0

Отрицательные величины тестовой статистической величины указывают на недооценку риска. Условный тест является односторонним тестом, который отклоняет, когда существует доказательство, что образцовый риск недооценок (для технических деталей на пустых и альтернативных гипотезах, см. Acerbi-Szekely, 2014). Условный тест отклоняет модель, когда p - значение является меньше, чем 1 минус тестовый доверительный уровень.

Для получения дополнительной информации о шагах, чтобы моделировать тестовую статистику и детали для вычисления p - значения и критические значения, смотрите simulate.

Случаи ребра

Условная тестовая статистическая величина не определена (NaN), когда нет никаких отказов VaR в данных (NumFailures = 0).

p - значение установлено к NaN в этих случаях, и результат испытаний к 'accept', потому что нет никакого доказательства недооценки риска.

Аналогично, моделируемая условная тестовая статистическая величина не определена (NaN) для сценариев без отказов VaR. Эти сценарии отбрасываются для оценки значения теста. Под предположением, что дистрибутивные предположения правильны, E[Zcond|NumFailures>0]=0, таким образом, значение вычисляется по сценариям по крайней мере с одним отказом (NumFailures> 0). Количество сценариев, о которых сообщает тестовая функция conditional, является количеством сценариев по крайней мере с одним отказом VaR. Количество сценариев, о которых сообщают, может быть меньшим, чем общее количество моделируемых сценариев. Критическое значение оценивается по сценариям по крайней мере с одним отказом VaR. Если моделируемой тестовой статистической величиной является NaN для всех сценариев, критическое значение установлено к NaN. Сценарии без отказов более вероятны, когда ожидаемое количество отказов Np VaR становится меньшим.

Ссылки

[1] Acerbi, C. и Szekely, Б. Бэктестинг ожидаемый недостаток. Декабрь 2014 MSCI Inc.

Введенный в R2017b