туф

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

Синтаксис

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

Описание

пример

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (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=2журнал(pVaR(1pVaR)n1(1n)(11n)n1)=2(журнал(pVaR)+(n1)журнал(1pVaR)+nжурнал(n)(n1)журнал(n1))

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

LRatioTUFF=2журнал(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