tbfi

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

Описание

пример

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

пример

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

Сгенерируйте tbfi результаты тестирования.

TestResults = tbfi(vbt)
TestResults=1×14 table
    PortfolioID    VaRID    VaRLevel     TBFI     LRatioTBFI    PValueTBFI    Observations    Failures    TBFMin    TBFQ1    TBFQ2    TBFQ3    TBFMax    TestLevel
    ___________    _____    ________    ______    __________    __________    ____________    ________    ______    _____    _____    _____    ______    _________

    "Portfolio"    "VaR"      0.95      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]

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

TestResults = tbfi(vbt,'TestLevel',0.90)
TestResults=6×14 table
    PortfolioID        VaRID         VaRLevel     TBFI     LRatioTBFI    PValueTBFI    Observations    Failures    TBFMin    TBFQ1    TBFQ2    TBFQ3    TBFMax    TestLevel
    ___________    ______________    ________    ______    __________    __________    ____________    ________    ______    _____    _____    _____    ______    _________

     "Equity"      "Normal95"          0.95      reject      88.491      0.0047475         1043           57         1           3      9      25.25      85         0.9   
     "Equity"      "Normal99"          0.99      accept      22.929        0.15157         1043           17         3       21.25     48      78.25     215         0.9   
     "Equity"      "Historical95"      0.95      reject      82.719       0.022513         1043           59         1           3     13         25      85         0.9   
     "Equity"      "Historical99"      0.99      accept      16.228        0.18101         1043           12         3        19.5     45      152.5     200         0.9   
     "Equity"      "EWMA95"            0.95      accept      71.635        0.12517         1043           59         1           4     13      25.75      82         0.9   
     "Equity"      "EWMA99"            0.99      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 = tbfi(vbt,'TestLevel',0.99)

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

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

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

свернуть все

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

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

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

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

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

  • 'LRatioTBFI' - Коэффициент вероятности tbfi тест

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

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

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

  • 'TBFMin' - Минимальное значение времени нахождения между отказами

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

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

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

  • 'TBFMax' - Максимальное значение времени нахождения между отказами

  • 'TestLevel' - Тестовый уровень доверия

Примечание

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

Подробнее о

свернуть все

Тест независимости между отказами (TBIF)

The tbfi функция выполняет время между тестами независимости отказов. Этот тест является расширением времени Купица до первого отказа (TUFF) теста.

TBFI был предложен Haas (2001) для проверки на независимость. Он учитывает не только время до первого сбоя, но и время между всеми отказами. Время между отказами смешанного теста смотрите tbf функция.

Алгоритмы

Коэффициент правдоподобия (тестовая статистика) теста TBFI является суммой коэффициентов правдоподобия TUFF для каждого времени между отказами. Если x количество отказов, и n 1 количество периодов до первого отказа, n 2 количество периодов между первым и вторым отказом, и, в целом, n i количество периодов между отказами i - 1 и i отказа, тогда коэффициент правдоподобия LRatioTBFI i для каждого n i основан на формуле TUFF

LRatioTBFIi=LRatioTUFF(ni)=2i=1xlog(pVaR(1pVaR)ni1(1ni)(11ni)ni1)=2(log(pVaR)+(ni1)log(1pVaR)+nilog(ni)(ni1)log(ni1))

Как и в случае с tuff test, LRatioTBFI i = −2log (pVaR), если n i = 1.

Коэффициент правдоподобия TBFI LRatioTBFI затем является суммой отдельных коэффициентов правдоподобия для всех времен между отказами

LRatioTBFI=i=1xLRatioTBFIi

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

Значение p tbfi тест является вероятностью того, что распределение хи-квадрат с x степенями свободы превышает отношение правдоподобия LRatioTBFI

PValueTBFI=1F(LRatioTBFI)

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

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

F(LRatioTBFI)<F(TestLevel)

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

Если в выборке нет отказов, тестовая статистика не определяется. Это обрабатывается так же, как тест TUFF без отказов. Для получения дополнительной информации см. tuff.

Ссылки

[1] Haas, M. «Новые методы в обратном тестировании». Финансовая инженерия, Исследовательский центр Цезарь, Бонн, 2001 год.

Введенный в R2016b