cc

Условный смешанный тест покрытия для обратного тестирования значения риска (VaR)

Описание

пример

TestResults = cc(vbt) генерирует условный критерий покрытия (CC) для обратного тестирования значения риска (VaR).

пример

TestResults = cc(vbt,Name,Value) добавляет необязательный аргумент пары "имя-значение" для TestLevel.

Примеры

свернуть все

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

load VaRBacktestData
vbt = varbacktest(EquityIndex,Normal95)
vbt = 
  varbacktest with properties:

    PortfolioData: [1043x1 double]
          VaRData: [1043x1 double]
      PortfolioID: "Portfolio"
            VaRID: "VaR"
         VaRLevel: 0.9500

Сгенерируйте cc результаты тестирования.

TestResults = cc(vbt)
TestResults=1×19 table
    PortfolioID    VaRID    VaRLevel      CC      LRatioCC    PValueCC     POF      LRatioPOF    PValuePOF     CCI      LRatioCCI    PValueCCI    Observations    Failures    N00    N10    N01    N11    TestLevel
    ___________    _____    ________    ______    ________    ________    ______    _________    _________    ______    _________    _________    ____________    ________    ___    ___    ___    ___    _________

    "Portfolio"    "VaR"      0.95      accept    0.72013     0.69763     accept     0.46147      0.49694     accept     0.25866      0.61104         1043           57       932    53     53      4       0.95   

Используйте varbacktest конструктор с аргументами пары "имя-значение" для создания varbacktest объект.

load VaRBacktestData
    vbt = varbacktest(EquityIndex,...
       [Normal95 Normal99 Historical95 Historical99 EWMA95 EWMA99],...
       'PortfolioID','Equity',...
       'VaRID',{'Normal95' 'Normal99' 'Historical95' 'Historical99' 'EWMA95' 'EWMA99'},...
       'VaRLevel',[0.95 0.99 0.95 0.99 0.95 0.99])
vbt = 
  varbacktest with properties:

    PortfolioData: [1043x1 double]
          VaRData: [1043x6 double]
      PortfolioID: "Equity"
            VaRID: [1x6 string]
         VaRLevel: [0.9500 0.9900 0.9500 0.9900 0.9500 0.9900]

Сгенерируйте cc результаты тестирования с использованием TestLevel необязательный вход.

TestResults = cc(vbt,'TestLevel',0.90)
TestResults=6×19 table
    PortfolioID        VaRID         VaRLevel      CC      LRatioCC    PValueCC      POF      LRatioPOF    PValuePOF     CCI      LRatioCCI    PValueCCI    Observations    Failures    N00     N10    N01    N11    TestLevel
    ___________    ______________    ________    ______    ________    _________    ______    _________    _________    ______    _________    _________    ____________    ________    ____    ___    ___    ___    _________

     "Equity"      "Normal95"          0.95      accept    0.72013       0.69763    accept     0.46147       0.49694    accept     0.25866      0.61104         1043           57        932    53     53      4        0.9   
     "Equity"      "Normal99"          0.99      accept     4.0757       0.13031    reject      3.5118      0.060933    accept     0.56393      0.45268         1043           17       1008    17     17      0        0.9   
     "Equity"      "Historical95"      0.95      accept     1.0487       0.59194    accept     0.91023       0.34005    accept     0.13847      0.70981         1043           59        928    55     55      4        0.9   
     "Equity"      "Historical99"      0.99      accept     0.5073       0.77597    accept     0.22768       0.63325    accept     0.27962      0.59695         1043           12       1018    12     12      0        0.9   
     "Equity"      "EWMA95"            0.95      accept    0.95051       0.62173    accept     0.91023       0.34005    accept    0.040277      0.84094         1043           59        927    56     56      3        0.9   
     "Equity"      "EWMA99"            0.99      reject     10.779     0.0045645    reject      9.8298     0.0017171    accept     0.94909      0.32995         1043           22        998    22     22      0        0.9   

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

свернуть все

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

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

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

Пример: TestResults = cc(vbt,'TestLevel',0.99)

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

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

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

свернуть все

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

  • 'PortfolioID' - Идентификатор портфеля для данных

  • 'VaRID' - идентификатор VaR для каждого из предоставленных столбцов данных VaR

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

  • 'CC' - Категориальный массив с категориями accept и reject которые указывают на результат теста cc

  • 'LRatioCC' - Коэффициент вероятности cc тест

  • 'PValueCC' - P-значение cc тест

  • 'POF' - Категориальный массив с категориями accept и reject которые указывают на результат pof тест

  • 'LRatioPOF' - Коэффициент вероятности pof тест

  • 'PValuePOF' - P-значение pof тест

  • 'CCI' - Категориальный массив с 'accept' категорий и 'reject' которые указывают на результат cci тест

  • 'LRatioCCI' - Коэффициент вероятности cci тест

  • 'PValueCCI' - P-значение cci тест

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

  • 'Failures' - Количество отказов

  • 'N00' - Количество периодов без отказов, за которыми следует период без отказов

  • 'N10' - Количество периодов с отказами, за которыми следует период без сбоев

  • 'N01' - Количество периодов без сбоев с последующим периодом с отказами

  • 'N11' - Количество периодов с отказами, за которыми следует период с отказами

  • 'TestLevel' - Тестовый уровень доверия

Примечание

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

Подробнее о

свернуть все

Смешанный тест условного покрытия (CC)

The cc функция выполняет условный смешанный тест покрытия, также известный как метод интервала прогнозов Кристоферсена.

'Mixed' означает, что он объединяет частотный и независимый тест. Частотный тест является долей отказов Kupiec, реализованной pof функция. Тест независимости является условным тестом независимости покрытия, реализованным cci функция. Это критерий коэффициента вероятности, предложенный Кристоферсеном (1998) для оценки независимости отказов в последовательных периодах времени. Тест CC объединяет тест POF и тест CCI.

Алгоритмы

Коэффициент правдоподобия (тестовая статистика) cc тест является суммой коэффициентов вероятности pof и cci тесты,

LRatioCC=LRatioPOF+LRatioCCI

который асимптотически распределен как хи-квадратное распределение с 2 степенями свободы. См. Раздел «Алгоритмы» в pof и cci для определения их коэффициентов вероятности.

Значение p cc тест является вероятностью того, что хи-квадратное распределение с 2 степенями свободы превышает коэффициент правдоподобия LRatioCC,

PValueCC=1F(LRatioCC)

где F - совокупное распределение переменной хи-квадрат с 2 степенями свободы.

Результат cc тест должен принимать, если

F(LRatioCC)<F(TestLevel)

и отклонить в противном случае, где F является совокупным распределением переменной хи-квадрат с 2 степенями свободы.

Ссылки

[1] Christoffersen, P. «Оценка интервальных прогнозов». Международный экономический обзор. Том 39, 1998, стр. 841-862.

Введенный в R2016b