runtests

Запустите весь ожидаемый недостаток backtests (ES) для объекта esbacktestbysim

Синтаксис

TestResults = runtests(ebts)
TestResults = runtests(ebts,Name,Value)

Описание

пример

TestResults = runtests(ebts) запускает все тесты для объекта esbacktestbysim. runtests сообщает только о результате завершающего испытания. Для тестовых деталей, таких как p - значения, запускает отдельные тесты:

пример

TestResults = runtests(ebts,Name,Value) добавляет дополнительный аргумент пары "имя-значение" для TestLevel.

Примеры

свернуть все

Создайте объект esbacktestbysim.

load ESBacktestBySimData
rng('default'); % for reproducibility
ebts = esbacktestbysim(Returns,VaR,ES,"t",...
       'DegreesOfFreedom',10,...
       'Location',Mu,...
       'Scale',Sigma,...
       'PortfolioID',"S&P",...
       'VaRID',["t(10) 95%","t(10) 97.5%","t(10) 99%"],...
       'VaRLevel',VaRLevel);

Сгенерируйте отчет TestResults для всего ES backtests.

TestResults = runtests(ebts,'TestLevel',0.99)
TestResults=3×6 table
    PortfolioID        VaRID        VaRLevel    Conditional    Unconditional    Quantile
    ___________    _____________    ________    ___________    _____________    ________

       "S&P"       "t(10) 95%"        0.95        reject          accept         reject 
       "S&P"       "t(10) 97.5%"     0.975        reject          accept         reject 
       "S&P"       "t(10) 99%"        0.99        reject          reject         reject 

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

свернуть все

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

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

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

Пример: TestResults = runtests(ebts,'TestLevel',0.99)

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

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

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

свернуть все

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

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

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

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

  • 'Conditional' — Категориальный массив с категориями 'принимает' и 'отклоняет' указание на результат условного теста

  • 'Unconditional' — Категориальный массив с категориями 'принимает' и 'отклоняет' указание на результат безусловного теста

  • 'Quantile' — Категориальный массив с категориями 'принимает' и 'отклоняет' указание на результат теста квантиля

Примечание

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

Введенный в R2017b