simulate

Симулируйте ожидаемую статистику тестов дефицита (ES)

Описание

пример

ebts = simulate(ebts) выполняет симуляцию статистики тестирования ES. The simulate функция моделирует результаты портфеля в соответствии с допущениями распределения, указанными в esbacktestbysim Объект и вычисляет всю поддерживаемую статистику тестов в каждом сценарии. Моделируемая статистика тестов используется, чтобы оценить значимость обратных тестов ES.

пример

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

Примеры

свернуть все

Создайте esbacktestbysim и запустите симуляцию 1000 сценариев.

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);

The unconditional и minBiasAbsolute тестов отчет 1000 сценариев (см. Scenarios столбец в отчете).

unconditional(ebts) 
ans=3×10 table
    PortfolioID        VaRID        VaRLevel    Unconditional    PValue    TestStatistic    CriticalValue    Observations    Scenarios    TestLevel
    ___________    _____________    ________    _____________    ______    _____________    _____________    ____________    _________    _________

       "S&P"       "t(10) 95%"        0.95         accept        0.093       -0.13342         -0.16252           1966          1000         0.95   
       "S&P"       "t(10) 97.5%"     0.975         reject        0.031       -0.25011          -0.2268           1966          1000         0.95   
       "S&P"       "t(10) 99%"        0.99         reject        0.008       -0.57396         -0.38264           1966          1000         0.95   

minBiasAbsolute(ebts)
ans=3×10 table
    PortfolioID        VaRID        VaRLevel    MinBiasAbsolute    PValue    TestStatistic    CriticalValue    Observations    Scenarios    TestLevel
    ___________    _____________    ________    _______________    ______    _____________    _____________    ____________    _________    _________

       "S&P"       "t(10) 95%"        0.95          accept         0.062      -0.0014247       -0.0015578          1966          1000         0.95   
       "S&P"       "t(10) 97.5%"     0.975          reject         0.029      -0.0026674       -0.0023251          1966          1000         0.95   
       "S&P"       "t(10) 99%"        0.99          reject         0.005      -0.0060982       -0.0039004          1966          1000         0.95   

Запустите вторую симуляцию с 5000 сценарии с использованием simulate функция. Перезапустите unconditional и minBiasAbsolute тесты с использованием обновленной esbacktestbysim объект. Заметьте, что тесты теперь показывают 5000 сценариев вместе с обновленными значениями p и критическими значениями.

ebts = simulate(ebts,'BlockSize',10000,'NumScenarios',5000,'TestList',["conditional","unconditional","quantile","minBiasAbsolute","minBiasRelative"]);   
unconditional(ebts) 
ans=3×10 table
    PortfolioID        VaRID        VaRLevel    Unconditional    PValue    TestStatistic    CriticalValue    Observations    Scenarios    TestLevel
    ___________    _____________    ________    _____________    ______    _____________    _____________    ____________    _________    _________

       "S&P"       "t(10) 95%"        0.95         accept        0.0952      -0.13342         -0.17352           1966          5000         0.95   
       "S&P"       "t(10) 97.5%"     0.975         reject        0.0456      -0.25011         -0.24318           1966          5000         0.95   
       "S&P"       "t(10) 99%"        0.99         reject         0.009      -0.57396         -0.38608           1966          5000         0.95   

minBiasAbsolute(ebts,"TestLevel",0.99)
ans=3×10 table
    PortfolioID        VaRID        VaRLevel    MinBiasAbsolute    PValue    TestStatistic    CriticalValue    Observations    Scenarios    TestLevel
    ___________    _____________    ________    _______________    ______    _____________    _____________    ____________    _________    _________

       "S&P"       "t(10) 95%"        0.95          accept         0.0622     -0.0014247       -0.0021797          1966          5000         0.99   
       "S&P"       "t(10) 97.5%"     0.975          accept          0.026     -0.0026674       -0.0032702          1966          5000         0.99   
       "S&P"       "t(10) 99%"        0.99          reject          0.006     -0.0060982       -0.0054814          1966          5000         0.99   

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

свернуть все

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

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

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

Пример: ebts = simulate(ebts,'NumScenarios',1000000,'BlockSize',10000,'TestList','conditional')

Количество моделируемых сценариев, заданное с помощью разделенной разделенными запятой парами, состоящей из 'NumScenarios' и положительное целое число.

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

Количество сценариев для симуляции в одном блоке симуляции, заданное с помощью разделенной разделенными запятой парами, состоящей из 'BlockSize' и положительное целое число.

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

Индикатор, для которого моделируется тестовая статистика, задается как разделенная разделенными запятой парами, состоящая из 'TestList' и массив ячеек из векторов символов или строковые массивы со значением conditional, unconditional, quantile, minBiasAbsolute или minBiasRelative.

Типы данных: char | cell | string

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

свернуть все

esbacktestbysim (ebts), возвращенный как обновленный объект. После выполнения simulate, обновленный esbacktestbysim объект хранит моделируемую статистику тестов, которая используется для вычисления p значений и генерации результатов тестирования.

Для получения дополнительной информации о esbacktestbysim объект, см. esbacktestbysim.

Подробнее о

свернуть все

Симуляция статистики тестов и значимость тестов

Модели VaR и ES предполагают, что для каждого периода t результаты портфеля Xt имеют совокупное распределение вероятностей Pт.

При условии, что распределения Pt правильны (нулевая гипотеза), тестовая статистика моделируется:

  • Симуляция M сценарии N каждый из наблюдений, например, Xs=(X1s,...,Xts,...,XNs), с Xts~Pt, t = 1, …, N, и s = 1, …, M.

  • Для каждого моделируемого сценария Xs, вычислите интересующую вас тестовую статистику Zs = Z(Xs), s = 1, …, M.

  • Результат M моделируемые тестовые статистические значения Z1, …, ZM из распределения тестовой статистики, принимающей распределения вероятностей Pt правильны.

Значение p определяется как доля сценариев, для которых моделируемая тестовая статистика меньше, чем тестовая статистика, оцененная при наблюдаемых результатах портфеля :Zobs=Z(X1,...XN):

Pvalue=1Ms=1MI(ZsZobs)

где I(ZsZobs) - функция-индикатор со значением 1 если ZsZobs, и 0 в противном случае. Если Pтест 1 минус уровень доверия теста, результатом теста является ‘reject’ если Pvalue<Ptest.

Критическое значение определяется как минимальная моделируемая тестовая статистика Zcritс p -значение, большим или равным Pтест.

Ссылки

[1] Acerbi, C. и B. Szekely. Обратная проверка ожидаемого дефицита. MSCI Inc. Декабрь 2014 года.

Введенный в R2017b