tbf

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

Описание

пример

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

пример

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

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

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

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

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

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

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

свернуть все

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

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

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

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

'Mixed' означает, что он объединяет частотный и независимый тест. Частотный тест является долей Kupiec теста отказов (POF). Тест независимости является временем между тестами независимости отказов (TBFI). Тест TBF является продлением времени Купица до первого отказа (TUFF), предложенного Haas (2001), чтобы учесть не только время до первого отказа, но и время между всеми отказами. The tbf функция объединяет в себе pof тест и tbfi тест.

Алгоритмы

Коэффициент вероятности (тестовая статистика) теста TBF является суммой коэффициентов вероятности тестов POF и TBFI

LRatioTBF=LRatioPOF+LRatioTBFI

который асимптотически распределен как хи-квадратное распределение с x + 1 степенями свободы, где x - количество отказов. Смотрите разделы Алгоритмов для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] Haas, M. «Новые методы в обратном тестировании». Финансовая инженерия, Исследовательский центр Цезарь, Бонн, 2001 год.

Введенный в R2016b