tuff

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

Описание

пример

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

пример

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

Аргументы name-value

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

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

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

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

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

свернуть все

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

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

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

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

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

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

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

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

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

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

Примечание

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

Больше о

свернуть все

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

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

ТУФОВЫЙ тест является тестом отношения правдоподобия, предложенным Kupiec (1995), чтобы оценить, если количество периодов до первого отказа сопоставимо с доверительным уровнем VaR.

Алгоритмы

Отношение правдоподобия (тестируют статистическую величину) tuff тестом дают

LRatioTUFF=2log(pVaR(1pVaR)n1(1n)(11n)n1)=2(log(pVaR)+(n1)log(1pVaR)+nlog(n)(n1)log(n1))

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

LRatioTUFF=2log(pVaR)

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

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

PValueTUFF=1F(LRatioTUFF)

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

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

F(LRatioTUFF)<F(TestLevel)

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

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

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

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

Ссылки

[1] Kupiec, P. "Методы для Проверки Точности Моделей управления рисками". Журнал Производных. Издание 3, 1995, стр 73–84.

Введенный в R2017b
Для просмотра документации необходимо авторизоваться на сайте