tbfi

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

Синтаксис

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

Описание

пример

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

пример

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

Алгоритмы

Отношение правдоподобия (тестируют статистическую величину) теста TBFI является суммой ТУФОВЫХ отношений правдоподобия в течение каждого раза между отказами. Если x является количеством отказов, и n 1 является количеством периодов до первого отказа, n 2 количество периодов между первым и вторым отказом, и, в целом, n, i является количеством периодов между отказом i1 и отказом i, то отношение правдоподобия LRatioTBFI i для каждого i n основано на ТУФОВОЙ формуле

LRatioTBFIi=LRatioTUFF(ni)=2i=1xжурнал(pVaR(1pVaR)ni1(1ni)(11ni)ni1)=2(журнал(pVaR)+(ni1)журнал(1pVaR)+niжурнал(ni)(ni1)журнал(ni1))

Как с тестом tuff, LRatioTBFI i = −2 log (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.

Ссылки

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

Введенный в R2017b