pof

Пропорция отказов тестирует на подверженный риску значения (VaR) backtesting

Синтаксис

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

Описание

пример

TestResults = pof(vbt) генерирует тест пропорции отказов (POF) для подверженного риску значения (VaR) backtesting.

пример

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

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

TestResults = pof(vbt,'TestLevel',0.99)
TestResults=1×9 table
    PortfolioID    VaRID    VaRLevel     POF      LRatioPOF    PValuePOF    Observations    Failures    TestLevel
    ___________    _____    ________    ______    _________    _________    ____________    ________    _________

    "Portfolio"    "VaR"      0.95      accept     0.46147      0.49694         1043           57         0.99   

Используйте конструктора 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]

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

TestResults = pof(vbt,'TestLevel',0.90)
TestResults=6×9 table
    PortfolioID        VaRID         VaRLevel     POF      LRatioPOF    PValuePOF    Observations    Failures    TestLevel
    ___________    ______________    ________    ______    _________    _________    ____________    ________    _________

     "Equity"      "Normal95"          0.95      accept     0.46147       0.49694        1043           57          0.9   
     "Equity"      "Normal99"          0.99      reject      3.5118      0.060933        1043           17          0.9   
     "Equity"      "Historical95"      0.95      accept     0.91023       0.34005        1043           59          0.9   
     "Equity"      "Historical99"      0.99      accept     0.22768       0.63325        1043           12          0.9   
     "Equity"      "EWMA95"            0.95      accept     0.91023       0.34005        1043           59          0.9   
     "Equity"      "EWMA99"            0.99      reject      9.8298     0.0017171        1043           22          0.9   

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

свернуть все

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

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

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

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

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

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

Примечание

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

Больше о

свернуть все

Тест пропорции отказов (POF)

Функция pof выполняет пропорцию Купика теста отказов.

Тест POF является тестом отношения правдоподобия, предложенным Kupiec (1995), чтобы оценить, если пропорция отказов (количество отказов, разделенных на количество наблюдений), сопоставима с доверительным уровнем VaR.

Алгоритмы

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

LRatioPOF=2журнал((1pVaR)NxpVaRx(1xN)Nx(xN)x)=2[(Nx)журнал(N(1pVaR)Nx)+xжурнал(NpVaRx)]

где N является количеством наблюдений, x является количеством отказов и pVaR = 1 − VaRLevel. Эта тестовая статистическая величина асимптотически распределяется как распределение хи-квадрат с 1 степенью свободы. Свойствами логарифма,

LRatioPOF=2Nжурнал(1pVar)   если x=0.

и

LRatioPOF=2Nжурнал(pVar)   если x=N.

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

PValuePOF=1F(LRatioPOF)

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

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

PValuePOF<F(TestLevel)

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

Ссылки

[1] Kupiec, P. "Методы для Проверки Точности Моделей управления рисками". Журнал Производных. Издание 3, 1995, стр 73–84.

Введенный в R2017b