Условный ожидаемый дефицит (ES) бэктест Acerbi и Szekely
запускает условный бэктест ES Acerbi-Szekely (2014). Условный тест имеет два базовых теста, предварительный бэктест Value-at-Risk (VaR), который задается с помощью аргумента пары "имя-значение" TestResults
= conditional(ebts
)VaRTest
, и автономный условный ES backtest. A 'reject'
результат на любом базовом тесте создает 'reject'
результат условного теста.
[
добавляет необязательные аргументы пары "имя-значение" для TestResults
,SimTestStatistic
] = conditional(ebts
,Name,Value
)TestLevel
и VaRTest
.
Создайте 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);
Сгенерируйте отчет об условном тесте ES.
TestResults = conditional(ebts)
TestResults=3×14 table
PortfolioID VaRID VaRLevel Conditional ConditionalOnly PValue TestStatistic CriticalValue VaRTest VaRTestResult VaRTestPValue Observations Scenarios TestLevel
___________ _____________ ________ ___________ _______________ ______ _____________ _____________ _______ _____________ _____________ ____________ _________ _________
"S&P" "t(10) 95%" 0.95 reject reject 0 -0.092302 -0.043941 "pof" accept 0.70347 1966 1000 0.95
"S&P" "t(10) 97.5%" 0.975 reject reject 0.001 -0.11714 -0.052575 "pof" accept 0.40682 1966 1000 0.95
"S&P" "t(10) 99%" 0.99 reject reject 0.003 -0.14608 -0.085433 "pof" accept 0.11536 1966 1000 0.95
ebts
— esbacktestbysim
объектesbacktestbysim
(ebts
) объект, который содержит копию данных (PortfolioData
, VarData
, ESData
, и Distribution
свойства) и все комбинации тестируемых уровней VaR, VaR и VaR. Для получения дополнительной информации о создании esbacktestbysim
объект, см. esbacktestbysim
.
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
[TestResults,SimTestStatistic] = conditional(ebts,'TestLevel',0.99)
'TestLevel'
- Тестовый уровень доверия0.95
(по умолчанию) | числовое значение между 0
и 1
Уровень тестового доверия, заданный как разделенная запятой пара, состоящий из 'TestLevel'
и числовое значение между 0
и 1
.
Типы данных: double
'VaRTest'
- Индикатор для обратного теста VaR'pof'
(по умолчанию) | вектор со значением 'tl'
, 'bin'
, 'pof'
, 'tuff'
, 'cc'
, 'cci'
, 'tbf'
, или 'tbfi'
| строковые массивы со значением 'tl'
, 'bin'
, 'pof'
, 'tuff'
, 'cc'
, 'cci'
, 'tbf'
, или 'tbfi'
Индикатор для обратного теста VaR, заданный как разделенная разделенными запятой парами, состоящая из 'VaRTest'
и вектор символов или строковые массивы со значением 'tl'
, 'bin'
, 'pof'
, 'tuff'
, 'cc'
, 'cci'
, 'tbf'
, или 'tbfi'
. Для получения дополнительной информации об этих бэктестах VaR смотрите varbacktest
.
Примечание
Заданное VaRTest
выполняется с использованием той же TestLevel
значение, заданное с помощью TestLevel
аргумент пары "имя-значение" в conditional
функция.
Типы данных: char
| string
TestResults
- РезультатыРезультаты, возвращенные как таблица, где строки соответствуют всем комбинациям тестируемых уровней идентификатора портфеля, идентификатора VaR и VaR. Столбцы соответствуют следующей информации:
'PortfolioID'
- Идентификатор портфеля для данных.
'VaRID'
- идентификатор VaR для каждого из предоставленных столбцов данных VaR.
'VaRLevel'
- уровень VaR для соответствующего столбца данных VaR.
'Conditional'
- Категориальный массив с категориями 'accept' и 'reject', указывающий на результат условного теста. Этот результат объединяет результаты 'ConditionalOnly'
столбец и тест VaR.
'ConditionalOnly'
- Категориальный массив с категориями 'accept' и 'reject', указывающий результат автономного условного теста, независимо от результата теста VaR.
'PValue'
- P -значение автономного условного теста (для 'ConditionalOnly'
столбец).
'TestStatistic'
- Условная тестовая статистика (для 'ConditionalOnly'
столбец).
'CriticalValue'
- Критическое значение для условного теста.
'VaRTest'
- Строковые массивы, указывающий выбранный тест VaR, заданный VaRTest
аргумент.
'VaRTestResult'
- Категориальный массив с 'accept'
категорий и
'reject'
указывает результат VaR-теста, выбранного с 'VaRTest'
аргумент.
'VaRTestPValue'
- значение P для обратного теста VaR. Если тест светофора (tl
) используется, это 1 минус тест светофора 'Probability'
значение столбца.
'Observations'
- Количество наблюдений.
'Scenarios'
- Количество сценариев, моделируемых для получения p значений.
'TestLevel'
- Тестируйте доверительный уровень.
Примечание
Для результатов тестирования условия 'accept'
и 'reject'
используются для удобства. Технически тест не принимает модель; скорее тест не может его отклонить.
SimTestStatistic
- Моделируемые значения тестовой статистикиМоделируемые значения тестовой статистики, возвращенные как NumVaRs
-by- NumScenarios
числовой массив.
Тест conditional также известен как первый тест Acerbi-Szekely.
Условная тестовая статистика основана на условной зависимости
где
X
t - результат портфеля, то есть возврат портфеля или прибыль и убыток портфеля за период t.
VaR
t - предполагаемая VaR для периода t.
ES
t - предполагаемая нехватка средств за период t.
Количество отказов определяется как
где
N
количество периодов в тестовом окне (t = 1
, …, N
).
I
t - индикатор отказа VaR на t периода со значением 1
если X
t < -VaR, и 0
в противном случае.
Условная тестовая статистика определяется как:
Условный тест имеет две части. backtest VaR, заданный VaRTest
Аргумент пары "имя-значение" необходимо выполнить для количества отказов (NumFailures
), и выполняется автономный условный тест для условной тестовой статистики Z
Cond. Условный тест принимает модель только, когда тест VaR и автономный условный тест принимают модель.
При условии, что распределительные допущения верны, ожидаемое значение тестовой статистики Z
cond, принимая, по крайней мере, один отказ VaR, 0
.
Это выражается как:
Отрицательные значения тестовой статистики указывают на недооценку риска. Условный тест является односторонним тестом, который отклоняется, когда есть доказательства того, что модель недооценивает риск (технические детали нулевых и альтернативных гипотез см. в Acerbi-Szekely, 2014). Условный тест отклоняет модель, когда p -значение меньше 1
минус уровень доверия теста.
Для получения дополнительной информации о шагах моделирования тестовой статистики и деталях для расчета p значений и критических значений, см. simulate
.
Условная тестовая статистика не определена (NaN
) при отсутствии отказов VaR в данных (NumFailures
= 0
).
Значение p устанавливается равным NaN
в этих случаях и результатом теста является 'accept'
, потому что нет никаких доказательств недооценки риска.
Точно так же моделируемая условная тестовая статистика не определена (NaN
) для сценариев без отказов VaR. Эти сценарии отбрасываются для оценки значимости теста. При условии, что распределительные допущения верны, , поэтому значимость вычисляется по сценариям с по крайней мере одним отказом (NumFailures
> 0
). Количество сценариев, представленных conditional
тестовая функция - это количество сценариев с по крайней мере одним отказом VaR. Количество представленных сценариев может быть меньше, чем общее количество моделируемых сценариев. Критическое значение оценивается по сценариям с по крайней мере одним отказом VaR. Если моделируемая тестовая статистика NaN
для всех сценариев критическое значение устанавливается равным NaN
. Сценарии без отказов более вероятны, так как ожидаемое количество отказов Np
VaR становится меньше.
[1] Acerbi, C. and Szekely, B. Backtesting Ожидаемый дефицит. MSCI Inc. Декабрь 2014 года.
bin
| cc
| cci
| esbacktestbyde
| esbacktestbysim
| minBiasAbsolute
| minBiasRelative
| pof
| quantile
| runtests
| simulate
| summary
| tbf
| tbfi
| tl
| tuff
| unconditional
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.