ghyp-risk-performance: Risk and Performance Measures

Description Usage Arguments Details Value Author(s) References See Also Examples

Description

Functions to compute the risk measure Expected Shortfall and the performance measure Omega based on univariate generalized hyperbolic distributions.

Usage

1
2
3
ESghyp(alpha, object = ghyp(), distr = c("return", "loss"), ...)

ghyp.omega(L, object = ghyp(), ...)

Arguments

alpha

A vector of confidence levels.

L

A vector of threshold levels.

object

A univarite generalized hyperbolic distribution object inheriting from class ghyp.

distr

Whether the ghyp-object specifies a return or a loss-distribution (see Details).

...

Arguments passed from ESghyp to qghyp and from ghyp.omega integrate.

Details

The parameter distr specifies whether the ghyp-object describes a return or a loss-distribution. In case of a return distribution the expected-shortfall on a confidence level alpha is defined as ES_alpha := E(X | X <= F^-1(alpha)) while in case of a loss distribution it is defined on a confidence level alpha as ES_alpha := E(X | X > F^-1(alpha)).

Omega is defined as the ratio of a European call-option price divided by a put-option price with strike price L (see References): Omega(L) = C(L)/P(L).

Value

ESghyp gives the expected shortfall and
ghyp.omega gives the performance measure Omega.

Author(s)

David Luethi

References

Omega as a Performance Measure by Hossein Kazemi, Thomas Schneeweis and Raj Gupta
University of Massachusetts, 2003

See Also

ghyp-class definition, ghyp constructors, univariate fitting routines, fit.ghypuv, portfolio.optimize for portfolio optimization with respect to alternative risk measures, integrate.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
  data(smi.stocks)

  ## Fit a NIG model to Credit Suisse and Swiss Re log-returns
  cs.fit <- fit.NIGuv(smi.stocks[, "CS"], silent = TRUE)
  swiss.re.fit <- fit.NIGuv(smi.stocks[, "Swiss.Re"], silent = TRUE)

  ## Confidence levels for expected shortfalls
  es.levels <- c(0.001, 0.01, 0.05, 0.1)

  cs.es <- ESghyp(es.levels, cs.fit)
  swiss.re.es <- ESghyp(es.levels, swiss.re.fit)

  ## Threshold levels for Omega
  threshold.levels <- c(0, 0.01, 0.02, 0.05)

  cs.omega <- ghyp.omega(threshold.levels, cs.fit)
  swiss.re.omega <- ghyp.omega(threshold.levels, swiss.re.fit)

  par(mfrow = c(2, 1))

  barplot(rbind(CS = cs.es, Swiss.Re = swiss.re.es), beside = TRUE,
          names.arg = paste(100 * es.levels, "percent"), col = c("gray40", "gray80"),
          ylab = "Expected Shortfalls (return distribution)", xlab = "Level")

  legend("bottomright", legend = c("CS", "Swiss.Re"), fill = c("gray40", "gray80"))

  barplot(rbind(CS = cs.omega, Swiss.Re = swiss.re.omega), beside = TRUE,
          names.arg = threshold.levels, col = c("gray40", "gray80"),
          ylab = "Omega", xlab = "Threshold level")
  legend("topright", legend = c("CS", "Swiss.Re"), fill = c("gray40", "gray80"))

  ## => the higher the performance, the higher the risk (as it should be)

Example output

Loading required package: numDeriv
Loading required package: gplots

Attaching package: 'gplots'

The following object is masked from 'package:stats':

    lowess

ghyp documentation built on May 2, 2019, 6:09 p.m.