unconditionalNormal
Unconditional expected shortfall (ES) backtest by Acerbi-Szekely with critical values for normal distributions
Description
runs the unconditional expected shortfall (ES) backtest by Acerbi-Szekely (2014)
using precomputed critical values and assuming that the returns distribution is
standard normal. TestResults
= unconditionalNormal(ebt
)
adds an optional name-value pair argument for TestResults
= unconditionalNormal(ebt
,Name,Value
)TestLevel
.
Examples
Run an Unconditional ES Backtest
Create an esbacktest
object.
load ESBacktestData ebt = esbacktest(Returns,VaRModel1,ESModel1,'VaRLevel',VaRLevel)
ebt = esbacktest with properties: PortfolioData: [1966x1 double] VaRData: [1966x1 double] ESData: [1966x1 double] PortfolioID: "Portfolio" VaRID: "VaR" VaRLevel: 0.9750
Generate the TestResults
report for the unconditional ES backtest that assumes the returns distribution is standard normal.
TestResults = unconditionalNormal(ebt,'TestLevel',0.99)
TestResults=1×9 table
PortfolioID VaRID VaRLevel UnconditionalNormal PValue TestStatistic CriticalValue Observations TestLevel
___________ _____ ________ ___________________ _________ _____________ _____________ ____________ _________
"Portfolio" "VaR" 0.975 reject 0.0054099 -0.38265 -0.34639 1966 0.99
Input Arguments
ebt
— esbacktest
object
object
esbacktest
(ebt
) object, which
contains a copy of the given data (the PortfolioData
,
VarData
, and ESData
properties) and all combinations of portfolio ID, VaR ID, and VaR levels
to be tested. For more information on creating an
esbacktest
object, see esbacktest
.
Name-Value Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Name-value arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name
in quotes.
Example: TestResults =
unconditionalNormal(ebt,'TestLevel',0.99)
TestLevel
— Test confidence level
0.95
(default) | numeric value between 0.5
and
0.9999
Test confidence level, specified as the comma-separated pair
consisting of 'TestLevel'
and a numeric value
between 0.5
and 0.9999
.
Data Types: double
Output Arguments
TestResults
— Results
table
Results, returned as a table where the rows correspond to all combinations of portfolio ID, VaR ID, and VaR levels to be tested. The columns correspond to the following information:
'PortfolioID'
— Portfolio ID for the given data.'VaRID'
— VaR ID for each of the VaR data columns provided.'VaRLevel'
— VaR level for the corresponding VaR data column.'UnconditionalNormal'
— Categorical array with categories 'accept' and 'reject' that indicate the result of the unconditional normal test.'PValue'
— P-value of the unconditional normal test, interpolated from the precomputed critical values under the assumption that the returns follow a standard normal distribution.Note
p-values <
0.0001
are truncated to the minimum (0.0001
) and p-values >0.5
are displayed as a maximum (0.5
).'TestStatistic'
— Unconditional normal test statistic.'CriticalValue'
— Precomputed critical value for the corresponding test level and number of observations. Critical values are obtained under the assumption that the returns follow a standard normal distribution.'Observations'
— Number of observations.'TestLevel'
— Test confidence level.
Note
For the test results, the terms 'accept'
and 'reject'
are used for convenience.
Technically, a test does not accept a model; rather, a test
fails to reject it.
More About
Unconditional Test by Acerbi and Szekely
The unconditional test (also known as the second Acerbi-Szekely test) scales the losses by the corresponding ES value.
The unconditional test statistic is based on the unconditional relationship
where
X
t is the portfolio outcome, that
is, the portfolio return or portfolio profit and loss for period
t.
P
VaR is the probability of VaR
failure defined as 1-VaR level.
ES
t is the estimated expected
shortfall for period t.
I
t is the VaR failure indicator on
period t with a value of 1 if
X
t < -VaR, and 0
otherwise.
The unconditional test statistic is defined as
The critical values for the unconditional test statistic, which form the basis
for table-based tests, are stable across a range of distributions. The esbacktest
class runs the
unconditional test against precomputed critical values under two distributional
assumptions: normal distribution (thin tails) using
unconditionalNormal
and t distribution
with 3 degrees of freedom (heavy tails) using unconditionalT
).
References
[1] Acerbi, C., and B. Szekely. Backtesting Expected Shortfall. MSCI Inc. December, 2014.
Version History
Introduced in R2017b
Open Example
You have a modified version of this example. Do you want to open this example with your edits?
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other bat365 country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)