tbf

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

Синтаксис

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

Описание

пример

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

пример

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

Сгенерируйте результаты испытаний tbf.

TestResults = tbf(vbt)
TestResults=1×20 table
    PortfolioID    VaRID    VaRLevel     TBF      LRatioTBF    PValueTBF     POF      LRatioPOF    PValuePOF     TBFI     LRatioTBFI    PValueTBFI    Observations    Failures    TBFMin    TBFQ1    TBFQ2    TBFQ3    TBFMax    TestLevel
    ___________    _____    ________    ______    _________    _________    ______    _________    _________    ______    __________    __________    ____________    ________    ______    _____    _____    _____    ______    _________

    "Portfolio"    "VaR"      0.95      reject     88.952      0.0055565    accept     0.46147      0.49694     reject      88.491      0.0047475         1043           57         1         3        9      25.25      85        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]

Сгенерируйте результаты испытаний tbf с помощью TestLevel дополнительный вход.

TestResults = tbf(vbt,'TestLevel',0.90)
TestResults=6×20 table
    PortfolioID        VaRID         VaRLevel     TBF      LRatioTBF    PValueTBF     POF      LRatioPOF    PValuePOF     TBFI     LRatioTBFI    PValueTBFI    Observations    Failures    TBFMin    TBFQ1    TBFQ2    TBFQ3    TBFMax    TestLevel
    ___________    ______________    ________    ______    _________    _________    ______    _________    _________    ______    __________    __________    ____________    ________    ______    _____    _____    _____    ______    _________

     "Equity"      "Normal95"          0.95      reject     88.952      0.0055565    accept     0.46147       0.49694    reject      88.491      0.0047475         1043           57         1           3      9      25.25      85         0.9   
     "Equity"      "Normal99"          0.99      reject     26.441       0.090095    reject      3.5118      0.060933    accept      22.929        0.15157         1043           17         3       21.25     48      78.25     215         0.9   
     "Equity"      "Historical95"      0.95      reject      83.63       0.023609    accept     0.91023       0.34005    reject      82.719       0.022513         1043           59         1           3     13         25      85         0.9   
     "Equity"      "Historical99"      0.99      accept     16.456        0.22539    accept     0.22768       0.63325    accept      16.228        0.18101         1043           12         3        19.5     45      152.5     200         0.9   
     "Equity"      "EWMA95"            0.95      accept     72.545        0.12844    accept     0.91023       0.34005    accept      71.635        0.12517         1043           59         1           4     13      25.75      82         0.9   
     "Equity"      "EWMA99"            0.99      reject      41.66      0.0099428    reject      9.8298     0.0017171    reject       31.83       0.080339         1043           22         2          16     40         56     143         0.9   

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

свернуть все

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

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

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

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

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

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

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

свернуть все

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

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

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

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

  • 'TBF' — Категориальный массив с категориями accept и reject, которые указывают на результат теста tbf

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

  • 'PValueTBF' — P-значение теста tbf

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

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

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

  • 'TBFI' — Категориальный массив с категориями accept и reject, которые указывают на результат теста tbfi

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

  • 'PValueTBFI' — P-значение теста tbfi

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

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

  • 'TBFMin' — Минимальное значение наблюдаемых времен между отказами

  • 'TBFQ1' — Первый квартиль наблюдаемых времен между отказами

  • 'TBFQ2' — Второй квартиль наблюдаемых времен между отказами

  • 'TBFQ3' — Третий квартиль наблюдаемых времен между отказами

  • 'TBFMax' — Максимальное значение наблюдаемых времен между отказами

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

Примечание

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

Больше о

свернуть все

Время между отказами (TBF) смешанный тест

Функция tbf выполняет время между отказами смешанный тест, также известный, когда Хаас смешал тест Kupiec.

'Смешанный' означает, что это комбинирует частоту и тест независимости. Тест частоты является тестом пропорции отказов (POF) Купика. Тест независимости является тестом времени между независимостью отказов (TBFI). Тест TBF является расширением теста времени до первого отказа (TUFF) Купика, предложенного Хаасом (2001), чтобы учесть не только время до первого отказа, но и время между всеми отказами. Функция tbf комбинирует тест pof и тест tbfi.

Алгоритмы

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

LRatioTBF=LRatioPOF+LRatioTBFI

который асимптотически распределяется как распределение хи-квадрат с x, +1 степень свободы, wherex является количеством отказов. Смотрите разделы Алгоритмов для pof и tbfi для определений их отношений правдоподобия.

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

PValueTBF=1F(LRatioTBF)

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

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

F(LRatioTBF)<F(TestLevel)

и отклоните в противном случае, где F является кумулятивным распределением переменной хи-квадрата с x, +1 степень свободы и x являются количеством отказов. Если отношение правдоподобия (LRatioTBF) не определено, то есть, без отказов уже, результат TBF состоит в том, чтобы принять только, когда и POF и тесты TBFI принимают.

Ссылки

[1] Хаас, M. "Новые методы в Backtesting". Финансовая разработка, научно-исследовательский центр Цезарь, Бонн, 2001.

Введенный в R2017b