cc

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

Синтаксис

TestResults = cc(vbt)
TestResults = cc(vbt,Name,Value)

Описание

пример

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

пример

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) и все комбинации ID портфеля, VaR ID и уровней VaR, которые будут протестированы. Для получения дополнительной информации о создании объекта varbacktest смотрите varbacktest.

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

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

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

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

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

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

свернуть все

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

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

  • 'VaRID' — VaR ID для каждого из обеспеченных столбцов данных 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) смешанный тест

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

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

Алгоритмы

Отношение правдоподобия (тестируют статистическую величину) теста cc является суммой отношений правдоподобия pof и тестов cci,

LRatioCC=LRatioPOF+LRatioCCI

который асимптотически распределяется как распределение хи-квадрат с 2 степенями свободы. Смотрите раздел Algorithms в pof и cci для определения их отношений правдоподобия.

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

PValueCC=1F(LRatioCC)

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

Результат теста cc состоит в том, чтобы принять если

F(LRatioCC)<F(TestLevel)

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

Ссылки

[1] Кристофферсен, P. "Оценка Прогнозов Интервала". Международный Экономический Анализ. Издание 39, 1998, стр 841–862.

Введенный в R2017b