bin

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

Описание

пример

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

пример

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

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

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

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

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

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

Примечание

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

Больше о

свернуть все

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

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

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

Алгоритмы

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

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

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

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

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

Np(1p)

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

ZScoreBin=(xNp)Np(1p)

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

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

TailProbability=1F(|ZScoreBin|)

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

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

PValueBin=2 TailProbability < alpha

Ссылки

[1] Jorion, P. Финансовое руководство менеджера по рискам. 6-й выпуск. Финансы Вайли, 2011.

Введенный в R2017b
Для просмотра документации необходимо авторизоваться на сайте