pof

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

Описание

пример

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: ["Normal95"    "Normal99"    "Historical95"    ...    ]
         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,Value аргументы. 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=2log((1pVaR)NxpVaRx(1xN)Nx(xN)x)=2[(Nx)log(N(1pVaR)Nx)+xlog(NpVaRx)]

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

LRatioPOF=2Nlog(1pVar)   если x=0.

и

LRatioPOF=2Nlog(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
Для просмотра документации необходимо авторизоваться на сайте