Main Content

minBiasRelative

Minimally biased relative test for Expected Shortfall (ES) backtest by Acerbi-Szekely

Since R2020b

Description

example

TestResults = minBiasRelative(ebts) runs the relative version of the minimally biased Expected Shortfall (ES) back test by Acerbi-Szekely (2017) using the esbacktestbysim object.

example

[TestResults,SimTestStatistic] = minBiasRelative(ebts,Name,Value) specifies options using one or more name-value pair arguments in addition to the input arguments in the previous syntax.

Examples

collapse all

Create an esbacktestbysim object.

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

Generate the TestResults and the SimTestStatistic reports for the minBiasRelative ES backtest.

[TestResults,SimTestStatistic] = minBiasRelative(ebts)
TestResults=3×10 table
    PortfolioID        VaRID        VaRLevel    MinBiasRelative    PValue    TestStatistic    CriticalValue    Observations    Scenarios    TestLevel
    ___________    _____________    ________    _______________    ______    _____________    _____________    ____________    _________    _________

       "S&P"       "t(10) 95%"        0.95          reject         0.003       -0.10509         -0.056072          1966          1000         0.95   
       "S&P"       "t(10) 97.5%"     0.975          reject             0       -0.15603         -0.073324          1966          1000         0.95   
       "S&P"       "t(10) 99%"        0.99          reject             0       -0.26716            -0.104          1966          1000         0.95   

SimTestStatistic = 3×1000

    0.0860    0.0284   -0.0480    0.0176    0.0262    0.0309   -0.0107    0.0361   -0.0171   -0.0154   -0.0247    0.0047    0.0055    0.0217    0.0073    0.0519    0.0388    0.1023    0.0516   -0.0326   -0.0203    0.0192   -0.0022   -0.0198   -0.0205    0.0036    0.0285    0.0462   -0.0134   -0.0335   -0.0301    0.0223   -0.0291   -0.0494   -0.0246   -0.0075    0.0060    0.0516    0.0498   -0.0020   -0.0008   -0.0060   -0.1238   -0.0222    0.0447    0.0352   -0.0422   -0.0667    0.0429    0.0079
    0.1145    0.0177   -0.0741    0.0357    0.0505    0.0275   -0.0136    0.0421   -0.0190   -0.0230   -0.0074    0.0098    0.0209    0.0229   -0.0012    0.0561    0.0421    0.1078    0.0530   -0.0306   -0.0167    0.0193    0.0014   -0.0214   -0.0214   -0.0224    0.0185    0.0730   -0.0089   -0.0278   -0.0458    0.0348   -0.0066   -0.0522   -0.0304   -0.0095   -0.0073    0.0490    0.0575   -0.0118   -0.0051    0.0058   -0.1318   -0.0280    0.0349    0.0473   -0.0522   -0.0894    0.0420    0.0120
    0.1435   -0.0195   -0.0915    0.0478    0.0796    0.0397   -0.0022    0.0282   -0.0055   -0.0587    0.0631    0.0314    0.0446    0.0340    0.0034    0.0706    0.0652    0.1414    0.0783    0.0148   -0.0196    0.0057    0.0395   -0.0479   -0.0352   -0.0644    0.0034    0.0960   -0.0064   -0.0081   -0.0651    0.0436    0.0241   -0.0357   -0.0170    0.0242   -0.0282    0.0730    0.0449   -0.0388    0.0169    0.0506   -0.1160   -0.0663    0.0338    0.0610   -0.0815   -0.1285    0.0363    0.0209

Input Arguments

collapse all

esbacktestbysim (ebts) object, which contains a copy of the given data (the PortfolioData, VarData, ESData, and Distribution properties) and all combinations of portfolio IDs, VaR IDs, and VaR levels to be tested. For more information on creating an esbacktestbysim object, see esbacktestbysim.

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: minBiasRelative(ebts,'TestLevel',0.99)

Test confidence level, specified as the comma-separated pair consisting of 'TestLevel' and a numeric value between 0 and 1.

Data Types: double

Output Arguments

collapse all

Results, returned as a table where the rows correspond to all combinations of portfolio IDs, VaR IDs, 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

  • 'MinBiasRelative' — Categorical array with categories'accept' and 'reject' that indicate the result of the minBiasRelative test

  • 'PValue'p-value for the minBiasRelative test

  • 'TestStatistic'minBiasRelative test statistic

  • 'CriticalValue'— Critical value for minBiasRelative test

  • 'Observations'— Number of observations

  • 'Scenarios' — Number of scenarios simulated to obtain p-values

  • '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.

Simulated values of the test statistic, returned as a NumVaRs-by-NumScenarios numeric array.

More About

collapse all

Minimally Biased Test, Relative Version by Acerbi and Szekely

The relative version of the Acerbi-Szekely test ([1]) computes the TestStatistic in the units of data.

The absolute version of the minimally biased test statistic is given by

Zminbiasrel=1Nt=1N1ESt(EStVaRt1pVaR(Xt+VaRt)_)

where

Xt is the portfolio outcome, that is, the portfolio return or portfolio profit and loss for period t.

VaRt is the essential VaR for period t.

ESt is the expected shortfall for period t.

pVaR is the probability of VaR failure, defined as 1 - VaR level.

N is the number of periods in the test window (t = 1,...N).

(x)_ is the negative part function defined as (x)_ = max(0,-x).

Significance of the Test

Negative values of the test statistic indicate risk underestimation.

The minimally biased test is a one-sided test that rejects the model when there is evidence that the model underestimates risk (for technical details, see Acerbi-Szekely [1] and [2]). The test rejects the model when the p-value is less than 1 minus the test confidence level. For more information on the steps to simulate the test statistics and details on the computation of the p-values and critical values, see simulate.

ES backtests are necessarily approximated in that they are sensitive to errors in the predicted VaR. However, the minimally biased test has only a small sensitivity to VaR errors and the sensitivity is prudential, in the sense that VaR errors lead to a more punitive ES test. For details, see Acerbi-Szekely ([1] and [2]). When distribution information is available using the minimally biased test is recommended.

References

[1] Acerbi, Carlo, and Balazs Szekely. "General Properties of Backtestable Statistics." SSRN Electronic Journal. (January, 2017).

[2] Acerbi, Carlo, and Balazs Szekely. "The Minimally Biased Backtest for ES." Risk. (September, 2019).

[3] Acerbi, C. and D. Tasche. "On the Coherence of Expected Shortfall." Journal of Banking and Finance. Vol. 26, 2002, pp. 1487-1503.

[4] Rockafellar, R. T. and S. Uryasev. "Conditional Value-at-Risk for General Loss Distributions." Journal of Banking and Finance. Vol. 26, 2002, pp. 1443-1471.

Version History

Introduced in R2020b