portfolio-riskPfolio: Risk and Related Measures for Portfolios

Description Usage Arguments Details Value References


Computes Value-at-Risk and related measures for a portfolio of assets.

The functions are:

pfolioVaR computes Value-at-Risk for a portfolio of assets,
pfolioCVaRplus computes Value-at-Risk+ for a portfolio of assets,
pfolioCVaR computes Conditional Value-at-Risk for a PF of assets,
lambdaCVaR computes CVaR's atomic split value lambda,
pfolioCVaRoptim computes Conditional VaR from mean-CVaR optimization,
pfolioMaxLoss computes Maximum Loss for a portfolio of assets,
pfolioReturn computes return values of a portfolio,
pfolioTargetReturn computes the target return of a portfolio,
pfolioTargetRisk computes the target risk of a portfolio,
pfolioHist plots a histogram of the returns of a portfolio.


pfolioVaR(x, weights = NULL, alpha = 0.05) 
pfolioCVaRplus(x, weights = NULL, alpha = 0.05) 
pfolioCVaR(x, weights = NULL, alpha = 0.05) 
lambdaCVaR(n, alpha = 0.05) 
pfolioCVaRoptim(x, weights = NULL, alpha = 0.05) 

pfolioMaxLoss(x, weights = NULL)
pfolioReturn(x, weights = NULL, geometric = FALSE) 
pfolioTargetReturn(x, weights = NULL)
pfolioTargetRisk(x, weights = NULL)
pfolioHist(x, weights = NULL, alpha = 0.05, range = NULL, details = TRUE, ...)



a 'timeSeries' object, data frame or any other rectangular object which can be expressed as a matrix. The first dimension is the number of observations, we call it n, and the second is the number of assets in the data set, we call it dim.


usually a numeric vector which has the length of the number of assets. The weights measures the normalized weights of the individual assets. By default NULL, then an equally weighted set of assets is assumed.


a logical flag, should geometric returns be used, by default FALSE


a numeric value, the confidence interval, by default 0.05.


a logical value, should details be printed?


the number of observation from which the CVaR's atomic split value lambda=1-floor(alpha*n)/(alpha*n) will be evaluated.


a numeric vector of two elements limiting the plot range of the histogram. This is quite useful if one likes to compare several plots on the same scale. If range=NULL, the default value, then the range will be selected automatically.


optional arguments to be passet to the function hist.


The percentile measures of loss (or reward) are defined in the following way: Let f(x ,y) be a loss functions depending upon a decision vector x = (x_1, ..., x_n ) and a random vector y = (y_1, ..., y_m), then

pfolioVaR is the alpha-percentile of the loss distribution, a smallest value such that the probability that losses exceed or are equal to this value is greater or equal to alpha.

pfolioCVaRplus or "CVaR+" or the "upper CVaR" are the expected losses strictly exceeding VaR. This is also also called "Mean Excess Loss" and "Expected Shortfall".

pfolioCVaR is a weighted average of VaR and CVaRplus defined as CVaR = lambda*VaR + (1-lambda) CVaRplus, for 0 <= lambda <= 1.

Note, CVaR is convex, but VaR and CVaRplus may be non-convex. The following inequalities are valid: VaR <= CVaR <= CVaRplus.


returns the value of risk, VaR, for a portfolio of assets, a numeric value.

returns the conditional value of risk plus, CVaRplus, for a portfolio of assets, a numeric value.

returns the conditional value of risk, CVaR, for a portfolio of assets, a numeric value.

returns CVaR's atomic split value lambda, a numeric value.

returns the maximum loss value of the portfolio, a numeric value.

returns the total portfolio return computed from the set of assets x, a numeric vector.

returns the total return or target return computed from the set of assets x and weights weights, a numeric value.

returns the total risk (Sigma) or target risk computed from the set of assets x and weights via the formual sqrt(weights %*% cov(x) %*% weights), a numeric value.

plots a histogram of portfolio returns and adds the values for the VaR (blue), for the CVaRplus (red), and for the maximum loss (green) to the histogram plot. The function invisibly returns a list with the following elements: VaR, VaRplus, maxLoss, mean, and sd. If details is TRUE, then the result is printed.


Uryasev S. (2000); Conditional Value-at-Risk (CVaR): Algorithms and Applications, Risk Management and Financial Engineering Lab, University of Florida

Wuertz, D., Chalabi, Y., Chen W., Ellis A. (2009); Portfolio Optimization with R/Rmetrics, Rmetrics eBook, Rmetrics Association and Finance Online, Zurich.

fPortfolio documentation built on March 26, 2020, 9:17 p.m.