bin

Биномиальный тест для обратного тестирования значения риска (VaR)

Описание

пример

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

пример

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

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

TestResults = bin(vbt)
TestResults=1×9 table
    PortfolioID    VaRID    VaRLevel     Bin      ZScoreBin    PValueBin    Observations    Failures    TestLevel
    ___________    _____    ________    ______    _________    _________    ____________    ________    _________

    "Portfolio"    "VaR"      0.95      accept     0.68905      0.49079         1043           57         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]

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

TestResults = bin(vbt,'TestLevel',0.90)
TestResults=6×9 table
    PortfolioID        VaRID         VaRLevel     Bin      ZScoreBin    PValueBin    Observations    Failures    TestLevel
    ___________    ______________    ________    ______    _________    _________    ____________    ________    _________

     "Equity"      "Normal95"          0.95      accept     0.68905       0.49079        1043           57          0.9   
     "Equity"      "Normal99"          0.99      reject      2.0446      0.040896        1043           17          0.9   
     "Equity"      "Historical95"      0.95      accept      0.9732       0.33045        1043           59          0.9   
     "Equity"      "Historical99"      0.99      accept     0.48858       0.62514        1043           12          0.9   
     "Equity"      "EWMA95"            0.95      accept      0.9732       0.33045        1043           59          0.9   
     "Equity"      "EWMA99"            0.99      reject      3.6006     0.0003175        1043           22          0.9   

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

свернуть все

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

  • 'ZScoreBin' - Z-счет количества отказов

  • 'PValueBin' - P-значение bin тест

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

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

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

Примечание

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

Подробнее о

свернуть все

Биномиальный тест (Bin)

The bin функция выполняет биномиальный тест, чтобы оценить, соответствует ли количество отказов доверительному уровню VaR.

Биномиальный тест основан на нормальном приближении к биномиальному распределению.

Алгоритмы

Результат биномиального теста основан на нормальном приближении к биномиальному распределению. Предположим:

  • N - количество наблюдений.

  • p = 1VaRLevel - вероятность наблюдения отказа, если модель верна.

  • x - количество отказов.

Если отказы являются независимыми, то количество отказов распределяется как биномиальное распределение с параметрами N и p. Ожидаемое количество отказов N * p, и стандартное отклонение количества отказов составляет

Np(1p)

Тестовая статистика для bin тест является z-баллом, заданным как:

ZScoreBin=(xNp)Np(1p)

z-счет приблизительно соответствует стандартному нормальному распределению. Это приближение надежно не для малых значений N или малых значений p, а для типичных применений в обратном тестировании VaR (N = 250 или намного больше, p в области значений 1-10%) приближение дает результаты в соответствии с другими тестами.

Хвостовая вероятность bin тест является вероятностью того, что стандартное нормальное распределение превышает абсолютное значение z-балла

TailProbability=1F(|ZScoreBin|)

где F - стандартное нормальное совокупное распределение. Когда наблюдается слишком мало отказов, относительно ожидаемых отказов, PValueBin (приблизительно) вероятность наблюдать, что много отказов или меньше. Для слишком многих отказов это (приблизительно) вероятность наблюдать, что много отказов или больше.

Значение p bin тест определяется как двукратное увеличение вероятности штока. Это связано с тем, что биномиальный тест является двусторонним тестом. Если alpha задано как 1 минус уровень доверия теста, тест отклоняет, если конечная вероятность меньше половины alpha, или эквивалентно, если

PValueBin=2 TailProbability < alpha

Ссылки

[1] Jorion, P. Financial Risk Manager Handbook. 6-е издание. Wiley Finance, 2011.

Введенный в R2016b