exponenta event banner

туф

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

Описание

пример

TestResults = tuff(vbt) генерирует время до первого теста отказа (TUFF) для обратного тестирования значения риска (VaR).

пример

TestResults = tuff(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

Создать tuff результаты испытаний.

TestResults = tuff(vbt)
TestResults=1×9 table
    PortfolioID    VaRID    VaRLevel     TUFF     LRatioTUFF    PValueTUFF    FirstFailure    Observations    TestLevel
    ___________    _____    ________    ______    __________    __________    ____________    ____________    _________

    "Portfolio"    "VaR"      0.95      accept      1.7354       0.18773           58             1043          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]

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

TestResults = tuff(vbt,'TestLevel',0.90)
TestResults=6×9 table
    PortfolioID        VaRID         VaRLevel     TUFF     LRatioTUFF    PValueTUFF    FirstFailure    Observations    TestLevel
    ___________    ______________    ________    ______    __________    __________    ____________    ____________    _________

     "Equity"      "Normal95"          0.95      accept      1.7354       0.18773           58             1043           0.9   
     "Equity"      "Normal99"          0.99      accept     0.36686       0.54472          173             1043           0.9   
     "Equity"      "Historical95"      0.95      accept      1.5348        0.2154           55             1043           0.9   
     "Equity"      "Historical99"      0.99      accept     0.36686       0.54472          173             1043           0.9   
     "Equity"      "EWMA95"            0.95      accept     0.13304        0.7153           28             1043           0.9   
     "Equity"      "EWMA99"            0.99      accept     0.14596       0.70243          143             1043           0.9   

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

свернуть все

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

  • 'LRatioTUFF' - Отношение правдоподобия tuff тест

  • 'PValueTUFF' - P-значение tuff тест

  • 'FirstFailure' - Количество периодов до первого отказа

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

  • 'TestLevel' - Уровень достоверности теста

Примечание

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

Подробнее

свернуть все

Тест времени до первого отказа (TUFF)

tuff функция выполняет время Купеца до первого теста отказа.

Тест TUFF представляет собой тест отношения правдоподобия, предложенный Kupiec (1995) для оценки того, соответствует ли количество периодов до первой неудачи уровню достоверности VaR.

Алгоритмы

Отношение правдоподобия (тестовая статистика) tuff тест дается

LRatioTUFF = 2log (pVaR (1 pVaR) n 1 (1n) (1 1n) n 1) = 2 (log (pVaR) + (n 1) log (1 − pVaR) + nlog (n) − (n − 1) log (n − 1)

где n - количество периодов до первого отказа и pVaR = 1 − VaRLevel. По свойствам логарифма (если n = 1),

LRatioTUFF = 2log (pVaR)

Это асимптотически распределено как распределение хи-квадрат с 1 степенью свободы.

Значение p tuff тест - вероятность того, что распределение хи-квадрат с 1 степенью свободы превышает отношение правдоподобия LRatioTUFF

PValureTUFF = 1 F (LRatioTUFF)

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

Результат теста должен быть принят, если

F (LRatioTUFF) < F (Test Level)

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

Если в выборке нет отказов, статистика теста не определена. Однако здесь различают два случая:

  • Если количество наблюдений достаточно велико, что независимо от того, когда произошел первый сбой, пройти тест будет слишком поздно, то модель отклоняется. Технически это происходит, если число наблюдений N больше, чем 1/ pVaR (достаточно большой относительно уровня достоверности VaR) и если тест завершается неуспешно, когда n = N +1 (самое раннее наблюдение для первого отказа VaR). В этом случае отношение правдоподобия сообщается для n = N + 1и соответствующее значение p.

  • Во всех других случаях невозможно с уверенностью определить, будет ли результатом испытания в конечном итоге являться принятие или отклонение модели. Существуют диапазоны возможных значений первого отказа, которые могут привести к принятию или отклонению модели. В этих случаях tuff функция принимает модель и сообщает undefined (NaN) значения для отношения правдоподобия и p-значения.

Ссылки

[1] Купец, П. «Методы проверки точности моделей управления рисками». Журнал производных. Том 3, 1995, стр. 73-84.

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