simulate

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

Описание

пример

ebts = simulate(ebts) выполняет симуляцию тестовой статистики ES. simulate функция симулирует результаты портфеля согласно предположениям распределения, обозначенным в esbacktestbysim объект, и вычисляет всю поддерживаемую тестовую статистику согласно каждому сценарию. Симулированные тестовые статистические данные используются, чтобы оценить значение ES backtests.

пример

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

Примеры

свернуть все

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

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

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

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

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

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

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

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

Pvalue=1Ms=1MI(ZsZobs)

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

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

Ссылки

[1] Acerbi, C. и Б. Сзекели. Бэктестинг ожидаемый недостаток. Декабрь 2014 MSCI Inc.

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