drawdown function

Drawdown

Drawdown

Compute the drawdown of a time series.

drawdown(v, relative = TRUE, summary = TRUE)

Arguments

  • v: a price series (a numeric vector)
  • relative: if TRUE, maximum drawdown is chosen according to percentage losses; else in units of v
  • summary: if TRUE, provide maximum drawdown and time when it occured; else return drawdown vector

Details

The drawdown at position t of a time series v is the difference between the highest peak that was reached before t

and the current value. If the current value represents a new high, the drawdown is zero.

Returns

If summary is FALSE, a vector of the same length as v. If summary is TRUE, a list

  • maximum: maximum drawdown

  • high: the max of v

  • high.position: position of high

  • low: the min of v

  • low.position: position of low

References

Gilli, M., Maringer, D. and Schumann, E. (2019) Numerical Methods and Optimization in Finance. 2nd edition. Elsevier. tools:::Rd_expr_doi("10.1016/C2017-0-01621-X")

Schumann, E. (2023) Financial Optimisation with R (NMOF Manual). https://enricoschumann.net/NMOF.htm#NMOFmanual

Author(s)

Enrico Schumann

See Also

drawdowns

Examples

v <- cumprod(1 + rnorm(20) * 0.02) drawdown(v)