# lossfunc: Loss Functions In ufRisk: Risk Measure Calculation in Financial TS

 lossfunc R Documentation

## Loss Functions

### Description

This functions allows for the calculation of loss functions for the selection of models.

### Usage

lossfunc(obj = list(Loss = NULL, ES = NULL), beta = 1e-04)


### Arguments

 obj a list that contains the following elements: Lossa numeric vector that contains the values of a loss series ordered from past to present; is set to NULL by default ESa numeric vector that contains the estimated values of the ES for the same time points of the loss series Loss; is set to NULL by default Please note that a list returned by the varcast function can be directly passed to lossfunc. beta a single numeric value; a measure for the opportunity cost of capital; default is 1e-04.

### Details

Given a negative return series obj$Loss, the corresponding Expected Shortfall (ES) estimates obj$ES and a parameter beta that defines the opportunity cost of capital, four different definitions of loss functions are considered.

Let K be the number of observations and r_t the observed return series. Following Sarma et al. (2003)

l_{t,1} = \{\widehat{ES}_t (\alpha) + r_t \}^2,

if -r_t > \widehat{ES}_t(\alpha)

l_{t,1} = \beta * \widehat{ES}_t (\alpha),

otherwise,

is a suitable loss function (firm's loss function), where \beta is the opportunity cost of capital. The regulatory loss function is identical to the firm's loss function with the exception of l_{t,1} = 0 for -r_t \leq \widehat{ES}_t (\alpha).

Abad et al. (2015) proposed another loss function

l_{t,a} = \{\widehat{ES}_t(\alpha) + r_t\}^2,

if -r_t > \widehat{ES}_t(\alpha)

l_{t,a} = \beta * (\widehat{ES}_t (\alpha) + r_t),

otherwise,

that, however, also considers opportunity costs for r_t > 0. An adjustment has been proposed by Feng. Following his idea,

l_{t,2} = \{\widehat{ES}_t(\alpha) + r_t\}^2,

if -r_t > \widehat{ES}_t (\alpha)

l_{t,2} = \beta * \min\{\widehat{ES}_t(\alpha) + r_t, \widehat{ES}_t(\alpha)\},

otherwise,

should be considered as a compromise of the regulatory and the firm's loss functions. Note that instead of the ES, also a series of Value-at-Risk values can be inserted for the argument obj$ES. However this is not possible if a list returned by the varcast function is directly passed to lossfunc. ### Value an S3 class object, which is a list of loss.func1 Regulatory loss function. loss.func2 Firm's loss function following Sarma et al. (2003). loss.func3 Loss function following Abad et al. (2015). loss.func4 Feng's loss function. A compromise of regulatory and firm's loss function. ### Author(s) • Sebastian Letmathe (Scientific Employee) (Department of Economics, Paderborn University) • Dominik Schulz (Scientific Employee) (Department of Economics, Paderborn University), ### References Abad, P., Muela, S. B., & MartÃ­n, C. L. (2015). The role of the loss function in value-at-risk comparisons. The Journal of Risk Model Validation, 9(1), 1-19. Sarma, M., Thomas, S., & Shah, A. (2003). Selection of Value-at-Risk models. Journal of Forecasting, 22(4), 337-358. ### Examples  # Example for Walmart Inc. (WMT) prices <- WMT$price.close
output <- varcast(prices)
Loss <- -output$ret.out ES <- output$ES
loss.data <- list(Loss = Loss, ES = ES)
lossfunc(loss.data)

# directly passing an output object of 'varcast()' to 'lossfunc()'
x <- WMT\$price.close
output <- varcast(prices)
lossfunc(output)



ufRisk documentation built on Oct. 22, 2023, 9:07 a.m.